22 Ноября 2017, 23:17:42

Автор Тема: Вопрос по php  (Прочитано 4271 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн burara

  • Андрей
  • Кандидат
  • *
  • Сообщений: 41
  • Репутация: 1
  • Пол: Мужской
    • Сайт в помощь веб-мастеру
Вопрос по php
« : 01 Февраля 2013, 10:43:22 »
Добрый день, помогите как сделать так, чтобы при обновлении страницы форма не отправлялась заново?
Скрипт и форма в одном файле содержатся. Это сам скрипт:
<?php
$nick 
$_POST['nick'];
$mess $_POST['message'];
$data date("j.m.Y");
$time date("G:i");

$line "<fieldset><p class='nick'>".$nick."</p><p class='time'>".$time."</p><hr>".$mess."</fieldset>\n"//Строим строку, которую необходимо записать в файл
$open_w fopen('data.txt''a+');
fputs($open_w$line);
fclose($open_w);

echo 
file_get_contents("data.txt");

?>


<form name="chat" method="post" action="index.php">
...
</form>



Пробовал добавить

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

не получалось
« Последнее редактирование: 01 Февраля 2013, 10:46:18 от burara »

Оффлайн Caladon

  • Администраторы
  • Ветеран
  • *****
  • Сообщений: 1 350
  • Репутация: 76
  • Пол: Мужской
Re: Вопрос по php
« Ответ #1 : 21 Февраля 2013, 10:38:34 »
Самому сейчас не проверить, но если после добавления записи вручную отчистить POST:
<?php
$HTTP_POST_VARS
['nick']="";
$HTTP_POST_VARS['message']="";
?>
Тогда, после обновления страницы, переменным $nick и $mess будут присвоены пустые значения. Далее делаем следующую проверку: если $mess==0 и $nick==0, то форму не отправляем. На мой взгляд всё должно работать.

Форме, кстати крайне необходимы проверки на всяческие соответствия разумным критериям вроде: а заполнены ли необходимые поля  и пр.
Боец невидимого фронта.

>>> правила хостинга <<<
>>> раздача брошенных сайтов <<<