代码之家  ›  专栏  ›  技术社区  ›  Remus Rigo

在PHP中检测单击提交按钮

php
  •  1
  • Remus Rigo  · 技术社区  · 14 年前

    我有一个PHP文件,其中包含一个表单(包含两个输入框和一个提交按钮),用于更新联系人。我设法用联系人的数据填充字段,但我无法检测是否单击了提交按钮。

    窗体如下

    echo "<form action=Contact.php><table>".
    "<tr><td>First Name</td><td><input type=text size=75% name=FirstName value='".$row['FirstName']."'></td></tr>".
    "<tr><td>Last Name</td><td><input type=text size=75% name=LastName value='".$row['LastName']."'></td></tr>".
    "<tr><td colspan=2><input type=submit name=UpdateContact value=Update></td></tr>".
    "</table></form>";
    

    如果单击按钮,此代码应输出“已单击”消息。

    if (isset($_POST['UpdateContact']))
    {
       echo "<p>clicked";
    }
    else
    {
       echo "<p>not clicked";
    }
    

    有人能帮我或告诉我我做错了什么吗

    (我希望从同一个php文件将联系人的数据填入From中,并更新数据库)

    2 回复  |  直到 7 年前
        1
  •  5
  •   Matt user129975    11 年前

    默认值 method 因为表单是get,所以要么将表单的method属性设置为“post”,要么将php中的$\u post更改为$\u get。

    echo "<form method=post action=Contact.php><table>".
    "<tr><td>First Name</td><td><input type=text size=75% name=FirstName value='".$row['FirstName']."'></td></tr>".
    "<tr><td>Last Name</td><td><input type=text size=75% name=LastName value='".$row['LastName']."'></td></tr>".
    "<tr><td colspan=2><input type=submit name=UpdateContact value=Update></td></tr>".
    "</table></form>";
    

    if (isset($_GET['UpdateContact']))
    {
       echo "<p>clicked";
    }
    else
    {
       echo "<p>not clicked";
    }
    
        2
  •  0
  •   Kapil D    14 年前

    您确定您的代码正在访问PHP文件吗?如果是,那么首先要检查的是请求类型。使用$\u server['request\u method']

    如果点击并获取按钮,它将给出文章,以防使用类似url的方式访问页面。google.com/contact.php。 另外,您可能需要在表单操作的第一行中添加method=“post”form action=contact.php。