Forum Webscript.Ru

Программирование => PHP => Тема начата: professorX от 17 Мая 2005, 13:30:15

Название: Проблемы с функцией header
Отправлено: professorX от 17 Мая 2005, 13:30:15
Я на сайте хочу сделать, чтобы в зависимости от параметра $_GET["action"] менялось содержимое и функциональность страницы. Но когда я хочу после обработки данных перенаправить на ту же страницу, но с action, равным другому значению, не работает... Т. е. остается на предыдущей функциональности - в строке пишет новое значение action, а выводит информацию предыдущего action. Перенаправить пытаюсь так:

header ("Location: ". $projectUrl . "?action=login");

Почему не работает. И что с этим можно сделать???
Название: Проблемы с функцией header
Отправлено: Меняздесьдавнонет от 18 Мая 2005, 11:11:35
очень запутаный вопрос
гет, экшен, хидер - всё в кучу, в кашу.

Всё, что могу порекомендовать - пособие по отладке: PHP FAQ: Ничего не работает! Что делать??? (http://phpfaq.ru/debug)
ЧИТАТЬ - ЦЕЛИКОМ. а не только про вывод ошибок.
Название: Проблемы с функцией header
Отправлено: professorX от 18 Мая 2005, 11:51:58
action - это название переменной (я ее так назвал)
$action = $_GET["action"]

Вопрос - почему не работает перенаправление???

Ошибок никаких нет, просто остается на том же месте, хотя в строке броузера отображается правильное значение action.

Например, я находился на странице логина:
$projectUrl . "?action=login"

Ввел логин и пароль. И при правильном введении должно быть перенаправление на:
$projectUrl . "?action=page"

В строке броузера пишется правильно, как надо:
$projectUrl . "?action=page"

НО фактически остаюсь на странице логина.

Непонятно, почему так... И как это побороть.

$projectUrl равен, например: http://www.mysite.ru/
Название: Проблемы с функцией header
Отправлено: Меняздесьдавнонет от 18 Мая 2005, 15:25:15
побороть это можно только одним способом - исправив кривой код.
Название: Проблемы с функцией header
Отправлено: professorX от 18 Мая 2005, 17:56:17
RomikChef
а в чем кривизна???
Может, подскажете... Я не вижу оснований так говорить.
Название: Проблемы с функцией header
Отправлено: Меняздесьдавнонет от 18 Мая 2005, 18:39:45
как это - не видишь?
у тебя всё работает?
или ты считаешь, что это подлая система кривая, а твой скрипт написан идеально?
Название: Проблемы с функцией header
Отправлено: professorX от 19 Мая 2005, 09:57:06
RomikChef
по-моему, я и написал для того, чтобы разобраться, почему не работает... Я не говорю, что у меня идеальный код, но и кривости не наблюдаю.
Может, я что-то не так записываю... Просто всегда хидер работал нормально. правда, я не использовал перенаправление с параметром (т. е. с "?var=znachenie"). Может, здесь какая-нибудь специфика.
Да, я не вижу, в чем неправильность у меня.
Название: Проблемы с функцией header
Отправлено: professorX от 19 Мая 2005, 12:43:55
млин!!! Немного не так!
Сейчас смотрел, получается, что в строке броузера он не меняет значение переменной action. Т. е. я пишу в скрипте:

header ("Location: ". $projectUrl . "?action=page");

А он не перенаправляет!!! Остается на той же странице (т. е. значение action остается тем же, например, http://www.mysite/?action=login)!!! Но никаких ошибок не выдает!

Может, хидер не воспринимает такую передачу параметров???
Название: Проблемы с функцией header
Отправлено: Lutik от 19 Мая 2005, 13:14:58
Все он воспринимает!!! у тебя скрипт его просто не отправляет потомучто у тя выше в скрипте гдето ошибка!!! Неправильнаю логика или что нить...
Название: Проблемы с функцией header
Отправлено: professorX от 19 Мая 2005, 13:18:29
RomikChef
сударь, приношу извинения! Настолько заработался, что не в состоянии был заметить малюсенькую ошибочку (нет, не в коде) в алгоритме. ХА! Самому смешно...

Благодарю за внимание. Разобрался! Сам дурак!
Название: Проблемы с функцией header
Отправлено: Lutik от 19 Мая 2005, 13:22:49
Отож!! А то панику развел :)
Название: Проблемы с функцией header
Отправлено: professorX от 19 Мая 2005, 13:57:51
Lutik
да, я не паниковал. Просто не очень нравится, когда не понимаю, где ошибочка вкралась... Постараюсь быть еще более внимательным. )
Название: Проблемы с функцией header
Отправлено: Меняздесьдавнонет от 20 Мая 2005, 12:23:05
проблема не в невнимательности.
а в том, что человек не верит, что ошибка именно у него.
чем быстрее поверит - тем быстрее найдёт.