0

如果此代码已被单击,我如何检查 PHP 以便我可以在 if 语句中使用它?

<form id="rating" action="index.php" method="post">
    <a href="#" onclick="document.getElementById('rating').submit();">Rating</a>
</form>

因此,如果单击它,我想使用此查询:

if () {
$result = mysqli_query($con,"SELECT * FROM users WHERE `approved` = 1 ORDER BY `rating`");
}
4

2 回答 2

4

您必须添加一个输入,例如<input type="hidden" name="hidden_element" value="data"/>您的表单,否则服务器将无法接收 POST 数据。

然后在index.php脚本中您可以检查是否$_POST['hidden_element']已设置。

对于您的示例:

if (isset($_POST['hidden_element']) {
$result = mysqli_query($con,"SELECT * FROM users WHERE `approved` = 1 ORDER BY `rating`");
}
于 2013-07-13T23:30:37.830 回答
0

因此,由于您当前的表单没有提交任何数据,我喜欢这样的技术,即如果多个按钮在一个表单内,每个按钮都应该有其专有名称和一种提交类型,并且在 php 上您检查像 if (this button was pressed then) else if (this button was pressed then) else (redirect in none or what ever you need to do when landed)

您的表单,我将 ahref 更改为输入类型,并使用按钮名称提交

<form id="rating" action="index.php" method="post">
      <input type="submit" name="button"
       onclick="document.getElementById('rating').submit();">Rating
</form>

php 动作应该是这样的,你可以稍后在这里实现 ajax 调用

    if (isset($_POST['button']) === true && empty($_POST['button']) === tre) 
    {
    $result = mysqli_query($con,"SELECT * FROM users WHERE `approved` = 1 ORDER BY `rating`");
    }
于 2013-07-13T23:34:38.863 回答