PHP更新未按预期运行[关闭]

问题描述 投票:-1回答:2
在我的MySQL数据库中,我有一列名为CHECK的列,我的值只有1或0,当一个用户登录我的网站时,此值输入1,而当他注销时,该值输入0。但是我没有任何值知道为什么这段代码不想在我的栏中输入1。

或者我可以检查一个用户是否已经登录吗?

这是我的数据库表:

“在此处输入图像描述”

if ($username && $password_sha1) { $query = mysqli_query ( $conn, "SELECT * FROM portofoliu_table WHERE account= '$username'" ); $numrows = mysqli_num_rows ( $query ); $val = 1; if ($numrows != 0) { while ( $row = mysqli_fetch_assoc ( $query ) ) { $db_account = $row ['account']; $db_password = $row ['password']; } if ($username == $db_account && $password_sha1 == $db_password) { //----------------------------------------HERE-------------------------------------------------------- mysqli_query ( $conn, "UPDATE portofoliu_table SET check = '$val' WHERE account= '$username'" ); //---------------------------------------------------------------------------------------------------- $_SESSION ['account'] = $username; $_SESSION ["logged"] = true; header ( "location: AboutMe.php" ); exit (); } else { echo "<div id='err'>Your password is incorrected</div>"; } $_SESSION ["logged"] = false; exit (); } else { die ( "<div id='err'>That user don't exists</div>" ); } } else { die ( "<div id='err'>Please enter a username and password</div>" ); }

php mysql mysqli
2个回答
-1
投票
我认为这里的问题是变量范围。

while ( $row = mysqli_fetch_assoc ( $query ) ) { $db_account = $row['account']; $db_password = $row['password']; if ($username == $db_account && $password_sha1 ==$db_password) { //place rest of code here. } }

$db_account$db_passwords变量不在范围内,因此无法使用。像上面一样尝试更改。

-2
投票
尝试一下?

<? if ($username && $password_sha1) { $query = mysqli_query ( $conn, "SELECT * FROM portofoliu_table WHERE `account`='$username'" ); $numrows = mysqli_num_rows ( $query ); $val = 1; if ($numrows > 0) { while ( $row = mysqli_fetch_assoc ( $query ) ) { $db_account = $row['account']; $db_password = $row['password']; } if ($username == $db_account && $password_sha1 == $db_password) { //----------------------------------------HERE-------------------------------------------------------- mysqli_query ( $conn, "UPDATE portofoliu_table SET `check`='$val' WHERE `account`='$username'" ); //---------------------------------------------------------------------------------------------------- $_SESSION['account'] = $username; $_SESSION["logged"] = true; header ( "location: AboutMe.php" ); exit (); } else { echo "<div id='err'>That password is incorrect.</div>"; } $_SESSION["logged"] = false; exit (); } else { die ( "<div id='err'>That user does not exist.</div>" ); } } else { die ( "<div id='err'>Please enter a username and password</div>" ); } ?>

© www.soinside.com 2019 - 2024. All rights reserved.