Перейти к содержимому

Сервис обмена электронных валют


Как сделать, чтобы при обновлении страницы удалялась глобальная переменная?

#1 surfer

surfer
  • Заблокированные
  • 1 956 сообщений
  • Репутация: 71
0

Отправлено 24 Декабрь 2009 - 17:11

то при обновлении $_POST['add'] не уничтожается

if (isset($_POST['add']))
{
if(!get_magic_quotes_gpc())
{
$name = mysql_escape_string($_POST['name']);
$response = mysql_escape_string($_POST['response']);
}
else
{
$name = $_POST['name'];
$response = $_POST['response'];
}
}
if (isset($_POST['press']))
{
?>
<form name="add" action="index.php?module=guestbook" method="POST">
<input type="text" name="name" value="" />
<textarea name="response" rows="4" cols="20">
</textarea>
<input type="submit" name="add" value="Добавить отзыв" />
</form>
<?php
}

 

 

  • 0

#2 ZiTosS

ZiTosS
  • Пользователь
  • 5 148 сообщений
  • Репутация: 8

Отправлено 25 Декабрь 2009 - 16:59

Перенаправление делай сразу же после выполненных действий, и не забывай завершить исполняемую программу:
if (isset($_POST['add']))
{
if(!get_magic_quotes_gpc())
{
$name = mysql_escape_string($_POST['name']);
$response = mysql_escape_string($_POST['response']);
}
else
{
$name = $_POST['name'];
$response = $_POST['response'];
}
header("location: {$_SERVER['PHP_SELF']}"); // перенаправляем на текущую страницу
exit(); // завершаем обработку(иначе исполнение скрипта продолжится)
}
if (isset($_POST['press']))
{
?>
<form name="add" action="index.php?module=guestbook" method="POST">
<input type="text" name="name" value="" />
<textarea name="response" rows="4" cols="20">
</textarea>
<input type="submit" name="add" value="Добавить отзыв" />
</form>
<?php
}
?>


Внимание:
Не злоупотребляй перенаправлениями и знай, что перенаправление должно идти до любого вывода в браузер контента, т.е. до любого echo, print и так далее.
Если ты уже начнёшь формировать тело сообщения(отсылаемое пользователю при запросе на сервер), то сервером тут же заголовки отправятся клиенту. Поэтому при поытке передать заголовок location после формирования тела, ты получишь предупреждение, что заголовки уже были отправлены клиенту.
  • 0

#3 surfer

surfer
    Topic Starter
  • Заблокированные
  • 1 956 сообщений
  • Репутация: 71

Отправлено 28 Декабрь 2009 - 13:51

а если не получается использовать header, что еще можно использовать?
  • 0


Оформление форума – IPBSkins.ru