$admins = array(
'root' => '63a9f0ea7bb98050796b649e85481845',
'123456' => 'e10adc3949ba59abbe56e057f20f883e',
);
Так-же есть файл в котором выполняется проверка логина и пароля, вот его содержание:
foreach($admins as $admin => $pass)
if($POST['admin_login'] === $admin && md5($POST['admin_pass']) === $pass)
$_SESSION['admin'] = true;
if(isset($_SESSION['admin']))
reDirect();
Вопрос: как сделать проверку и присвоить логину имя пользователя, т.е. если использовали логин root то $admin_name='Вася' например.
Я делал вот так:
foreach($admins as $admin => $pass)
$admin_name='';
if($POST['admin_login'] === $admin && md5($POST['admin_pass']) === $pass)
$_SESSION['admin'] = true;
if($POST['admin_login'] === 'root')
$admin_name='Вася';
if(isset($_SESSION['admin']))
reDirect();
Но когда я нажимал кнопку "войти" то отображалось просто имя, а сама форма входа не исчезала. Помогите пожалуйста!
Спустя 1 час, 27 минут, 17 секунд (7.10.2010 - 22:50) Lenarfate написал(а):
потому что скобки надо для цикла ставить. у тебя в цикл входит только первая конструкция, то есть
$admin_name='';, а все остальное как бы и не при чем
Спустя 1 минута, 16 секунд (7.10.2010 - 22:51) twin написал(а):
Не надо там скобки.
Вот так:
А в других файлах читать так:
Вот так:
foreach($admins as $admin => $pass)
if($POST['admin_login'] === $admin && md5($POST['admin_pass']) === $pass)
$_SESSION['admin'] = $POST['admin_login'];
if(isset($_SESSION['admin']))
reDirect();
А в других файлах читать так:
esho $_SESSION['admin'] ;
Спустя 1 час, 20 минут, 28 секунд (8.10.2010 - 00:11) MrRobby написал(а):
twin
Спасибо все работало, но потом почему-то стало выдавать такую ошибку:
Вот 85 строчка:
Вернул все как было, но все равно не помогло=(
Спасибо все работало, но потом почему-то стало выдавать такую ошибку:
Notice: Undefined index: HTTP_REFERER in Z:\home\test1.ru\www\libs\default.php on line 85
Вот 85 строчка:
header('location: '. str_replace("/index.php", "", $_SERVER['HTTP_REFERER']));
Вернул все как было, но все равно не помогло=(
Спустя 17 минут, 35 секунд (8.10.2010 - 00:29) MrRobby написал(а):
так, предыдущую ошибку исправил, но при входе выдает нотис
Undefined index: admin in...
Спустя 6 часов, 28 минут, 10 секунд (8.10.2010 - 06:57) twin написал(а):
Правильно ругается. Инициализировать переменную из массива SESSION нужно точно так же, как и из остальных. И обрабатывать при выводе тоже.
В твоем случае достаточео вывести имя после входа, а не до.
В твоем случае достаточео вывести имя после входа, а не до.
Спустя 8 часов, 1 минута, 34 секунды (8.10.2010 - 14:59) MrRobby написал(а):
twin
Что-то не совсем понял тебя, можно по-подробней? Да и еще вопрос, а если я хочу чтобы логин был один, а имя отображалось другое? ну например логин root а отображалось другое имя? Может составить массив, на подобии того, как было в уроке? вот так:
и потом его как-то через foreach вывести. Вот так например:
Если правильно, то подскажите как дальше пожалуйста
Что-то не совсем понял тебя, можно по-подробней? Да и еще вопрос, а если я хочу чтобы логин был один, а имя отображалось другое? ну например логин root а отображалось другое имя? Может составить массив, на подобии того, как было в уроке? вот так:
$admin_names = array(
'root' => 'Вася',
'123456' => 'Петя',
);
и потом его как-то через foreach вывести. Вот так например:
foreach($admin_names as $admin => $admin_name)
Если правильно, то подскажите как дальше пожалуйста
Спустя 7 минут, 39 секунд (8.10.2010 - 15:06) twin написал(а):
Цитата |
Что-то не совсем понял тебя, можно по-подробней? |
Ну как мы обычно инициализируем переменные...
$login = isset($_SESSION['admin']) ? $_SESSION['admin'] : '';чтобы логин был один, а имя отображалось другое?
echo $login;
$admin_names = array(
'root' => array('Вася', '63a9f0ea7bb98050796b649e85481845'),
'123456' => array('Петя', 'e10adc3949ba59abbe56e057f20f883e'),
);
foreach($admins as $login => $data)
if($POST['admin_login'] == $login && md5($POST['admin_pass']) === $data[1])
$_SESSION['admin'] = $data[0];
if(isset($_SESSION['admin']))
reDirect();
Спустя 4 минуты, 12 секунд (8.10.2010 - 15:10) MrRobby написал(а):
аа все понял спасибо большое!!=)
Спустя 10 дней, 2 часа, 44 минуты, 48 секунд (18.10.2010 - 17:55) lopzan написал(а):
Я чайник, хочу научиться РНР.
Установил из интера ApachHTTPServer2,2 и PHP5.
Настроил ApachHTTPServer2,2 через httpd.conf
Проверил как положено сервер - отвечает.
DHS в службах включен.
В PHP5 не могу найти php.ini, нашел вроде, но он чисто текстовый файл,
но всё равно вставил туда нужный doc_root.
Все попытки написать программку на рнр не получается,
с сервера приходят пустые картинки.
Помогите пожалуйста!
Lopzan
lopzan@rambler.ru
Установил из интера ApachHTTPServer2,2 и PHP5.
Настроил ApachHTTPServer2,2 через httpd.conf
Проверил как положено сервер - отвечает.
DHS в службах включен.
В PHP5 не могу найти php.ini, нашел вроде, но он чисто текстовый файл,
но всё равно вставил туда нужный doc_root.
Все попытки написать программку на рнр не получается,
с сервера приходят пустые картинки.
Помогите пожалуйста!
Lopzan
lopzan@rambler.ru
Спустя 6 минут, 19 секунд (18.10.2010 - 18:02) twin написал(а):
Денвер поставь и не мучайся. Потом научишься сервера поднимать... Если надо станет.