|
страница доступа по паролюОбсуждение темы страница доступа по паролю в разделе ASP, Perl, PHP и MySQL, часть категории ВЕБ-ПРОГРАММИРОВАНИЕ; При написании страницы для разрешения доступа к меню админа галлереии возникла вот такая проблема --- после того как введен пароль страничка должна дать ... |
|
Опции темы |
27.01.2006, 22:42 | #1 |
|
При написании страницы для разрешения доступа к меню админа галлереии возникла вот такая проблема --- после того как введен пароль страничка должна дать доступ к меню настроек, но вместо этого снова спрашивается пароль и только после того как он снова введен и отправлен получаешь доступ к меню, т.е. пароль почему-то спрашивается дважды. Листинг странички такой:
if (!isset($_COOKIE["bunya"])): /*IsSet($bunya) === false*/ if (isset($_POST['passd'])): if ($_POST['pass'] == 'bubu') { setcookie("bunya","allow", 0, "/", $HTTP_HOST, 0) or die("cannot set cookie"); /*действия если пароль подошел*/ } else{ /*если пароль не подошел*/ } else: /* вывод формы для ввода пароля*/ endif; else: if (isset($mode)):/*mode скрытое поле в форме меню админа*/ /*выполняем действия выбранные пользователем в меню админа*/ else: /*вывод меню админа*/ endif; endif; |
|
27.01.2006, 23:27 | #2 |
|
В самом верху сделай ещё один иф, который проверяет,, правилен ли куки, и если он правельный то пишешь свой админ меню, если он не правильный то форму для пароля.
А там где ты проверяешь переменную POST если она верна то запиши информацию в куки и сделай переход н эту же страницу header("Location: adm.php"); P.S если что-то не понятно, спроси у меня, я обитаю тут forum.mweb.ru Jeid добавил [date]1138394045[/date]: твоя пробелма состоит в том, что ты нажимаешь на кнопку формы, но сначалы ты проверяешь куки(который пуст) а уж тока потом его записываешь, поэтому требуется вводить пароль два раза, хотя второй раз вовсе не обязательно еговводить правильно и так откроется, если проверок больше нигде не будет |
|
28.01.2006, 13:39 | #3 |
|
Вот скрипт, который я, написав однажды, теперь использую всегда, когда речь идёт именно о панели админа:
PHP код:
При этом, на одном уровне с файлами с этим скриптом должен находиться файл accounts.txt с текстом вида: логин1\tпароль1\n логин2\tпароль2\n логин3\tпароль3 (т.е. через табуляцию) Чтобы выйти из админки и залогиниться заново, есть файл logout.php: PHP код:
|
|
29.01.2006, 13:05 | #4 |
|
скрипт класс!!!!!
я чайеик и хотел спросить как записывать логин 'baho' и парол '123' baho\t123\n чавото не работает вход. Если не правельно плж исправте СПАСИБО!!! |
|
29.01.2006, 13:51 | #5 |
|
Сека. Покорнейше благодарю за скрипт!
Обычно я использую авторизацию через штмл-форму, но теперь видимо в некоторых варинтах придётся изменить структуру входа. Сохранил! Вижу только один недостаток, это- текстовый файл как хранилище паролей. sl_play добавил [date]1138533734[/date]: Странно! В пределах локалхоста всё прекрасно работало, загрузил на сервер присобачив к однойстранице парольный вход. Скопировал файл и с парлдем и логином, выставил права. Вообщем вроде всё правильно сделал. Но работать скрип перестал. Пишу логин и пароль , что в файле - опять выскакивает окно для ввода логина и пароля. Хост на линуксе, может дело в хосте и апаче который у них. Вообщем сам понять ничерта не могу. |
|
29.01.2006, 20:40 | #6 |
|
baho, \t - это значит табуляция. Т.е. надо между логином и пароле кнопку TAB нажать.
sl_play, смотри: $file=fopen("accounts.txt", "r"); $data=file("accounts.txt"); fclose($file); тут читается файл. А вот тут: $parts=explode("\t",$data[$i]); каждая строка поочереди разбивается на кусочки через табуляцию. Т.о., если файл с паролями такой: login pass login2 pass2 то будет две итерации цикла. На первой в переменную $parts[0] занесётся "login", а в $parts[1] занесётся "pass". На второй соответственно "login2" и "pass2". дальше идёт проверка по этим переменным. Если есть желание, можешь сюда прикрутить проверку из БД. Вот, как я делал с БД: PHP код:
PHP код:
Апач тут, скорее всего, не при чём. Проверь путь к файлу. Это раз. Возможно, на сервере проблема с настройкой сессий. Ведь суть скрипта в том, что он первый раз выкидывает окно для пароля, а потом запоминает логин и пароль в сессии. И в следующий раз смотрит: если в сессии пароль есть и он правильный, то запрос снова выдавать не надо. |
|
29.01.2006, 20:49 | #7 | |
|
sl_play,
Цитата:
|
|
|
29.01.2006, 20:50 | #8 |
|
baho, а \n соответствует кноке Enter.
|
|
29.01.2006, 21:05 | #9 |
|
seka, ОГРОМНЫЙ РЕСПЕКТ за разьяснение. Все работает!!!! и радует глаз!!!
СПАСИБО!!!! |
|
29.01.2006, 22:01 | #10 |
|
seka, блин, прости, и вправду перепутал тебя с сильвером.
Скажу сразу, что я в скрипте сменил $gg_fuCnameKEY095rr = $_SERVER['PHP_AUTH_USER']; $ht_fingKEpassTRRErr = $_SERVER['PHP_AUTH_PW']; на $_SESSION['gg_fuCnameKEY095rr'] = $_SERVER['PHP_AUTH_USER']; $_SESSION['ht_fingKEpassTRRErr'] = $_SERVER['PHP_AUTH_PW']; думаю это не повлияло на работу скрипта. P.S. понял почему тебя спутал с сильверов, всё дело в твоём логотипе(аватаре). |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
нет доступа к phpMyAdmin | Ola123 | ASP, Perl, PHP и MySQL | 6 | 17.10.2008 10:57 |
Права доступа Chmod ??? | anton | ASP, Perl, PHP и MySQL | 2 | 02.08.2007 19:22 |
Ввод в MySql по логину и паролю | GentleVampire | HTML, CSS, JavaScript | 2 | 06.02.2005 18:47 |
Права доступа к Upload | candy_man | HTML, CSS, JavaScript | 2 | 29.03.2004 09:48 |
Права доступа на php | curious | HTML, CSS, JavaScript | 7 | 22.02.2004 23:08 |
Реклама на форуме
Условия размещения рекламы
Биржа ссылок
Заработай на сайте!
|