include "/functions.php";
$dbpdo = connectdbpdo();
ini_set('error_reporting', E_ALL);
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
if($_GET['act'] == 'gologin') {
// принимаем данные и обрабатываем
$pass = preg_replace('/[^a-zA-Z0-9]/ui', '',$_POST['password']);
$pass = trim($pass);
$pass = preg_replace('/[\s]{2,}/', ' ', $pass);
$pass = md5($pass);
$user_email = preg_replace('/[^a-zA-Z0-9@._-]/ui', '',$_POST['email']);
$user_email = trim($user_email);
// проверяем email на валидность и пропускаем дальше если норм
if(filter_var($user_email, FILTER_VALIDATE_EMAIL) == false && strlen($user_email > 3)) {
echo json_encode(array('1','<div class="err_show">The email address was entered incorrectly</div>'));
die();
}
// проверяем пароль на валидность и пропускаем дальше если норм
elseif (strlen($pass) <= 5){
echo json_encode(array('2','<div class="err_show">Password must be 6 characters</div>'));
die();
}
else {
// если всё норм то делаем запрос в базу на наличие данных
$resjd = $dbpdo->prepare("SELECT * FROM user WHERE user_email = :user_email and user_password = :user_password");
$resjd->execute(array('user_email' => $user_email, 'user_password' => $pass));
$rowndd = $resjd->fetch(PDO::FETCH_ASSOC);
// если есть совпадение - авторизуем
if($rowndd) {
$hid = md5(time().$pass).md5($pass);
$go = $dbpdo->prepare("UPDATE user SET user_hid = :user_hid WHERE user_email = :user_email");
$go->execute(array('user_hid' => $hid, 'user_email' => $user_email));
setcookie("user_id", $rowndd['alias'],time()+360000, "/","", 0);
setcookie("hid", $hid, time()+31556926, "/","", 0);
// возвращаем урл юзера, на который он переходит автоматически
echo json_encode(array('4', $rowndd['alias']));
} else {
// юзера такого нет, отправояем ему сообщение
echo json_encode(array('3','<div class="err_show">E-mail or password entered incorrectly.</div>'));
die();
}
}
die();
}
else {
header('HTTP/1.0 404 Not Found'); die();
Целую статью не нужно, тезисно если можно, было бы хорошо.