PHP GET 的复杂问题

Complicated problems with PHP GET

我有一个 form 输入匹配号码并通过 PHP GET 提交给 url,比如 test.php?match=

我添加了箭头以便于使用(时间对最终用户很重要)向上一场比赛和向下一场比赛,只要您不先输入数字,它们就可以正常工作。箭头添加数字 OK,我可以从 0 开始向上,但如果我从另一个数字开始,它会工作一次但从 URL 中删除数字(例如,导航到 test.php?match=3 并按右箭头显示匹配 4 但 URL 更改为 test.php?match= )

这是我的代码:

<?php
$next = $_GET["match"] + "1";
$last = $_GET["match"] - "1";
echo "<form action=\"test.php\" method=\"GET\">
    Match<br>
    <input style=\"font-size:24px;\" autofocus=\"autofocus\" type=\"number\" size=\"4\" name=\"match\" value=\"" . $_GET["match"] . "\">
    <a href=\"sql.php?match=\"><button style=\"font-size:24px;\">Show All</button></a>
    <a href=\"sql.php?match=" . $last . "\"><button style=\"font-size:24px;\"><</button></a>
    <a href=\"sql.php?match=" . $next . "\"><button style=\"font-size:24px;\">></button></a>
    <input style=\"font-size:24px;\" type=\"submit\" value=\"Submit\">
    </form>";
?>

谢谢!

尝试用这个替换你的表格:

echo "<form action= 'test.php' method='GET'>
        Match<br>
        <input style='font-size:24px;' autofocus='autofocus' type='number' size='4' name='match' value='" . $_GET["match"] . "'>
        <a href='sql.php?match='><button style='font-size:24px;'>Show All</button></a>
        <a href='sql.php?match=" . $last . "' style = 'padding: 5px; border-radius: 5px; background: rgb(240, 240, 240); border: 1px solid silver;'><<<</a>
        <a href='sql.php?match=" . $next . "' style = 'padding: 5px; border-radius: 5px; background: rgb(240, 240, 240); border: 1px solid silver;'>>>></a>
        <input style='font-size:24px;' type='submit' value='Submit'>
        </form>";

如果单击其中的 <button><a> 不会将您定向到 link。看来您点击的是 <button> 而不是 <a>。因此,作为一个建议,您可以设置 <a> 样式,使其显示为按钮。

也许这样的东西就是你想要的:

<?php
    $next = $_GET["match"] + "1";
    $last = $_GET["match"] - "1";
?>

<form action="" method="GET">
    Match<br>
    <input style="font-size:24px;" autofocus="autofocus" type="number" size="4" name="match" value="<?php echo $_GET['match'] ?>">
    <button style="font-size:24px;"><a href="?" style="text-decoration:none; color:#000;">Show All</a></button>
    <button style="font-size:24px;"><a href="?match=<?php echo $last ?>" style="text-decoration:none; color:#000;">&lt;</a></button>
    <button style="font-size:24px;"><a href="?match=<?php echo $next ?>" style="text-decoration:none; color:#000;">&gt;</a></button>
    <input style="font-size:24px;" type="submit" value="Submit">
</form>

我觉得把php和html形式分开比较好(不要回显形式,只回显你想传递的值)