=)
Совсем уже крыша едет, никак не могу сообразить что не так.
То ли лыжи не едут, то ли я...
Короче вот в чем суть проблемы:
Index делает проверку на наличие user_id, если нету тогда подключает login.html, если данные есть должен подключать другой файл, но:
После ввода логина и пароля, юзера перекидывает на auth.php, а затем возвращает на index.php, но почему-то возвращает уже без сессионных данных, в результате получается что мы авторизовываемся, появляется надпись "Вы успешно зашли", а патом опять "Введите логин и пароль".
Auth.php
Спойлер (Отобразить)PHP:
скопировать код в буфер обмена
include_once "{$_SERVER['DOCUMENT_ROOT']}/assets/files/config.php"; //подключаем конфигурацию dbConnect() ; //вызываем функцию if(isset($_GET['logoff'])) //если послана команда выхода { $_SESSION = array(); //берем массив сессии unset($_SESSION['password'],$_SESSION['login'],$_SESSION['id'],$lvl,$level); if($_POST['submit']=='Enter') //если послана команда войти { $err = array(); //создаём массив для ошибок if (isset($_POST['login'])) { $login = $_POST['login']; //проверяем логин if ($login == '') { unset($login);} } //если логина нет уничтожаем переменную if (isset($_POST['password'])) { $password=$_POST['password']; //проверяем пароль if ($password =='') { unset($password);} } //если его нет уничтожаем переменную if (empty($login) or empty($password)) //если логин или пароль пустые тогда {$err[]=$lang['panel.error.auth.null'];}//выводим сообщение об ошибке if (empty($err)) //если ошибки нет проверяем логин и пароль $password = trim($password); $password = md5($password); $q="SELECT * FROM auth WHERE login='$login' AND password='$password'"; $r = mysql_query($q);//вытягиваем данные из БД из таблицы Users где есть такой логин и такой пароль if (empty($m['id'])) //Если id не найден {$err[]='Not Found';}//выдаём сообщение //если есть такой пользователь, то вытягиваем всю информаию о нём else { $_SESSION['login']=$myrow['login']; $_SESSION['password']=$myrow['password']; $_SESSION['id']=$myrow['id']; echo "Авторизация прошла успешно. Ваш логин {$login} переадресация произойдёт через несколько секунд.";} echo '<meta http-equiv="refresh" content="3; url=/">';} } ?>
Index.phpСпойлер (Отобразить)PHP:
скопировать код в буфер обмена
require_once "{$_SERVER['DOCUMENT_ROOT']}/assets/files/config.php"; require_once "{$_SERVER['DOCUMENT_ROOT']}/assets/files/auth.php";?> <? if ( stristr($_SERVER['HTTP_USER_AGENT'], 'Firefox') ) $brows='firefox'; elseif ( stristr($_SERVER['HTTP_USER_AGENT'], 'Chrome') ) $brows='chrome'; elseif ( stristr($_SERVER['HTTP_USER_AGENT'], 'Safari') ) $brows='safari'; elseif ( stristr($_SERVER['HTTP_USER_AGENT'], 'Opera') ) $brows='opera'; elseif ( stristr($_SERVER['HTTP_USER_AGENT'], 'MSIE 6.0') ) $brows='ie6'; elseif ( stristr($_SERVER['HTTP_USER_AGENT'], 'MSIE 7.0') ) $brows='ie7'; elseif ( stristr($_SERVER['HTTP_USER_AGENT'], 'MSIE 8.0') ) $brows='ie8'; if ($brows!=='chrome'){echo '<h1>Для правильной работы требуется установить <a href="http://www.google.ru/chrome?hl=ru&brand=CHMI">Google Chrome</a></h1><br>Ваш браузер '.$brows.' не поддерживается, пожалуйста зайдите через Chrome*';;} elseif (($brows=='chrome') and (!empty($_SESSION['id']))){echo $content;} elseif (($brows=='chrome') and (empty($_SESSION['id']))){echo $authform;}
(Отредактировано автором: 08 Сентября, 2011 - 10:43:06)
|