Не работает header.

whatever

Новичок
Не работает header.

PHP v4.4.4.4, Apache 1.3.4, Win xp.

Не работает код:

PHP:
    session_start(); 
 
    if($Submit){ 
  
 
        if(($user_name=="admin")&&($user_pass=="kpss")){ 
            $logged_user = $user_name; 
 
            session_register("logged_user"); 
     
            header("Location: secretplace.php"); 
            exit; 
        } 
    }
<html>
<body>
Вы ввели неверный пароль!
</body>
</html>

Вопрос. Что могло произойти (учитывая что ничего не происходило и все работало ;) ) - что перестал работать header?
Все лежит в одной папке. Все имена, пароли пути проверены 800 раз.
Раскомментировал в httpd.conf :
LoadModule headers_module modules/mod_headers.so
AddModule mod_headers.c

Все равно. Исполняется только хтмл код (приведенный выше). Если сможете что-нибудь посоветовать - буду очень рад. Сломал голову. Спасибо
 

Фанат

oncle terrible
Команда форума
не понял.
если ИСПОЛНЯЕТСЯ хтмл код (приведенный выше), то при чём здесь работа или неработа header?
 

whatever

Новичок
Только начал изучать PHP. И нашел в интернете вот такое пример
авторизации пользователей.

С вашего позволения напишу его сюда.

[не надо ничего писать сюда]
 

AmdY

Пью пиво
Команда форума
смотри if(!isset($logged_user)), $logged_user - откуда берёшь?
я так понял у тебя апач и PHP настроены?
 

Фанат

oncle terrible
Команда форума
whatever
скажи, ты логику этого скрипта понимаешь?
На мой вопрос ответить можешь?

AmdY
Не мог бы ты помолчать, пожалуйста?
 
попробуй вот так
PHP:
if($Submit){
echo "Сабмит формы.";
// проверяем данные на правильность...
// и при совпадении дать доступ пользователю...
if(($user_name=="admin")&&($user_pass=="kpss")){
echo "Пароль и имя правильные.";
$logged_user = $user_name;
// запоминаем имя пользователя
session_register("logged_user");
// и переправляем его на <секретную> страницу...
echo "Перенапрявляем";
//header("Location: secretplace.php");
exit;
}
и скажи увидешь ли ты надписи
Сабмит формы.
Пароль и имя правильные.
?
 

Фанат

oncle terrible
Команда форума
whatever
не надо заниматься ерундой и выполнять код nofx
что он выведет - и так ясно.

надо только ответить на мой вопрос.
 

whatever

Новичок
Фанат
Я правильно понимаю, что header отправляет на соответствующую страницу secretplace.php? (если выполняется if. а if вроде выполняется).

-~{}~ 24.01.07 19:00:

AmdY
я если чесно не очень понимаю что такое !isset, но он мне пока и не нужен. мне бы на другую страничку переправиться.
 

whatever

Новичок
nofx
но как так? я что долже описать переменные сначала, я правильно понял? всмысле считать юзернейм и пассворд и засунуть их в user_name и user_pass соответственно, а потом уже с ними играться?
 

whatever

Новичок
Фанат
я видимо не прав. все таки надо сначала описать переменные user_name и user_pass.сейчас попробую
 

Фанат

oncle terrible
Команда форума
whatever
погоди с переменными.
сначала ПОЙМИ, как работает твой скрипт.
перестань искать решение проблемы с header! у тебя есть более важная проблема! Ты не понимаешь, как работает твой скрипт.
ты понимаешь, что делает команда exit?

-~{}~ 24.01.07 19:06:

фак! ЗАБУДЬ ПРО ПЕРЕМЕННЫЕ user_name и user_pass!!!!!

блин, стоило одному чайнику заикнуться про пару переменных - и всё.
 

whatever

Новичок
Фанат
вот нашел похожую проблему на другом форуме. "вывод начинается до отправки заголовка с переадресацией"
я конечно не знаю что такое exit. но если его сунули в пример, наверное он зачем то нужен ;)

-~{}~ 24.01.07 19:12:

все все, не трожу я переменные. все равно не работает :)
 
whatever
вот тут http://phpfaq.ru/ собрана информация, которая тебе очень пригодится, начни с первой ссылки...
постепенно переходи к другим.
узнай чем занимаются каждая функция в твоем найденом коде...
разберись в нем полностью, постарайся понять как он работает.
спрашивай что тебе в том коде не понятно как и что и почему...
..
 

Фанат

oncle terrible
Команда форума
круто.
"мужики, помогите. машина не едет. все на месте, только колес не хватает. Вот, на другом форуме нашел похожую проблему - у чувака бензин кончился. но проблема та же самая"

-~{}~ 24.01.07 19:14:

exit завершает работу скрипта. совсем.
об этом можно прочитать в документации. а не гадать на кофейной гуще
 

whatever

Новичок
nofx
спасибо. супер, буду курить. но все же, в чем секрет. хотя бы на пальцах..
 

Фанат

oncle terrible
Команда форума
секрет в том, что ты не понимаешь логики.
не исполняешь свой скрипт в голове.
потому, что если бы до хидера доходило дело, то хтмл код мы бы не увидели.
это ясно из логики скрипта.
из одного вшивого IF - оператора условного перехода.

и прежде, чем вообще хоть что-то делать, прежде, чем даже читать http://phpfaq.ru/, надо сначала нучиться понимать, что написано в программе. Начиная с таких вот, примитивных
 
Сверху