Сделал такую авторизацию. До того зарегистрировал на "сайте" пользователя, его данные сохранились в БД. Логинюсь по е-мэйлу и паролю - вылетает "wrong password",хоть и все правильно. $.ajax({ type: "POST", url: "include/auth.php", data: "email="+auth_email+"&pass="+auth_pass+"&rememberme="+auth_rememberme, dataType: "html", cache: false, success: function(data) { if (data == 'yes_auth') { location.reload(); }else { $("#message-auth").slideDown(400); $(".auth-loading").hide(); $("#button-auth").show(); } } }); } }); <?php if($_SERVER["REQUEST_METHOD"] == "POST") { include('db_connect.php'); include('../functions/functions.php'); $email = clear_string($_POST["email"]); $pass = md5(clear_string($_POST["pass"])); $pass = strrev($pass); $pass = strtolower("9nm2rv8q".$pass."2yo6z"); if ($_POST["rememberme"] == "yes") { setcookie('rememberme',$email.'+'.$pass,time()+3600*24*31, "/"); } $result = mysqli_query($link,"SELECT * FROM reg_user WHERE email = '$email' AND pass = '$pass'"); If (mysqli_num_rows($result) > 0) { $row = mysqli_fetch_array($result); session_start(); $_SESSION['auth'] = 'yes_auth'; $_SESSION['auth_pass'] = $row["pass"]; $_SESSION['auth_email'] = $row["email"]; $_SESSION['auth_name'] = $row["name"]; echo 'yes_auth'; }else { echo 'no_auth'; } } ?>
В этом коде нет фразы "wrong password". Никто не сможет тебе помочь если ты показываешь одно, а говоришь о другом. В любом случае, решается через отладку: Выводи промежуточные значения, пробуй выполнить SQL запрос с реальными значениями в phpmyadmin и т.д. http://phpfaq.ru/debug
PHP: setcookie('rememberme',$email.'+'.$pass,time()+3600*24*31, "/"); Сохранять в куках открытый пароль - опасная и небезопасная идея..) Тем более вот в таком варианте. Подменить будет не сложно, если найдут способ извлечь его. Логично, как мне кажется, сохранять логин/пароль для автоматического входа на сайт только в случае, если авторизация прошла успешна. PHP: $pass = md5(clear_string($_POST["pass"])); Вы уверены, что clear_string так необходим? ..)