私はこのコードを使用してログインしていますが、mysqlデータベースのカラムloggedinの値をyesに更新したいとします。ヘッダーを送信する前に更新しようとしましたが、更新されません。列を更新するコードはどこに置くべきですか?ユーザがログインするとmysqlデータベースの更新カラム
mysqli_query($con, 'UPDATE user SET loggedin = 'yes' WHERE userid = 1');
は、これらの機能を使用し、それは安全ではない、パスワードをハッシュmd5()
機能を使用しないでください。これに
UPDATE user SET loggedin = 'yes' WHERE userid = 1;
:
if (isset($_POST['login']))
{
$username = trim(mysqli_real_escape_string($con, $_POST['username']));
$password = trim(mysqli_real_escape_string($con, $_POST['password']));
$md5password = md5($password);
// check user and password match to the database
$query = mysqli_query($con, "SELECT * FROM `user` WHERE username='$username' AND password='$md5password'");
// check how much rows return
if (mysqli_num_rows($query) == 1)
{
// login the user
// get the id of the user
$fetch = mysqli_fetch_assoc($query);
// start the session and store user id in the session
session_start();
$_SESSION['id'] = $fetch['id'];
$_SESSION['username'] = $fetch['username'];
$query = mysqli_query($con,"UPDATE user SET loggedin = 'yes' WHERE userid = 1;");
header("Location: message.php");
}
else
{
// show error message
echo "<div class='alert alert-danger'>Invalid username Or password.</div>";
}
}
。それはすべて実行されなければならない。 – arkascha
おそらく問題は、このコードのどこにでもUPDATE操作がないことです。 – David
UPDATE 'user' SET' loggedin' = 'yes' WHERE 'user'.'id' = 1;これを使用していますが、更新はありません –