<?php require_once('db.php'); $email = trim(htmlspecialchars(stripslashes($_POST['email']))); $password = md5(md5(trim(htmlspecialchars(stripslashes($_POST['password']))))); $remember = trim(htmlspecialchars(stripslashes($_POST['save']))); class inLog{ public $classEmail; public $classPass; public $classRem; function __construct($ce,$cp,$cr = false){ $this->classEmail = $ce; $this->classPass = $cp; $this->classRem = $cr; $sql = mysql_query("SELECT * FROM users WHERE password = '" . $this->classPass . "' AND email = '" . $this->classEmail . "' LIMIT 1"); // Если есть совпадения то работаем далее if($sql===false){ //если нет совпадений то логин фальш если есть то иднм далее и логин тру $login = false; }else{ while($u = mysql_fetch_array($sql))//Выборка из БД { if($this->classRem){//условия ремэмберна function rand_string($len, $chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789')//функция строки { $string = ''; for ($i = 0; $i < $len; $i++) { $pos = rand(0, strlen($chars)-1); $string .= $chars{$pos}; } return $string; } function session_encrypt($string) //функция мд5 строки { $salt = 'sdsfljkdfg'; return md5($salt . $string); } $cookie_auth= rand_string(10) . $email; $auth_key = session_encrypt($cookie_auth); $auth_query = mysql_query("UPDATE users SET auth_key = '" . $auth_key . "' WHERE email = '" . $this->classEmail . "'"); setcookie("auth_key", $auth_key, time() + 60 * 60 * 24 * 7); }//Закрывает условия ремэмберна
<?php session_start(); session_regenerate_id(true); $session_id = $u[id]; $session_username = $u[user_name]; $session_email = $email; $session_level = $u[user_level]; $_SESSION['user_id'] = $session_id; $_SESSION['user_level'] = $session_level; $_SESSION['user_email'] = $session_email; $_SESSION['user_name'] = $session_username; $_SESSION['user_lastactive'] = time(); return true; }//Закрывает закрывает цикл выборки }//Закрывает условие выборки }//Закрывает конструктор }//Закрывает класс $user = new inLog($email, $password, $remember); print_r($_COOKIE); ?>
6680 (15 Октября 2012 / 01:01) <?php $email = trim(htmlspecialchars(stripslashes($_POST['email']))); ... $sql = mysql_query("SELECT * FROM users WHERE password = '" . $this->classPass . "' AND email = '" . $this->classEmail . "' LIMIT 1"); ... ?>
<?php $email = trim(htmlspecialchars(stripslashes($_POST['email']))); ... $sql = mysql_query("SELECT * FROM users WHERE password = '" . $this->classPass . "' AND email = '" . $this->classEmail . "' LIMIT 1"); ... ?>
Im-ieee (15 Октября 2012 / 08:56) Напишешь потом ссылку на этот сайт?
Значения в массиве COOKIE не меняются сразу после setcookie, наверное, проблема в этом.
Im-ieee (15 Октября 2012 / 12:32) 6. 6680, то есть у тебя вообще не устанавливается cookie? Тогда стоит включить отображение ошибок.
Im-ieee (15 Октября 2012 / 12:39) 8. 6680, такой email: nothing' union select * from users where email='admin_email'#