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

时间:2016-07-20 19:39:11

标签: php mysql forms

如果有人按下按钮,我目前正试图这样做,例如"接受申请"它会更新"活跃"在数据库中从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.我希望它执行以下查询:

更新users设置active =&#39; 1&#39; WHERE id = 7

我希望charid成为值的原因是因为在所有场合中值都不一样。因此,如果我能成功完成这项工作,那就好了。

3 个答案:

答案 0 :(得分:0)

$(document).ready()错了。您要发送method='acceptapplication'。您也可以使用SQL注入。使用参数化查询。

尝试将其更改为

GET

然后它将作为<form action='' name='acceptid' method='POST'> 请求进行处理。

有关详情,请参阅此处:https://developer.mozilla.org/en-US/docs/Web/HTML/Element/form

实际上,在查看整个表单后,您还有其他一些问题。

POST

如果没有<form method='POST'> <input value='<?php echo $charid ?>' type='hidden' name='acceptid'/> <input type="submit" value="Submit" /> </form> 它将请求发送到同一页面,则不需要注意action=''

虽然未定义的索引通知是由action引起的,因为$_POST['acceptid']未定义/填充。

答案 1 :(得分:0)

你应该使用post方法

 <form action='' name='acceptid' method='post'>

答案 2 :(得分:0)

表单的方法是错误的,您需要使用POST方法传递参数,因此稍后您可以通过$ _POST [&#39; id&#39;]检查查询。