Тема: авторизация
Здравствуйте! я столкнулся с проблемой регистрации и авторизации..точнее с регистрацией все получается, но с авторизацией не получается(..подскажите пж в чем проблема..я нашел готовый скрипт, но он вообще ничего не открывает,просто пустая страница:
<?php
include('db_login.php');
$connection=mysql_connect($db_host,$db_username,$db_password);
mysql_query('SET NAMES utf8');
if (!$connection)
{
die('Ошибка подключения к серверу баз данных');
}
$db_select=mysql_select_db($db_database);
if (!$db_select)
{
die('База данных не найдена или отсутствует доступ');
}
$userinfo='';
$state='0';
if( (isset($_COOKIE['login'])) & (isset($_COOKIE['password'])) ) {// если в куках лежит логин и зашифрованый пароля
if (!isset($_GET['exit'])) {// если кнопка выход не была нажата
$login=$_COOKIE['login'];
$pass=$_COOKIE['password'];
// проверяем наличие пользователя в БД и достаём оттуда пароль
$sql="SELECT id, password FROM users WHERE login='$login'";
$res=mysql_query($sql);
if(mysql_num_rows($res)>0){// если пользователь есть в БД
$userinfo = mysql_fetch_array($res);// в этой переменной лежит пароль из БД
if(strcmp($pass,md5($userinfo['pass'])) == 0) { //проверяем схожесть пароля из БД с паролем из куков
// достаём все данные из БД
$sql="SELECT * FROM users WHERE login='$login'";
$res=mysql_query($sql);
$userinfo=mysql_fetch_array($res); // в этой переменной будет лежать вся информация о пользователе из БД
$time=time();
// устанавливаем куки для запоминания статуса пользователя
setcookie("login",$login,$time+1800);
setcookie("password",$pass,$time+1800);
$state = 1;// статус, если 1, тогда пользователь авторизован
}
}
} else {
//обнуляем куки, если была нажата кнопка выход
setcookie("login");
setcookie("password");
}
}
if($state != 1) {// если после проверки куков, оказалось, что пользователь не авторизован, то идем дальше
if( (isset($_POST['login'])) & (isset($_POST['password'])) ){ // если пользователь ввёл логин и пароль
$login = $_POST['login'];
// проверяем наличие пользователя в БД и достаём оттуда пароль
$sql = "SELECT id, password FROM users WHERE login='$login'";
$res = mysql_query($sql);
if(mysql_num_rows($res)>0) {// если пользователь есть в БД
$userinfo = mysql_fetch_array($res);// в этой переменной лежит пароль из БД и номер пользователя
$pass = $_POST['password'];
if(strcmp($pass,$userinfo['password'])==0){
// достаём все данные из БД
$sql="SELECT * FROM users WHERE login='$login'";
$res=mysql_query($sql);
$userinfo=mysql_fetch_array($res);// в этой переменной будет лежать вся информация о пользователе из БД
$time=time();
// устанавливаем куки для запоминания статуса пользователя, пароль шифруем
setcookie("login", $login, $time+1800);
setcookie("password", md5($pass), $time+1800);
$state = 1;// статус, если 1, тогда пользователь авторизован
}
}
}
}
if($state != 1) {
?>
<form method="post" action="/vibor.php">
Логин: <input type="text" size="30" name="login"/><br />
Пароль: <input type="password" name="password" size="30"/><br />
<input type="submit" value="Войти"/>
</form>
<br /><a href="/register.php">Регистрация</a>
<?php
} else {
echo 'Вы вошли на сайт!<br /> Ваш Логин: '.$userinfo["login"].'<br />Ваш E-mail: '.$userinfo["email"].'<br /> <a href="/index.php?exit=y">Выход</a>';
}
?>
мне необходимо ,чтобы при удачной авторизации меня перекинуло на страницу vibor.php и там вывело сообщение о входе в систему..но не получается(..скрипт в целом мне понятен, кроме конца скрипта,немного непонятная конструкция, думаю в ней проблема..