Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Пароль на главную страничку
 
 автор: DelbI4   (07.03.2006 в 10:44)
 
 

сделал спец. тему для того что бы, когда заходишь в самую главною директорию, например: http://site/ , высвечивалась табличка, введите логин и пароль. скрипт без БД простой, но пхп изучаю 2 день, пишу как сам могу так лучше запоминается.. :))
но возникла проблема, которой я не могу дать объяснение.

код файла auth.php:
<?php 
if ($password == 'omfg') {
header ("location: testsite/index.html");
} else {
header ("location: error.php?auth=error_auth");
}
?> 


все работает нормально, но как видно, это проверка на правильность пароля, протестил, все работает нормально далее маленькие изменения:
if (($user == 'myname') && ($password == 'omfg')) { ...


а это часть кода form.php:
echo "User <input type=\"text\" name=\"user\"/><br>\n";
echo "Pass <input type=\"password\" name=\"password\"/><br>\n";


В итоге что, при правильно введенных значениях (как не крути), всегда выдает ошибку, то бишь посылает на
error.php?auth=error_auth

В чем собственно трабл?

   
 
 автор: Drago   (07.03.2006 в 11:00)   письмо автору
 
   для: DelbI4   (07.03.2006 в 10:44)
 

Не знаю, у меня при вводе 'myname' и 'omfg', происходит редирект на testsite/index.html.
Проверьте, возможно вы ошиблись при вводе.

Мой код

<?php
if (!isset ($_POST['send']))
{
  echo 
"<form method=post action=\"\">";
  echo 
"User <input type=\"text\" name=\"user\"/><br>\n";
  echo 
"Pass <input type=\"password\" name=\"password\"/><br>\n";
  echo 
"<input type=submit name=send>";
  echo 
"</form>";
}
else
{
  if ((
$user == "myname") && ($password == "omfg"))
    
header ("location: testsite/index.html");
  else
    
header ("location: error.php?auth=error_auth");
}
?>


*******
Этот код будет работать, только если register_globals "on"

Попробуйте заменить

if (($user == 'myname') && ($password == 'omfg'))

на

if (($_POST['user'] == 'myname') && ($_POST['password'] == 'omfg'))

   
 
 автор: DelbI4   (07.03.2006 в 13:07)
 
   для: Drago   (07.03.2006 в 11:00)
 

if (($_POST['user'] == 'myname') && ($_POST['password'] == 'omfg')) 

Проканало, thx gl

   
 
 автор: kasmanaft   (07.03.2006 в 11:04)   письмо автору
 
   для: DelbI4   (07.03.2006 в 10:44)
 

может быть вы неправильно с формой работаете?
значением поля "action" формы должно быть название скрипта. Затем жмет кнопку submit, скритп перегружается и то, что было записано в форме, будет доступно вот так:
(допустим использовали метод post в форме)

$_POST['name'] где 'name' это имя поля формы...

этот $_POST['name'] и нужно проверять...
у вас в примере будет $_POST['user'] и $_POST['password'] соответственно. (в этих переменных хранится значение из формы)

   
 
 автор: Саша   (07.03.2006 в 11:09)   письмо автору
 
   для: DelbI4   (07.03.2006 в 10:44)
 

Дай полностью код form.php

   
 
 автор: DelbI4   (07.03.2006 в 12:30)
 
   для: Саша   (07.03.2006 в 11:09)
 

<?php
echo "<table width=\"100%\" height=\"95%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">";
echo 
"<tr>";
echo 
"<td align=\"center\" valign=\"middle\">";
echo 
"<center>Music style's: Trance, House, Techno, Drum'n'Bass<br>we dancing, music live's</center>";
echo 
"<form action = \"auth.php\" method=\"POST\">";
echo 
"<table>";
echo 
"User</font> <input type=\"text\" name=\"user\"/><br>\n";
echo 
"Pass</font> <input type=\"password\" name=\"password\"/><br>\n";
echo 
"</table>";
echo 
"<input type=submit value=\"Вход\">\n";
?>

   
 
 автор: Саша   (07.03.2006 в 13:12)   письмо автору
 
   для: DelbI4   (07.03.2006 в 12:30)
 

вообще то пропущен конец формы, но не думаю что в этом ошибка.
Тогда попробуй убрать проверку с паролем... и переписать условие так

if ($user == "myname")....

   
 
 автор: DelbI4   (07.03.2006 в 13:23)
 
   для: Саша   (07.03.2006 в 13:12)
 

Конец формы не пропущен
смотри index.php:
<?php 
include("header.php");
include(
"body.html");
include(
"form.php");
include(
"footer.php");
include(
"flash.php");
?> 

и как я уже писал выше
if (($_POST['user'] == 'myname') && ($_POST['password'] == 'omfg')) { 

Прекрасно работает...

p.s Тему можно закрывать

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования