[英]Form with value PHP submit MySQL - undefined index
我目前正在尝试这样做,如果有人按下某个按钮,例如“接受应用程序”,它将在数据库中将“活动”的值从0更新为1。这是我所做的,但是显然无法正常工作。
处理部分:
if(isset($_REQUEST['acceptapplication'])){
$acceptid = $_POST['acceptid'];
$SQL = "UPDATE `users` SET `active`='1' WHERE id = $acceptid";
$result = mysql_query($SQL); }
和我的形式:
<form action='' name='acceptid' method='acceptapplication'>
<input value='<?php echo $charid ?>' type='submit'/>
</form>
在此示例中,charid代表数字7。我希望它执行以下查询:
UPDATE users
SET active
='1'WHERE ID = 7
我希望charid是一个值的原因是因为该值在所有情况下都不会相同。 因此,如果我能设法解决这个问题将是一件好事。
此method='acceptapplication'
是错误的。 您正在以GET
发送。 您还可以接受SQL注入。 使用参数化查询。
尝试将其更改为
<form action='' name='acceptid' method='POST'>
然后它将作为POST
请求处理。
请参阅此以获取更多信息: https : //developer.mozilla.org/en-US/docs/Web/HTML/Element/form
实际上,查看完整个表格后,您还有其他一些问题。
<form method='POST'>
<input value='<?php echo $charid ?>' type='hidden' name='acceptid'/>
<input type="submit" value="Submit" />
</form>
请注意,不需要action=''
,无需执行该action
将请求发送到同一页面。
但是,未定义的索引通知是由$_POST['acceptid']
引起的,因为未定义/填充$_POST
。
您应该使用发布方法
<form action='' name='acceptid' method='post'>
表单的方法错误,您需要使用POST方法传递参数,因此以后可以通过$ _POST ['id']检查查询。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.