检测点击PHP中的提交按钮

时间:2010-03-27 17:59:38

标签: php

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

表格看起来像这样

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文件中填写联系人的数据并从中更新数据库)

2 个答案:

答案 0 :(得分:5)

表单的默认method是GET,因此要么将表单的方法属性设置为“post”,要么将PHP中的$ _POST更改为$ _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";
}

答案 1 :(得分:0)

你确定你的代码到达了php文件吗?如果是,那么第一个想要检查的是请求类型..使用$ _SERVER ['REQUEST_METHOD']

如果点击该按钮,它将发出POST,如果使用像google.com/Contact.php这样的URL访问页面,则会获得GET。 另外,你可能需要在表格动作的第一行添加METHOD =“POST”“form action = Contact.php