[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: переадресация
Rumych
Добрый день.
Начал изучать PHP, делаю пробный сайт на локальной машине и возникла такая проблема.
Все разделы обрабатывает один скрипт - script.php, структура его такая:
- подключается шапка (include)
- подключается центральное меню(include)
- подключается левое меню(include)
Затем идет центр в котором собственно и отображаются разделы сайта в зависимости от действий пользователя.
Проблема с гостевой книгой, т.е. при добавлении записи, пользователь нажимает "Добавить", запись добавляется но если после этого нажать "обновить" в браузере сообщение опять добавляется.
Пробовал использовать Header() и в основном скрипте и в скрипте который добавляет сообщение, но интерпритатор ругается на то, что его выводу предшествует вывод в браузер текста(если я правильно понял). Или может я его не в том месте использую.
Спасибо.
Игорь_Vasinsky
заголовок посылается до любого вывода (html, echo, print)

замени на аналог с JS document.location.href = 'url';

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
killer8080
Rumych
нужно делать обработку POST запроса до того как начал выводить контент.
Rumych
А где именно использовать код JS?
killer8080
Цитата (Rumych @ 6.11.2012 - 14:36)
А где именно использовать код JS?

Не стоит этого делать, лучше измени логику работы скрипта.
Rumych
Может попробовать обрабатывать гостевую отдельным скриптом?
Rumych
Я имею ввиду независимо от основного.
Игорь_Vasinsky
killer8080
вишь, щас расжёвывать всё придёться.


ты весь html отпусти под обработчик php

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
killer8080
Цитата (Игорь_Vasinsky @ 6.11.2012 - 14:51)
killer8080
вишь, щас расжёвывать всё придёться.

А что делать smile.gif

Rumych
Твоя ошибка в том, что вначале выводишь часть контента, а только потом, в середине вспоминаешь что нужно обработать пост запрос, и что то записать в бд. Меняй логику, вначале проверяешь пришли ли данные, если да, то делаешь их обработку, кидаешь хедером редирект, и останавливаешь скрипт. Всё! Зачем выводить контент, который никто не увидит, и гонять лишний трафик?
VELIK505
Заголовки header надо отдавать до html и пробелы ни бум не должны попадать в код до header.
Как я понял ты делаешь редирект делай на мета тогда редирект
Rumych
Хорошо буду исправлять.
Всем большое спасибо!
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.