@sh1ftyshmifty

Как записать данные формы в файл?

Всех приветствую!
Необходимо было сделать запись в файл данных формы. Вроде всё нормально, но есть 2 косяка:
1) Если страница обновляется без введённых данных, автоматом проставляется новая строка
2) Если данные в форму вводили, отправили её и потом обновили страницу, информация из формы дублируется в файле.

<? 
$s = implode(";", $_POST); 
$f = fopen("example.txt","a"); 
flock($f, LOCK_EX); 
fputs($f, $s."\n"); 
flock($f, LOCK_UN); 
fclose($f); 
?>


Буду очень признателен, если кто поможет.
  • Вопрос задан
  • 164 просмотра
Пригласить эксперта
Ответы на вопрос 2
@entermix
1. Проверяйте $_POST перед тем, как пишете в файл.
2. Т.е отправили опять форму? тогда все ок, если хотите избавится от дубликатов, можно читать файл, и лишь потом записывать информацию.
Ответ написан
alsopub
@alsopub
1) Записывать данные только если $_SERVER{'REQUEST_METHOD'} == 'POST'
2) Можно сделать сделать не особо усложняя - после записи в файл сделать header('Location: /path/to/form.php');
В этом случае после записи сработает редирект и F5 не приведет к повторной отправке формы.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы