拉动这是我的HTML表单:获取数据未通过
<form action='buddy_update.php'>
<input type='text' name='buddy1' required='' placeholder='Player ID/E-mail'>
<input type='hidden' name='id' value=''%".$id."%''>
<input type='submit' value='Request Buddy #1!'>
</form>
这是我在buddy_update
<?php
include 'credentials.php';
$id=$_GET['id'];
$buddy1=$_GET['buddy1'];
// Create connection
$conn = mysqli_connect($servername, $username, $password, $dbname);
// Check connection
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
$id=$_GET['id'];
$buddy1=$_GET['buddy1'];
$sql = "UPDATE buddy SET buddy1_id = '".$buddy1."' WHERE main_player = '".$id."'";
if (mysqli_query($conn, $sql)) {
echo $id;
echo $buddy1;
} else {
echo "Error: " . $sql . "<br>" . mysqli_error($conn);
}
mysqli_close($conn);
?>
$ buddy1 PHP来通过精绝,但$ id不。
对于它的价值,我也将value =''更改为HTML表单上的纯文本输入,但它仍然无效。 PHP表单中的输出仍然是空白的。
编辑 不知道为什么我定义了两次变量!取出一个,但仍然是相同的问题
检查是否有任何错误通过启用PHP错误:https://stackoverflow.com/a/21429652/881032 - 也是你的代码是非常脆弱的。查看[本文](https://www.wordfence.com/learn/how-to-prevent-sql-injection-attacks/)了解更多信息。 – lumio
如果你打开开发工具,在你的网络标签中,当你提交表单时,你能检查你确实发送了正确的数据吗?因为现在看起来输入值只是空的'input value ='''。此外,您的代码非常容易受到SQL注入的影响,非常不安全。 – Giedrius
是的,我知道这是我要解决的问题列表中的下一个!欢呼,我会看看现在的PHP错误。我没有得到任何在我的错误日志中,但想到它。 –