每次点击提交数组元素的名称时,我都在对保存到数据库中的更改进行投票。在当前回显元素之后显示的元素被输入到数据库中,而不是我单击的元素。关于如何使元素从数组我点击保存到数据库的建议?我似乎想不明白。
我试过使用lists
和unshift
仍然得到相同的结果。
假设回显显示表单中值的example2 on。我点击example2,但example1被保存在数据库中。我不知道怎么解决这个问题。谢谢你的帮助。
下面是我的代码:
我使用的数组设置:
$array = array("example1","example2","example3");
shuffle($array);
foreach($array as $random);
<?php echo array_pop($random);?>
HTML: <tbody>
<tr>
<form action="Voting_action.php" method="post">
<td>
<input type="submit" class="buttontable1" value="<?php echo $random ?>" name="name"/>
</td>
</form>
</tr>
</tbody>
PHP:行动
$mysqli = new mysqli("", "", "", "");
if ($mysqli->connect_error) {
echo "Failed to connect to MySQL: (" . $mysqli->connect_error . ") " . $mysqli->connect_error;
}
if (!$mysqli->query("INSERT INTO table(id, name, votes) VALUES (id, '".$random."', '".$votes."')")) {
echo "Multi-INSERT failed: (" . $mysqli->errno . ") " . $mysqli->error;
}
你的HTML表单发送你的随机密钥使用name="name"(这是混淆本身)。
通过$_POST['name']
而不是$random
访问该变量
以后遇到这样的问题,第一次总是这样做
var_dump($_POST);
,以便查看可用的变量,以及它们携带的值。
>