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

Форум PHP

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

 

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

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

тема: очистка значений переменных в сессиях
 
 автор: moonfox   (10.04.2007 в 18:54)   письмо автору
 
 

есть проверка
if(isset($_POST['Submit']) && $mode=='upload')

это проверяется при наличии сессии
и при обновлении страницы переменые плпрежнему имеют свои значения и заново срабатывает обработчик .. как быть?

   
 
 автор: moonfox   (10.04.2007 в 22:18)   письмо автору
 
   для: moonfox   (10.04.2007 в 18:54)
 

помогите плиз

   
 
 автор: AlexSol   (10.04.2007 в 22:21)   письмо автору
 
   для: moonfox   (10.04.2007 в 22:18)
 

после завершения работы скрипта, но перед выводом инфы в браузер пишете

header("Location:".$_SERVER['PHP_SELF']);

   
 
 автор: moonfox   (11.04.2007 в 02:15)   письмо автору
 
   для: AlexSol   (10.04.2007 в 22:21)
 

дело в том что у меня уже был вывод информации в http заголовок .. страница с обработчиком показывается после прохождения авторицазии..
header("Location:".$_SERVER['PHP_SELF']); - соотвественно этио выдает ошибку ....

   
 
 автор: RV   (11.04.2007 в 04:29)   письмо автору
 
   для: moonfox   (11.04.2007 в 02:15)
 

тогда ob_start() в начало скрипта

   
 
 автор: XPraptor   (11.04.2007 в 04:37)   письмо автору
 
   для: RV   (11.04.2007 в 04:29)
 

Когда обработали данные один раз, то сессии ставите другое значение, которе не пройдет проверку в вашем скрипте при следующем запросе. А если не прошло проверку, то ставите сессии значение которое порйдет проверку при следующем обращении.

   
 
 автор: moonfox   (11.04.2007 в 05:21)   письмо автору
 
   для: XPraptor   (11.04.2007 в 04:37)
 

всем спасибо

   
 
 автор: cheops   (11.04.2007 в 12:45)   письмо автору
 
   для: moonfox   (11.04.2007 в 02:15)
 

Осуществите переадресацию следующим образом
<?php
    
echo "<HTML><HEAD>
          <META HTTP-EQUIV='Refresh' CONTENT='0; URL=
$_SERVER[PHP_SELF]'>
          </HEAD></HTML>"
;
?>

   
 
 автор: XPraptor   (11.04.2007 в 19:32)   письмо автору
 
   для: cheops   (11.04.2007 в 12:45)
 

to cheops:
Бросать надо такие коды уже писать. Все новые браузеры контролят переадресацию через Refresh и по умолчанию она отключена. Чтобы ее включить, нужно лезть в дебри настроек, не каждый опытный справится, а общая масса никогда и не узнает о том что у них она отключена.

Тем более валидатор по Strict такие вещи deprecated. А когда перейдем на xhtml то и подавно.

   
 
 автор: Trianon   (11.04.2007 в 19:55)   письмо автору
 
   для: cheops   (11.04.2007 в 12:45)
 

А я, помимо всего прочего, еще не понимаю, зачем применять META - явно ведь инструмент клиентской стороны, вместо того, чтобы честно послать поле заголовка....

   
 
 автор: XPraptor   (12.04.2007 в 01:18)   письмо автору
 
   для: Trianon   (11.04.2007 в 19:55)
 

Заголовок не всегда пошлешь. Если уже успел вывести ченить или ошибка, а META раньше всегда срабатывала. А вот теперь уже и до нее добрались.

   
 
 автор: Trianon   (12.04.2007 в 09:40)   письмо автору
 
   для: XPraptor   (12.04.2007 в 01:18)
 

В ситуации, когда перед перебросом ничего выводить не надо - всегда послать можно. А таких ситуаций 12 на дюжину.

Между прочим, HTTP 1.1 вроде как позволяет заголовки генерировать вообще в любой момент -хоть после всего тела.... PHP опять же вроде как сей факт напрочь игнорирует.... Если мысли какие по этому э... ньюансу?

   
Rambler's Top100
вверх

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