<?
include('connectdb.php');// подключение к серверу MySql и выбор БД
session_start();
$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 {
$_SESSION["login"]=$login;
$_SESSION["pass"]=$pass;
?> Вы вошли на сайт!<br />
Ваш Логин: <?=$userinfo["login"] ?><br />Выш E-mail: <?=$userinfo["adres"]?><br /> <a href="index.php?exit=y">Выход</a>
<br>
<a href="kod_star.php">gthtqdasd</a>
<?
}
?>
Помогите мне его разобрать на два файла!
1-ый файл должен содержать авторизацию..
а второй файл проверяет или пользователь авторизован... (и удалите кнопку выход)
если не сложно, помогите)) буду благодарен)
Спустя 39 минут, 23 секунды (5.12.2011 - 20:33) 12345 написал(а):
ауу.. может кто нибудь поможет... а то сам не могу понять((((
Спустя 20 минут, 16 секунд (5.12.2011 - 20:53) XCross написал(а):
В скрипте куча ошибок в защите.
Рублей 100. Пиши в личку, если нужно.
Рублей 100. Пиши в личку, если нужно.
Спустя 3 минуты, 58 секунд (5.12.2011 - 20:57) 12345 написал(а):
100 рублей?? пффф... спасибо, не надо, сам посижу... и сделаю..
или чуть что на другой форум обращусь, раз сдесь никто помоч не может..
или чуть что на другой форум обращусь, раз сдесь никто помоч не может..
Спустя 4 минуты, 59 секунд (5.12.2011 - 21:02) XCross написал(а):
Цитата |
а второй файл проверяет или пользователь авторизован... (и удалите кнопку выход) |
Есть, сер! . Во наглые то пошли.
Спустя 5 минут, 1 секунда (5.12.2011 - 21:07) 12345 написал(а):
ну можешь и не убирать
Спустя 3 минуты, 40 секунд (5.12.2011 - 21:11) Fredrich написал(а):
Готов тебе помочь пиши в личку
Спустя 5 минут, 13 секунд (5.12.2011 - 21:16) 12345 написал(а):
написал)
Спустя 6 минут, 11 секунд (5.12.2011 - 21:23) 12345 написал(а):
а может кто скинет скрипт нормальной авторизации??
чтоб взломать было не просто)
чтоб взломать было не просто)
Спустя 4 минуты, 14 секунд (5.12.2011 - 21:27) Fredrich написал(а):
Могу и скрипт авторизации нормальный скинуть
Спустя 1 минута, 27 секунд (5.12.2011 - 21:28) 12345 написал(а):
скинь
Спустя 5 минут, 27 секунд (5.12.2011 - 21:34) Fredrich написал(а):
session_start();
$login = trim(htmlspecialchars($_POST['login']));
$password = md5(trim(htmlspecialchars($_POST['password'])));
if(!empty($login) && !empty($password))
{
$query = "SELECT id
FROM users
WHERE login = '".mysql_real_escape_string($login)."' and password = '".mysql_real_escape_string($password)."'",$db;
$select_user = mysql_query($query,$db) or die(mysql_error());
$num_user = mysql_num_rows($select_user);
if($result_user === '1')
{
$result_user = mysql_fetch_assoc($select_user);
$_SESSION['id'] = $result_user['id'];
}
else
{
exit('Логин или пароль введен не верно!');
}
}
else
{
exit('Логин или пароль не введен!');
}
Спустя 7 минут, 22 секунды (5.12.2011 - 21:41) 12345 написал(а):
тут ошибка
WHERE login = '".mysql_real_escape_string($login)."' and pass = '".mysql_real_escape_string($pass)."'",$db;
Parse error: syntax error, unexpected ',' in Z:\home\test1.ru\www\login.php on line 12
WHERE login = '".mysql_real_escape_string($login)."' and pass = '".mysql_real_escape_string($pass)."'",$db;
Parse error: syntax error, unexpected ',' in Z:\home\test1.ru\www\login.php on line 12
Спустя 6 минут, 49 секунд (5.12.2011 - 21:48) Winston написал(а):
Разве невидно ошибки ?
Спустя 4 минуты, 57 секунд (5.12.2011 - 21:53) Fredrich написал(а):
убери последнюю кавычку
Спустя 6 минут, 48 секунд (5.12.2011 - 22:00) 12345 написал(а):
теперь ошибка
Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in Z:\home\test1.ru\www\login.php on line 14
т.е. в этой строке
$select_user = mysql_query($query,$db) or die(mysql_error());
Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in Z:\home\test1.ru\www\login.php on line 14
т.е. в этой строке
$select_user = mysql_query($query,$db) or die(mysql_error());
Спустя 9 минут, 11 секунд (5.12.2011 - 22:09) Fredrich написал(а):
Верни кавычку и убери ,$db в этой строчке и ниже тоже
Спустя 5 минут, 44 секунды (5.12.2011 - 22:14) 12345 написал(а):
теперь ошибок не показывает, но всё время пишет "Логин или пароль не введен!" ноя ввожу всё правильно
Спустя 2 минуты, 48 секунд (5.12.2011 - 22:17) Winston написал(а):
Цитата (Fredrich @ 5.12.2011 - 20:34) |
if($result_user === '1') |
Что за фигня ?
При error_reporting(E_ALL); будет нотис.
И зачем строгое равно (===) ? Да еще и 1 в кавычках
Спустя 5 минут (5.12.2011 - 22:22) XCross написал(а):
Тролль! Жирный тролль
Спустя 7 минут (5.12.2011 - 22:29) Fredrich написал(а):
А форма у тебя до или после кода
Спустя 28 минут, 57 секунд (5.12.2011 - 22:58) Guest написал(а):
Форма у меня вообще другая страница.. но передает данные на страницу с этим кодом
Спустя 19 часов, 52 минуты, 20 секунд (6.12.2011 - 18:51) 12345 написал(а):
Форма у меня вообще другая страница.. но передает данные на страницу с этим кодом
Спустя 20 часов, 57 минут, 30 секунд (7.12.2011 - 15:48) Fredrich написал(а):
А ты приобразовывал
$login = $_POST['$login'];