Я разрабатываю систему входа в систему как личный проект и пытаюсь сохранить электронную почту и хэш пароля пользователя (лучше ли хранить простой текстовый пароль?) В файлах cookie, чтобы сайт знал, какую учетную запись пользователя авторизован.
Беда в том, как только я положил мой setcookie (); Команды в операторе if перестают работать. Я знаю, что оператор if достигается, потому что из него вызывается другой код, но все равно, что setcookie () игнорируется.
Вот код:
<?php
$email = $_POST[email];
$password = $_POST[password];
$passwordHash = sha1($password);
$dbhost = "localhost";
$dbuser = "user";
$dbpass = "password";
$dbname = "db";
mysql_connect($dbhost,$dbuser,$dbpass)
or die("Error: Failed to connect to database");
mysql_select_db($dbname)
or die("Error: Failed to select databse");
$query = "SELECT * FROM users WHERE user = '$email'";
$sql = mysql_query($query);
while($r = mysql_fetch_array($sql)) {
if($passwordHash == $r[passwordhash]) {
setcookie("Email", $email, time()+3600);
setcookie("PasswordHash", $passwordHash, time()+3600);
echo "added cookie";
}
else {
echo "Incorrect password";
}
}
?>