|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
09.11.2010, 15:20 | #1 |
Заблокирован
Регистрация: 05.09.2010
Сообщений: 23
|
Авториазция не проходит, не чего не пишет
<?php include_once("connect.php"); if(isset($_POST['auth_submit'])) { $login = $_POST['login']; $password = $_POST['password']; $login=mysql_real_escape_string($lo gin); $password=mysql_real_escape_string( $password); $query = "SELECT id, login, password FROM users WHERE login ='{$login}' AND password='{$password}' LIMIT 1"; $sql = mysql_query($query) or die(mysql_error()); if (mysql_num_rows($sql) == 1) echo 'Авторизация прошла успешно'; else echo 'Неправильное имя или пароль'; } ?> И когда авторизировались, как понять авторизировались мы или нет? Должно писать Авторизация прошла успешно или Неправильное имя или пароль, но не чего не пишет И как использоватеть сесию и что это такое!!! Если можно по подробнее, я новечек Последний раз редактировалось SkyM@n; 09.11.2010 в 16:45. |
09.11.2010, 15:38 | #2 |
Старожил
Регистрация: 25.02.2007
Сообщений: 4,160
|
судя по всему ошибка происходит или
в include_once("connect.php"); а вообще скорее всего не выолняется условие PHP код:
|
10.11.2010, 19:03 | #3 |
Пользователь
Регистрация: 20.11.2009
Сообщений: 11
|
Построй правильнее структуру (раздели обработку и вывод)! И будет видна ошибка!
login.php PHP код:
Код HTML:
<?php echo $info ?><br /> <form action='' method="POST"> <input type="text" name="login" value="<?php echo $POST['login'] ?>"><br /> <input type="password" name="password" value="<?php echo $POST['password'] ?>"><br /> <input type="submit" name="auth_submit" value="отправить!"><br /> <form> |
10.11.2010, 19:21 | #4 |
Заблокирован
Регистрация: 05.09.2010
Сообщений: 23
|
index.php
<?php session_start(); mysql_connect('localhost','olgamlm' ,'VhJuxwOk') or die(mysql_error()); mysql_select_db('olgamlm') or die(mysql_error()); mysql_query('SET NAMES cp1251'); include('uni-auth.php'); if(USER_LOGGED) { if(!check_user($UserID)) logout(); ?> <h1>Здравствуйте, <?php echo $UserName; ?>!</h1> <h2>Ваш ID: <?php echo $UserID; ?>.</h2> <h4><a href="?logout">Выход</a></h4> <?php } else { ?> <form method="POST" action="<?php echo $_SERVER['PHP_SELF']; ?>"> <table> <tr> <td>Имя:</td><td><input type="text" name="user"></td> </tr> <tr> <td>Пароль:</td><td><input type="password" name="pass"></td> </tr> <tr> <td colspan="2"><input type="submit" name="login" value="Войти"></td> </tr> </table> </form> <?php } ?> uni-auth.php <?php /* Универсальный скрипт авторизации. Используется сессии для хранения данных. Скрипт типа "всё-в-одном" - его необходимо включать в каждый файл для использования. Распространяется по лицензии BSD. +Требования: +-Mysql & PHP5 +-Созданое подключение к MySQL и запущеная сессия =) (c)2008 Vasilii B. Shpilchin */ ##Определяем константы define('USERS2_TABLE','users2'); define('SID',session_id()); ##Определяем функции //Функция выхода. //Пользователь считается авторизированым, если в сессии присутствует uid //см. "Действия - если пользователь авторизирован". function logout() { session_unregister('uid'); //Удаляем из сессии ID пользователя die(header('Location: '.$_SERVER['PHP_SELF'])); } //Функция входа. //Все выбраные поля записываются в сессию. //Таким образом, при каждом просмотре страницы не надо выбирать их заново. //Для обновления информации из БД можно пользоваться этой же функцией - имя и пароль //хранятся в сессиях function login($username,$password) { $result = mysql_query("SELECT * FROM `".USERS2_TABLE."` WHERE `username`='$username' AND `password`='$password';") or die(mysql_error()); $USER = mysql_fetch_array($result,1); //Генерирует удобный массив из результата запроса if(!empty($USER)) { //Если массив не пустой (это значит, что пара имя/пароль верная) $_SESSION = array_merge($_SESSION,$USER); //Добавляем массив с пользователем к массиву сессии mysql_query("UPDATE `".USERS2_TABLE."` SET `sid`='".SID."' WHERE `uid`='".$USER['uid']."';") or die(mysql_error()); return true; } else { return false; } } //Функция проверки залогинности пользователя. //При входе, ID сессии записывается в БД. //Если ID текущей сессии и SID из БД не совпадают, производится logout. //Благородя этому нельзя одновременно работать под одним ником с разных браузеров. function check_user($uid) { $result = mysql_query("SELECT `sid` FROM `".USERS2_TABLE."` WHERE `uid`='$uid';") or die(mysql_error()); $sid = mysql_result($result,0); return $sid==SID ? true : false; } ##Действия - если пользователь авторизирован if(isset($_SESSION['uid'])) { //Если была произведена авторизация, то в сессии есть uid //Константу удобно проверять в любом месте скрипта define('USER_LOGGED',true); //Создаём удобные переменные //Все поля таблицы пользователей записываются в сесси (см. стр. 35-37) //Таким образом, после добавления нового поля в таблицу надо дописть лишь одну строку $UserName = $_SESSION['username']; $UserPass = $_SESSION['password']; $UserID = $_SESSION['uid']; } else { define('USER_LOGGED',false); } ##Действия при попытке входа if (isset($_POST['login'])) { if(get_magic_quotes_gpc()) { //Если слеши автоматически добавляются $_POST['user']=stripslashes($_POST['user']); $_POST['pass']=stripslashes($_POST['pass']); } $user = mysql_real_escape_string($_POST['user']); $pass = mysql_real_escape_string($_POST['pass']); if(login($user,$pass)) { header('Refresh: 3'); die('Вы успешно авторизировались!'); } else { header('Refresh: 3;'); die('Пароль неправильный!'); } } ##Действия при попытке выхода if(isset($_GET['logout'])) { logout(); } ?> |
10.11.2010, 19:25 | #5 |
Пользователь
Регистрация: 20.11.2009
Сообщений: 11
|
Чувак затри пароли к своему аккаунту!
|
10.11.2010, 20:58 | #6 |
Старожил
Регистрация: 25.02.2007
Сообщений: 4,160
|
и ваще - хорош плодить одинаковые темы! ...за это и от модераторов можно схлопотать
|
11.11.2010, 19:30 | #7 |
Заблокирован
Регистрация: 05.09.2010
Сообщений: 23
|
сори!!! Уже не надо!!! Буду без входа ))
|
22.11.2010, 17:55 | #8 |
Регистрация: 09.11.2010
Сообщений: 5
|
Создал карявый скрипт авторизации хотелось бы довести его до ума так как пользователь сможет легко получить доступ к защищенным сраницам вообщем хелп.
Код:
Код:
|
22.11.2010, 20:02 | #9 |
Старожил
Регистрация: 25.02.2007
Сообщений: 4,160
|
ну-ка, скажите, как легко может пользователь получить доступ к страницам?
|
22.11.2010, 21:13 | #10 |
Регистрация: 09.11.2010
Сообщений: 5
|
введя в адресной строке localhost/home.html он попадает на защищенную страницу минуя GSI скрипт авторизации.
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
авторизация | fAtliNg | Работа с сетью в Delphi | 6 | 14.08.2010 20:14 |
Авторизация | Flippp | Общие вопросы C/C++ | 0 | 08.12.2009 11:07 |
Авторизация? | Gromsky | PHP | 5 | 07.08.2009 19:27 |
Авторизация. | Jjoker | Общие вопросы C/C++ | 4 | 28.01.2009 23:17 |
Авторизация | AIst | PHP | 5 | 03.12.2008 20:57 |