Ошибка при авторизации
|
|
Riolu | Дата: Суббота, 14 Июля 2012, 14:10 | Сообщение # 1 |
почетный гость
Сейчас нет на сайте
| Помогите эта злобная авторизация никого не хочет пускать в игру login.php Code <?php session_start(); include ("games/conf.php");
if(strlen($_POST['user'])>0){ if(strlen($_POST['pass'])>0){ if (isset($_POST['user']) && isset($_POST['pass'])) { $_POST['user'] = htmlspecialchars($_POST['user']); $_POST['user'] = stripslashes($_POST['user']); $_POST['user'] = trim($_POST['user']);
$_POST['pass'] = htmlspecialchars($_POST['pass']); $_POST['pass'] = stripslashes($_POST['pass']); $_POST['pass'] = trim($_POST['pass']); $login = mysql_real_escape_string($_POST['user']); $password = md5($_POST['pass'] . 'i7b5j9'); $password = strrev($password); $query = "SELECT `username`,`ID`, 'passw' FROM `players_the_game` WHERE `username`='".$login."' AND `passw`='".$password."' LIMIT 1"; $sql = mysql_query($query) or die("Возникла ошибка");
if (mysql_num_rows($sql) == 1) {
$row = mysql_fetch_assoc($sql); $_SESSION['user'] = $row['username']; $_SESSION['id'] = $row['ID']; $_SESSION['pass'] = $row['passw'];
$ip = $_SERVER['REMOTE_ADDR']; mysql_query("UPDATE `players_the_game` SET `ip`='".$ip."' WHERE `username`='".$login."' AND `passw`='".$password."' LIMIT 1") or die ("Can't update"); mysql_query ("UPDATE `players_the_game` SET `last_entry`='".time()."' WHERE `username`='".$login."' AND `passw`='".$password."' LIMIT 1") or die ("Can't update"); mysql_query ("UPDATE `players_the_game` SET `online`='1' WHERE `username`='".$login."' AND `passw`='".$password."' LIMIT 1") or die ("Can't update"); mysql_query("INSERT INTO `online` (`id_session`, `putdate`) VALUES ('".$row['ID']."', '".time()."')");
echo "<script>location.href='/game.php?the=my_pokes'</script>";
} else { echo "<script>alert('Не верный Логин или Пароль'); location.href='/index.php';</script>"; } } } else{ echo "<script>alert('Вы заполнили не все поля!'); location.href='/index.php';</script>"; } } else{ echo "<script>alert('Вы заполнили не все поля!'); location.href='/index.php';</script>"; }
?>
Добавлено (14.07.2012, 14:10) --------------------------------------------- 15просмотров и никто ничем помочь не может ??
Рoke-x (ММОRPG про покемонов)
Сообщение отредактировал Riolu - Суббота, 14 Июля 2012, 09:39 |
|
| |
Nosorog | Дата: Суббота, 14 Июля 2012, 15:56 | Сообщение # 2 |
участник
Сейчас нет на сайте
| $password = md5($_POST['pass']) . 'i7b5j9';
Классическая ошибка, которую совершают проектировщики абсолютно надёжных систем, - недооценка изобретательности клинических идиотов.
|
|
| |
Riolu | Дата: Суббота, 14 Июля 2012, 18:27 | Сообщение # 3 |
почетный гость
Сейчас нет на сайте
| Quote (Nosorog) $password = md5($_POST['pass']) . 'i7b5j9'; Не не пускает эта злобная авторизация
Рoke-x (ММОRPG про покемонов)
|
|
| |
Goodwin | Дата: Суббота, 14 Июля 2012, 18:28 | Сообщение # 4 |
был не раз
Сейчас нет на сайте
| Что пишет?
|
|
| |
Nosorog | Дата: Суббота, 14 Июля 2012, 20:04 | Сообщение # 5 |
участник
Сейчас нет на сайте
| Quote (Goodwin) Что пишет? Да, какие ошибки? error_reporting(E_ALL); И всё-таки мне кажется, что проблема в том как ты шифруешь пароль... Скрипт регистрации юзера можешь выложить?
Классическая ошибка, которую совершают проектировщики абсолютно надёжных систем, - недооценка изобретательности клинических идиотов.
|
|
| |
Riolu | Дата: Суббота, 14 Июля 2012, 21:07 | Сообщение # 6 |
почетный гость
Сейчас нет на сайте
| Quote (Nosorog) Что пишет?
Да, какие ошибки? У меня на сервере ошибки не показывают но на денвере выдает ошибку
Quote Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in Z:\home\test1.ru\www\test.php on line 36
Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in Z:\home\test1.ru\www\test.php on line 36
Рoke-x (ММОRPG про покемонов)
|
|
| |
Goodwin | Дата: Суббота, 14 Июля 2012, 21:20 | Сообщение # 7 |
был не раз
Сейчас нет на сайте
| Конфиг правильно настроен?
|
|
| |
Riolu | Дата: Суббота, 14 Июля 2012, 21:23 | Сообщение # 8 |
почетный гость
Сейчас нет на сайте
| папка и настройки конфига указаны правильно
Рoke-x (ММОRPG про покемонов)
Сообщение отредактировал Riolu - Суббота, 14 Июля 2012, 21:27 |
|
| |
Nosorog | Дата: Суббота, 14 Июля 2012, 23:25 | Сообщение # 9 |
участник
Сейчас нет на сайте
| В процессе разработки удобнее использоватьCode or die(mysql_error()) , а не Code or die("Возникла хз какая ошибка"); Quote (Riolu) У меня на сервере ошибки не показывают но на денвере выдает ошибку Это, наверняка, ошибка настройки денвера, и если закинуть скрипт в папку "test" вместо "test1.ru", то все должно быть нормуль... Короче, поиграйся с солью в пароле... Или скинь скрипт реги...
Классическая ошибка, которую совершают проектировщики абсолютно надёжных систем, - недооценка изобретательности клинических идиотов.
|
|
| |
Riolu | Дата: Воскресенье, 15 Июля 2012, 12:54 | Сообщение # 10 |
почетный гость
Сейчас нет на сайте
| Quote (Nosorog) У меня на сервере ошибки не показывают но на денвере выдает ошибку
Это, наверняка, ошибка настройки денвера, Это я сервере Poke-x не показываются ошибки
conf.php Code <?php $base_name="localhost"; $base_user="root"; $base_pass=""; $db_name="my_game"; $link = mysql_pconnect($base_name, $base_user, $base_pass); mysql_select_db($db_name, $link); mysql_query("SET CHARSET cp1251"); $ADDR = $_SERVER["HTTP_HOST"]; ?>
Quote (Nosorog) Или скинь скрипт реги... Зачем ?? ошибка же не в реге а в авторизации
Рoke-x (ММОRPG про покемонов)
|
|
| |
Nosorog | Дата: Воскресенье, 15 Июля 2012, 14:23 | Сообщение # 11 |
участник
Сейчас нет на сайте
| Quote (Riolu) Зачем ?? ошибка же не в реге а в авторизации Забей короче...
Классическая ошибка, которую совершают проектировщики абсолютно надёжных систем, - недооценка изобретательности клинических идиотов.
|
|
| |
Riolu | Дата: Четверг, 19 Июля 2012, 00:04 | Сообщение # 12 |
почетный гость
Сейчас нет на сайте
| Написал новую авторизацию, ошибка исправил, но опять в игру не пускает =( даже ошибку не выдает =( Code <?php session_start(); include("games/conf.php");
if (isset($_POST['email'])) { $email = $_POST['email']; if ($email == '') { unset($email); echo "<script>alert('Введите email!'); location.href='/index.php';</script>"; } } if (isset($_POST['password'])) { $pas=$_POST['password']; if ($pas =='') { unset($pas); echo "<script>alert('Введите пароль!'); location.href='/index.php';</script>"; } }
$email = trim($email); $email = stripslashes($email); $email = htmlspecialchars($email); $pas = trim($pas); $pas = stripslashes($pas); $pas = htmlspecialchars($pas); $pas = strrev($pas); $pas = md5($pas . 'i7b5j9');
$query = mysql_query("SELECT `ID` FROM `players_the_game` WHERE `email`='$email' AND `passw`='$password'"); $sql = mysql_fetch_array($query) or die(mysql_error());
if(!empty($sql['ID'])){
$_SESSION['email']=$email; $_SESSION['passw']=$pas; $_SESSION['user']=$sql['username']; $_SESSION['id']=$sql['ID'];
$pas = $password; $login = $sql['username']; $ip = $_SERVER['REMOTE_ADDR']; mysql_query("UPDATE `players_the_game` SET `ip_adres`='".$ip."' WHERE `username`='".$login."' AND `passw`='".$password."' LIMIT 1") or die ("Can't update"); mysql_query ("UPDATE `players_the_game` SET `last_entry`='".time()."' WHERE `username`='".$login."' AND `passw`='".$password."' LIMIT 1") or die ("Can't update"); mysql_query ("UPDATE `players_the_game` SET `online`='1' WHERE `username`='".$login."' AND `passw`='".$password."' LIMIT 1") or die ("Can't update"); mysql_query("INSERT INTO `online` (`id_session`, `putdate`) VALUES ('".$sql['ID']."', '".time()."')");
echo "<script>alert('Вы успешно прошли авторизацию!'); location.href='/game.php?the=my_pokes';</script>"; } else { echo "<script>alert('Не верный email или пароль'); location.href='/index.php';</script>"; } ?>
Убрал or die(mysql_error()) пишет неверный email или пароль! Вставить не выдает ошибку а просто пустой экран помогите пожалуйстаДобавлено (19.07.2012, 00:04) --------------------------------------------- Все ошибки исправил, но теперь сессии не создаются сессию что делать ???????????
Рoke-x (ММОRPG про покемонов)
Сообщение отредактировал Riolu - Воскресенье, 15 Июля 2012, 16:09 |
|
| |
Basiser | Дата: Четверг, 19 Июля 2012, 05:11 | Сообщение # 13 |
частый гость
Сейчас нет на сайте
| жжжжесть
|
|
| |
lliberty | Дата: Четверг, 19 Июля 2012, 09:49 | Сообщение # 14 |
был не раз
Сейчас нет на сайте
| Тебе правильно сказали, приведи скрипт регистрации. Т.к. у тебя просто не находит пользователя. Уверен что в скрипте реги именно так? Code $pas = md5($pas . 'i7b5j9');
Тьху, только сейчас увидел. Глянь на строки: Code $pas = md5($pas . 'i7b5j9'); $query = mysql_query("SELECT `ID` FROM `players_the_game` WHERE `email`='$email' AND `passw`='$password'"); пароль получаешь в $pas, а а базе ищешь $password. Ясен пень он его не находит.
P.S. Code mysql_query("UPDATE `players_the_game` SET `ip_adres`='".$ip."' WHERE `username`='".$login."' AND `passw`='".$password."' LIMIT 1") or die ("Can't update"); mysql_query ("UPDATE `players_the_game` SET `last_entry`='".time()."' WHERE `username`='".$login."' AND `passw`='".$password."' LIMIT 1") or die ("Can't update"); mysql_query ("UPDATE `players_the_game` SET `online`='1' WHERE `username`='".$login."' AND `passw`='".$password."' LIMIT 1") or die ("Can't update"); Ужжасный код. Лучше уж так Code mysql_query("UPDATE `players_the_game` SET `ip_adres`='".$ip."',`last_entry`='".time()."',`online`='1' WHERE `username`='".$login."' AND `passw`='".$password."' LIMIT 1")
Сообщение отредактировал lliberty - Четверг, 19 Июля 2012, 10:40 |
|
| |
Riolu | Дата: Воскресенье, 22 Июля 2012, 00:17 | Сообщение # 15 |
почетный гость
Сейчас нет на сайте
| Quote (lliberty) пароль получаешь в $pas, а а базе ищешь $password. Ясен пень он его не находит. У меня новая форма: Code <? include ("games/conf.php"); ?> <link rel="stylesheet" title="default" href="poke-x_index.css" type="text/css" /> <? if (isset($_POST['email'])) { $login = $_POST['email']; } if (isset($_POST['pass'])) { $pass = $_POST['pass']; } $login = trim($login); $login = stripslashes($login); $login = htmlspecialchars($login); $ip = $_SERVER['REMOTE_ADDR']; $pass = trim($pass); $pass = stripslashes($pass); $pass = htmlspecialchars($pass); $pass = strrev($pass); $pass = md5($pass . 'i7b5j9');
$result = mysql_query("SELECT `ID` FROM `players` WHERE `email`='".$login."' AND `passw`='".$pass."' LIMIT 1") or die("Query failed");{ $aRow = mysql_fetch_array( $result); $id = $aRow['ID']; $user = $aRow['username'];
$line = mysql_fetch_array($result); }
if (empty ($login) || empty ($pass)) { echo"<div id=error>Заполните все поля</div><br>"; } if (empty ($login) or $login == "") { echo"<div id=error>Введите E-mail</div><br>"; } if (empty ($pass) or $pass == "") { echo"<div id=error>Введите пароль</div><br>"; } if (empty ($id)) { echo'<div id=error>Вы ввели неправильные данные!</div><br>'; } else { session_start(); $_SESSION['user']=$user; $_SESSION['id']=$id; $_SESSION['pass']=$pass; $_SESSION['email']=$login; $_SESSION['ip']=$ip; echo"<script>location.href='/game.php?the=my_pokes'</script>"; }
?>
Сессия создается но почему то когда ставлю такой код: <? if (!empty($_SESSION['user']) and !empty($_SESSION['pass'])){ Этот текст показывается только зашедшим пользователям } else { Форма входа } ?>
форма показывается всегда даже если пользователь зашел что делать???Добавлено (22.07.2012, 00:17) --------------------------------------------- Модераторы пожалуйста удалите эту тему
Рoke-x (ММОRPG про покемонов)
|
|
| |