Здравствуйте, я новичок в программировании. Весь вечер не могу решить проблему. В файле login.php имеется следующий код(срабатывает при входе, работает с таблицей: username, password, login):
<?php
error_reporting(E_ALL & ~E_DEPRECATED);
$connect=mysql_connect('localhost', 'root', '') or die (mysql_error());
mysql_select_db('rash');
if (isset($_POST['enter'])) {
$e_login=$_POST['e_login'];
$e_password=$_POST['e_password'];
$query=mysql_query("SELECT * FROM WIreg WHERE login='$e_login'");
$user_data=mysql_fetch_array($query);
if ($user_data['password']==$e_password) {
$re=mysql_query("SELECT * FROM WIreg WHERE 'login'='$user'");
$name=mysql_fetch_array($re);
setcookie('cookie_name', $name['username']);
$_SESSION['cookie_name'] = $name['username'];
header("location: user/auth.html");
}
else {
echo "wrong password or login";
}
}
?>
Выводит всю страницу auth.html кроме имени username. Далее в файле auth.html (находится в директориии user)имеется следующий код:
<? session_start(); echo $_SESSION['cookie_name']; ?>
Вопрос: почему не отображается username?
После проверки пароля вы делаете повторный запрос:
$re=mysql_query("SELECT * FROM WIreg WHERE 'login'='$user'");
Но переменная $user у вас ранее не определяется, поэтому данный запрос выдаёт пустой результат, соответственно и куки далее определяются пустые.
Учитывая, что вы ранее уже получили необходимые вам данные из базы (они у вас в переменной $user_data), предлагаю переписать последний if так:
if ($user_data['password']==$e_password) {
setcookie('cookie_name', $user_data['username']);
$_SESSION['cookie_name'] = $user_data['username'];
header("location: user/auth.html");
}
else {
echo "wrong password or login";
}
Но вообще хранить пароли в явном виде неправильно.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Прописываю в роутах такой код для 'middleware' => ['web'], не работаетЕсть ли еще варианты запрета доступа к странице для гостей?