Forum Webscript.Ru

Программирование => PHP => Тема начата: woody от 08 Июня 2002, 15:27:32

Название: Помогите найти ошибку в коде
Отправлено: woody от 08 Июня 2002, 15:27:32
Объясните мне глупому, где тут ошибкаЖ

$a=array("adm"=>"pa");
?>


Login:


Password:




elseif($action=="adp"){
if($a[$log]==$pas)
echo "hi";
else
echo "poka";}
?>
Название: Помогите найти ошибку в коде
Отправлено: ThE0ReTiC от 08 Июня 2002, 16:16:48

if($_SERVER["QUERY_STRING"]=="" && $_SERVER["REQUEST_METHOD"]=="GET"){
$a=array("adm"=>"pa");
?>


Login:

 
Password:

 


elseif($action=="adp"){
if($a[$log]==$pas)
echo "hi";
else
echo "poka";}
?>
Название: Помогите найти ошибку в коде
Отправлено: woody от 08 Июня 2002, 19:13:48
Извини, но твой вариант тоже не работает :((
Название: Помогите найти ошибку в коде
Отправлено: GotZfild от 08 Июня 2002, 19:37:00
А что именно-то не работает? Какую ошибку выдает или что?
Название: Помогите найти ошибку в коде
Отправлено: Britva от 08 Июня 2002, 19:38:00
if($_SERVER["QUERY_STRING"]=="" && $_SERVER["REQUEST_METHOD"]=="POST") {
if($action == "adp") {
$a=array("adm"=>"pa");
if(@$a["$log"]==$pas)
echo "hi";
else
echo "poka";
}
} else {
?>


Login:

 
Password:

 


}
?>
Название: Помогите найти ошибку в коде
Отправлено: woody от 08 Июня 2002, 21:33:52
В варианте ThE0ReTiC-a вообще ничего не выводится на экран :), а в моём варианте, программа делает не совсем то что я хочу, а я хочу чтобы программа проверяла имя пользователя и пароль, которые занесены в массив.
Название: Помогите найти ошибку в коде
Отправлено: ThE0ReTiC от 09 Июня 2002, 00:35:15
Сорри, торможу.
register_globals наверняка OFF
Это у меня работает:

print($_SERVER["QUERY_STRING"]);
if($_SERVER["QUERY_STRING"]=="" && $_SERVER["REQUEST_METHOD"]=="GET"){
$a=array("adm"=>"pa");
?>


Login:

 
Password:

 



elseif($HTTP_POST_VARS["actn"]=="adp"){
if($a[$HTTP_POST_VARS["log"]]==$HTTP_POST_VARS["pas"])
echo "hi";
else
echo "poka";}
?>
Название: Помогите найти ошибку в коде
Отправлено: woody от 09 Июня 2002, 16:19:08
Извини ThE0ReTiC но твой вариант всёравно не отображаеися(пустое окно), может всё дело в моём компе или Apache криво поставлен :(.
Название: Помогите найти ошибку в коде
Отправлено: Меняздесьдавнонет от 09 Июня 2002, 16:26:18
тебе надо, чтобы программа проверяла имя и пароль, которые занесены в массив?
Причем, ключ массива - это логин, а значение - пароль?
Название: Помогите найти ошибку в коде
Отправлено: ThE0ReTiC от 09 Июня 2002, 16:26:34
A ты action в форме правильный прописал?
Название: Помогите найти ошибку в коде
Отправлено: ThE0ReTiC от 09 Июня 2002, 16:28:20
RomikChef
Вопросы по теме, плз.
Название: Помогите найти ошибку в коде
Отправлено: woody от 09 Июня 2002, 16:32:13
Я заметил что ты action поменял, и естественно поставил action отправляющий обратно на мой файл.(а что, не надобыло???????)
Название: Помогите найти ошибку в коде
Отправлено: Меняздесьдавнонет от 09 Июня 2002, 16:39:17
Но вообще это неудобная авторизация. Годится только если тебе только надо одну эту страницу посмотреть и никуда не переходить после этого.
Название: Помогите найти ошибку в коде
Отправлено: ThE0ReTiC от 09 Июня 2002, 16:39:59
RomikChef
Так не работает твой примерчик при register_globals=Off
Название: Помогите найти ошибку в коде
Отправлено: ThE0ReTiC от 09 Июня 2002, 16:42:05
woody
Версия РНР какая?
Поставь вместо
print($_SERVER["QUERY_STRING"]);

print_r($HTTP_POST_VARS);

Чего пишет?
Название: Помогите найти ошибку в коде
Отправлено: woody от 09 Июня 2002, 16:46:03
RomikChef огромное спасибо за подсказку, ОНА РАБОТАЕТ!!!!!!! но почему твое собщение в форуме не отобразилось, а только по почте пришло, короче не важно.
P.S. Вот блин, русские по воротам мажут
Название: Помогите найти ошибку в коде
Отправлено: Меняздесьдавнонет от 09 Июня 2002, 16:48:01
О!
Скрипт прост как 5 копеек и полностью отвечает поставленной задаче :-)

$a=array(
"SuperAdmin"=>"SecretPass",
);
$log=$HTTP_POST_VARS[log];   // special for
$pas=$HTTP_POST_VARS[pas]; // ThE0ReTiC  

if (!empty($log) && !empty($pas) && $a[$log]==$pas) {
  echo "Hello, master!";
  exit;
}
?>


Login:

 
Password:

 


Название: Помогите найти ошибку в коде
Отправлено: Меняздесьдавнонет от 09 Июня 2002, 16:48:40
не отобразилось потому, что в нем была ошибка и я его стер :-)
Название: Помогите найти ошибку в коде
Отправлено: Меняздесьдавнонет от 09 Июня 2002, 16:51:45
еще можно вот так проверять
if (isset($a[$log]) && $a[$log]==$pas)
Название: Помогите найти ошибку в коде
Отправлено: woody от 09 Июня 2002, 16:57:01
RomikChef , огромное тебе спасибо   ;)!