Код авторизации. В результате должен переходить на указанную страницу, но этого не происходит. Остается на этой странице, т.е. пустая страница. Код (Text): include ("connect_db.php"); if (isset($_POST['email'])) { $passwordHash = md5($_POST['password']); $email = $_POST['email']; if (!preg_match("/^[a-zA-Z0-9_\.\-]+@([a-zA-Z0-9\-]+\.)+[a-zA-Z]{2,6}$/", $email)) { die('Вы неправильно ввели свой адрес электронной почты!'); } } else { $email = $_POST['email']; $res = mysql_query("SELECT uid FROM users WHERE email='$email' AND password='$passwordHash'")or exit('Проблема - '.mysql_error()); if (mysql_num_rows($res) < 1) { die('Пользователя с таким адресом электронной почты не существует!'); } session_start(); $token = md5(time().$email); if ($_POST['remember']) { setcookie('token', $token, time() + 60 * 60 * 24 * 365); mysql_query("UPDATE users SET token='$token' WHERE email='$email'"); } if (isset($_SERVER['HTTP_REFERER'])) { header ("location: ".$_SERVER['HTTP_REFERER']); } else { header ("location: shopping_cart.php"); } } Не могу найти ошибку
У тебя сначала идет проверка if на существование email $email = $_POST['email']; и в противном else случае опять $email = $_POST['email']; В одном случае email имеет какое то значение, а во втором оно пустое.
В первом случае - проверка, что это именно адрес электронной почты, Во втором - проверка на существование. Так что все тут нормально. Где-то в другом месте ошибка
У тебя два взаимоисключающих условия. Если есть $_POST['email'] проходит проверка на правильность, и соответственно надо делать выборку из базы Иначе у тебя НЕТ $_POST['email'], но ты вдруг пытаешься сделать проверку в базе по существованию $_POST['email']