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

Форум PHP

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

 

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

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

тема: Очистка POST и GET
 
 автор: iriter   (05.06.2007 в 20:19)   письмо автору
 
 

Как очистить POST & GET переменные?
Допустим послал через форму данные, обычно при обновлении страницы этой же браузер спрашивает Не удаеться обновить страницу без повторной отправки данных...
Как очитить эти переменные сразу после перехода на страницу и после того когда я уже использовал отправленные переменные? Любой способ!

   
 
 автор: ddhvvn   (05.06.2007 в 20:37)   письмо автору
 
   для: iriter   (05.06.2007 в 20:19)
 

Хм...

<?php
//на странице обработчике...
  
unset($_GET);
  unset(
$_POST);
?>


Хотя возможно я Вас не понял...

   
 
 автор: mesos   (05.06.2007 в 20:55)   письмо автору
 
   для: iriter   (05.06.2007 в 20:19)
 

Нужно перезагрузить страницу:

<?php

$url 
'http://www.site.ru/somepage.php';

header("Location: $url");

?>

   
 
 автор: iriter   (06.06.2007 в 16:44)   письмо автору
 
   для: mesos   (05.06.2007 в 20:55)
 

Когда я вставляю такой код в середину стр. выводится ошибка о какой-то ложной модификации header или чо то подобное. и никуда не переадресовывает!
Неужели его только до <html>... можно ставить?

   
 
 автор: Trianon   (06.06.2007 в 16:49)   письмо автору
 
   для: iriter   (06.06.2007 в 16:44)
 

header Вы вставляете для того, чтобы перебросить браузер на другую страницу. Соответственно выводить что-либо в этой странице - даже, как Вы выражаетесь <html> - бессмысленно. Кроме того, поскольку заголовки физически следуют до начала самого документа, этого делать нельзя. Это примерно как, отправив со станции поезд, пытаться поменять у него паровоз.
Одновременное "нельзя" и "бессмысленно" - достаточно для того, чтоб всё же не выводить <html> и прочий текст в этом месте?

   
 
 автор: itica   (06.06.2007 в 17:07)   письмо автору
 
   для: iriter   (06.06.2007 в 16:44)
 

Если до редиректа нужно выводить текст, то можно сделать его (редирект) так:

<meta http-equiv="refresh" content="0; URL=index.php">

   
 
 автор: iriter   (11.06.2007 в 18:25)   письмо автору
 
   для: itica   (06.06.2007 в 17:07)
 

Кстати, по правилам html

<meta http-equiv="refresh" content="0; URL=index.php">

можно вставлять где угодно? или только в <head></head>

   
 
 автор: kasmanaft   (11.06.2007 в 18:38)   письмо автору
 
   для: iriter   (11.06.2007 в 18:25)
 

Элемент META - может содержаться только в "шапке" документа, т.е. принадлежит элементу HEAD (соответственно находится он должен между тегами <head> </head> которые, вообще-то, для элемента HEAD не обязательны).
- - -
Вобщем, вставлять нужно в элемент HEAD :)

   
 
 автор: Trianon   (05.06.2007 в 21:11)   письмо автору
 
   для: iriter   (05.06.2007 в 20:19)
 

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

Браузер по кнопке F5 начнет заново формировать последний запрос в истории.
Соответственно, когда новый запрос попадет на сервер - для скрипта будут сформированы новые входные переменные.
Задача заключается в том, чтобы не дать браузеру записать старый запрос в историю запросов.
Делается это, как показал mesos, клиентским редиректом - выбросом заголовка Location с новым GET-запросом, который не модифицирует ничего на сервере, а только отрисовывает результирующую страницу.
Браузер запомнит в истории именно этот - перенаправленный запрос.

   
Rambler's Top100
вверх

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