|
автор: 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
В чем собственно трабл? | |
|
|
|
|
|
|
|
для: 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 | |
|
|
|
|
|
|
|
для: DelbI4
(07.03.2006 в 10:44)
| | может быть вы неправильно с формой работаете?
значением поля "action" формы должно быть название скрипта. Затем жмет кнопку submit, скритп перегружается и то, что было записано в форме, будет доступно вот так:
(допустим использовали метод post в форме)
$_POST['name'] где 'name' это имя поля формы...
этот $_POST['name'] и нужно проверять...
у вас в примере будет $_POST['user'] и $_POST['password'] соответственно. (в этих переменных хранится значение из формы) | |
|
|
|
|
|
|
|
для: 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";
?>
|
| |
|
|
|
|
|
|
|
для: 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 Тему можно закрывать | |
|
|
|