【问题标题】:Simple PHP button to send to next page简单的 PHP 按钮发送到下一页
【发布时间】:2012-01-02 21:27:08
【问题描述】:

我有这个:

echo "<form method='post' action='{$_SERVER['PHP_SELF']}?pagenum=$pagenum'>";
echo "<input type='hidden' value='";
echo htmlspecialchars($pesquisa);
echo "' name='pesquisa'><INPUT TYPE='submit' VALUE='Proxima pagina'></form>";

但我只需要一个按钮,当第一次单击时,它会发送到第二页。当它再次点击第二页时,发送第三页,依此类推。我该如何以简单的方式做到这一点?

【问题讨论】:

标签: php search button pagination


【解决方案1】:

您应该只使用链接而不是表单。如果它必须看起来像一个按钮,则可以使用图像。

echo "<a href=\"{$_SERVER['PHP_SELF']}?pagenum=$pagenum\"><img src=\"button.jpg\" /></a>";

【讨论】:

  • 同意,但 PHP 字符串使用单引号代替双引号可能会提高速度,如下所示:echo '&lt;a href="', $_SERVER['PHP_SELF'], '?pagenum=', $pagenum, '"&gt;&lt;img src="button.jpg"&gt;&lt;/a&gt;';
  • 没有理由担心这种微优化。性能差异可以忽略不计。
  • 事实上,我最初使用单引号(它们更快!)但后来我将其切换回来,因为提问者使用了双引号
  • 至于让它看起来像一个按钮,你可以给anchor一个class,在CSS中让它显示为块,文本缩进-9999,根据需要设计。双引号和单引号微优化几乎是愚蠢的。
  • 我没有微优化,我只是尝试只使用单个:)
【解决方案2】:

假设 $pagenum 从 0 开始。

if($_POST['pesquisa'])
{
    $pagenum++;
}
else
{
    $pagenum = 0;
}

这样你的第一个页面视图你不会有一个 $_POST['pagenum'] 所以它设置为 0。之后你将有一个作为你传递它的值,然后你增加下一个按钮按下的值。

【讨论】:

  • 好的,我知道了,但是如何定义变量 $pagenum?如果我不这样做,我会在运行该脚本时收到错误:注意:未定义变量:第 35 行 J:\xampp\htdocs\pesquisa3.php 中的 pagenum
【解决方案3】:

这里是按钮:

$pesquisa = 'label';
$pagenum = 100500;

echo "<input type='button' onclick='location.href=\"{$_SERVER['PHP_SELF']}?pagenum={$pagenum}\"'";
echo " value='" . htmlspecialchars($pesquisa) . "'/>";

将当前页面更改为下一个页面的所有逻辑都显示在以前的答案中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-10-31
    • 1970-01-01
    • 2012-08-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-17
    相关资源
    最近更新 更多