繁体   English   中英

带有PHP值的表单提交MySQL-未定义索引

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM