如何检查PHP中是否按下了输入类型按钮

How to check if input type button is pressed in PHP?

本文关键字:输入 按钮 类型 是否 何检查 检查 PHP      更新时间:2023-09-26

isset()函数可以用来检查输入类型submit是否被按下,但有没有方法可以检查输入类型按钮是否被按下?

在我的代码中,按钮只调用.Onclick()事件上的一个函数,然后刷新页面并在PHP中创建一个数据库条目。。。我希望它只在按下按钮后才进入。。。由于其他原因,我无法使用提交类型。。。以下是一些代码:

function send()
{
    var events = document.getElementById("event").value;
    location.href = "calm.php?day=" + xx + "&month=" + yy + "&year=" +
                    zz + "&events=" + events;
}
<input name="Button"
       type="button"
       id="submit"
       onclick="send(this.form)"
       value="Button" />
<?php
    session_start();
    include_once "connect_to_mysql.php";
    $day = $_GET['day'];
    $month = $_GET['month'];
    $year = $_GET['year'];
    $events = $_GET['events'];
    $userid = $_SESSION['id'];
    if (isset($_POST['button']))
    {
        $sql = mysql_query("INSERT INTO events (userid,month,day,year,events)
                            VALUES('$userid','$month','$day', '$year','$events')")
               or die (mysql_error());
    }
?>

isset($_POST['Button'])您刚刚错过了大写的B。您需要将其与输入的name属性进行相同的匹配。

您需要使用ajax来实现这一点。因此,当用户单击此按钮时,页面不会刷新。。应该有一个页面后面看到为用户做这件事。每当他点击按钮,它就会访问该页面并上传你想要的任何数据。。。

编辑:或者你可以在表单中添加一个隐藏的输入,当点击按钮时,隐藏的输入值会变为true。。。然后从php代码中,您可以使用isset或其他函数来验证用户是否单击了按钮。。。

在您的示例中,最简单的方法是向传入的参数添加一个额外的变量;button_press=true或类似的东西,然后当您接收信息

时,您就会知道按钮已被按下

'ocrizak'回答正确。你的按钮名称是"按钮",你试图检查点击"按钮"的存在,两者都不同。在这种情况下,如果您不确定出了什么问题,可以使用打印整个POST阵列

print_r($_POST)

这将显示表单中所有提交的值,包括按钮

使用isset()是检查表单元素是否存在的正确方法

使用

if(isset($_POST['Button'])){
  //code block for insertion,validation etc //
}

isset()函数不适用于input-type=按钮。因此,如果我们仍然想使用button,我们必须使用inputtype=submit而不是button,或者一些隐藏类型。