作为一项任务,我的老师给了我(高中10年级)使用html和php创建登录表单,因为我们刚刚开始学习PHP我已经取得了进步,这是我的第一次尝试。我稍后会介绍更安全的选项。
<?PHP
//Create the connection…
//("where the database is", 'Database login' , 'database password' , "Database name")
$con=mysqli_connect("", 'root', 'root', "Social");
//Check our connection…
if (mysqli_connect_errno($con))
{
echo " Sorry Mate";
}
$username = $_POST[username];
$password = $_POST[pawd];
$result = mysqli_query($con, "SELECT * FROM User_info");
$row = mysqli_fetch_array($result);
$value = $row['username'];
if($value == "$username")
{
$result = mysqli_query($con, "SELECT * FROM User_info");
$row = mysqli_fetch_array($result);
$value = $row['password'];
if($value == "$password")
{
$sql=("UPDATE user_check SET user = '1' ");
$sql=("UPDATE user_check SET name = '$username' ");
header( 'Location: feed.php' ) ;
}
else
{
header( 'Location: social.php' ) ;
}
}
else
{
header( 'Location: social.php' ) ;
}
if (!mysqli_query($con,$sql))
{
die('Error: ' . mysqli_error($con));
}
mysqli_close($con);
?>
它说的地方
$sql=("UPDATE user_check SET user = '1' ");
$sql=("UPDATE user_check SET name = '$username' ");
第一个将工作并将数据库更新为1但是第二个没有检查列的名称更改了变量$ sql和$ username的名称它仍然无法工作是否有任何建议?提前谢谢:D
答案 0 :(得分:0)
您首先将$_POST['username']
与结果中的username
列进行比较,然后尝试更新数据库中的name
列。我的猜测是:
$sql = ("UPDATE user_check SET name = '$username' ");
应该是:
$sql = ("UPDATE user_check SET username = '$username' ");
答案 1 :(得分:0)
这看起来很奇怪:
$sql=("UPDATE user_check SET user = '1' ");
$sql=("UPDATE user_check SET name = '$username' ");
第二行将覆盖前一个存储的值。
尝试放一个 死亡($ SQL)
在您调用SQL的行之前,查看您认为正在运行的是您正在运行的内容。