X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

Открыть тему
Добавить ответ в эту тему
> скрипт авторизации
noobik_hb
noobik_hb
Topic Starter сообщение 7.11.2011, 21:03; Ответить: noobik_hb
Сообщение #1


Здравствуйте!

Есть скрипт регистрации и авторизации!он регистрирует, авторизовует!но стоит обновить страничку авторизация пропадает! + на других страницах так же...
Что нужно подправить?

Вот скрипт
[PHP]<?
/*!!!Чтобы не повредить работоспособности
скрипта выше этого комментария
не размещайте вообще ничего!!!*/
include('connectdb.php');// подключение к серверу MySql и выбор БД
$userinfo='';
$state='0';
if( (isset($_COOKIE['login'])) & (isset($_COOKIE['pass'])) ) {// если в куках лежит логин и зашифрованый пароля
if (!isset($_GET['exit'])) {// если кнопка выход не была нажата
$login=$_COOKIE['login'];
$pass=$_COOKIE['pass'];

// проверяем наличие пользователя в БД и достаём оттуда пароль
$sql="SELECT id, pass 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("pass",$pass,$time+1800);
$state = 1;// статус, если 1, тогда пользователь авторизован
}
}
} else {
//обнуляем куки, если была нажата кнопка выход
setcookie("login");
setcookie("pass");
}
}
if($state != 1) {// если после проверки куков, оказалось, что пользователь не авторизован, то идем дальше
if( (isset($_POST['login'])) & (isset($_POST['pass'])) ){ // если пользователь ввёл логин и пароль
$login = $_POST['login'];

// проверяем наличие пользователя в БД и достаём оттуда пароль
$sql = "SELECT id, pass FROM users WHERE login='$login'";
$res = mysql_query($sql);
if(mysql_num_rows($res)>0) {// если пользователь есть в БД
$userinfo = mysql_fetch_array($res);// в этой переменной лежит пароль из БД и номер пользователя
$pass = $_POST['pass'];
if(strcmp($pass,$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("pass", md5($pass), $time+1800);
$state = 1;// статус, если 1, тогда пользователь авторизован
}
}
}
}
if($state != 1) {
?>
<form method="post" action="/index.php">
Логин: <input type="text" size="30" name="login"><br />
Пароль: <input type="password" name="pass" size="30"><br />
<input type="submit" value="Войти">
</form>
<br /><a href="/register.php">Регистрация</a>
<?
} else {
echo 'Вы вошли на сайт!<br /> Ваш Логин: '.$userinfo["login"].'<br />Выш E-mail: '.$userinfo["email"].'<br /> <a href="/index.php?exit=y">Выход</a>';
}
?>[/PHP]

P.S. С меня могорыч
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Blink
Blink
сообщение 7.11.2011, 22:32; Ответить: Blink
Сообщение #2


а сессии задействовать не катит?
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
noobik_hb
noobik_hb
Topic Starter сообщение 8.11.2011, 10:33; Ответить: noobik_hb
Сообщение #3


Как?Есть пример?
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ZhukV
ZhukV
сообщение 8.11.2011, 19:55; Ответить: ZhukV
Сообщение #4


Вам нужно включить механизм сессии
В начале файла - session_start();
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Zippovich
Zippovich
сообщение 8.11.2011, 20:02; Ответить: Zippovich
Сообщение #5


Ну и далее читать: http://phpfaq.ru/sessions и делать.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
noobik_hb
noobik_hb
Topic Starter сообщение 9.11.2011, 14:01; Ответить: noobik_hb
Сообщение #6


(ZhukV @ 8.11.2011, 22:55) *
Вам нужно включить механизм сессии
В начале файла - session_start();


Пишу вот так! Не помогает! [PHP]<?php if(!isset($_SESSION)) session_start();?>[/PHP]

В скрипте то такая хрень [PHP]$_COOKIE['login'][/PHP]
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
noobik_hb
noobik_hb
Topic Starter сообщение 9.11.2011, 14:02; Ответить: noobik_hb
Сообщение #7


(Zippovich @ 8.11.2011, 23:02) *
Ну и далее читать: http://phpfaq.ru/sessions и делать.


Читал, все перепробовал!

Ув. проверьте скрипт у себя на машинах, может там где то недочет?
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
pyramida
pyramida
сообщение 12.11.2011, 22:12; Ответить: pyramida
Сообщение #8


(nice @ 9.11.2011, 17:02) *
Читал, все перепробовал!

Ув. проверьте скрипт у себя на машинах, может там где то недочет?

Логика у Вашего скрипта однако :) Зачем проверять нажата ли кнопка выход? Для нне обычно делают отдельную страницу выхода в которой уничтожают кукесы и все.
По скрипту предположим, что пытаясь проверить пользователя кукес удален или имеет не те данные что нужно. Проверьте что кукес создается и не удаляется после нажатия ф5. И потом раз Вы прошли авторизацию нефиг делать на этой странице дуйте на основную.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Добавить ответ в эту тему
Быстрый ответ
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Скрипт поисковика видео StrongTube
3 3josoft 1574 14.8.2023, 14:45
автор: 3josoft
Открытая тема (нет новых ответов) Скрипт приема платежей p2p с карты на карту card2card
Скрипт приема платежей p2p с карты на карту card2card
15 zladey1986 7832 26.3.2023, 8:54
автор: Palundra
Открытая тема (нет новых ответов) Продам скрипт перевода постов и комментариев
4 Tutich 786 19.1.2023, 17:23
автор: Tutich
Открытая тема (нет новых ответов) Битрикс скрипт нативной установки
3 Nemo 2451 20.11.2022, 10:09
автор: Webmaster24
Открытая тема (нет новых ответов) Посоветуйте скрипт интернет-магазина
(партнерская программа - критична!)
9 Aloof 7363 2.12.2021, 15:03
автор: Ilonek


 



RSS Текстовая версия Сейчас: 19.4.2024, 7:41
Дизайн