Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Сохранение в файл
Форумы портала PHP.SU » » Работа с файловой системой и файлами » Сохранение в файл

Страниц (1): [1]
 

1. retter - 22 Сентября, 2011 - 16:29:23 - перейти к сообщению
Здравствуйте! Написал скрипт сохранение текста из формы в файл, но возникла такая проблема: при каждом обновлении страницы обновляется и файл, пробовал использовать функции isset() и unset(), но почему-то не получилось, подскажите что можно с этим сделать?
CODE (htmlphp):
скопировать код в буфер обмена
  1. <?php
  2. $text = $_POST['text'];
  3. if (isset($text))
  4. {
  5.         $templates = fopen('/templates/file.php','w+');
  6.         fwrite($templates, $text);
  7.         unset($text);
  8. }
  9. ?>
  10. <form action="file2.php" method="POST">
  11. <p align="center"><textarea class="formstyle" name="text" rows="30" cols="130"><?php include("/templates/file.php"); ?></textarea></p>
  12. <p align="center"><input class="formstyle" type="submit" value="Сохранить" /></p>
  13. </form>
2. caballero - 22 Сентября, 2011 - 16:38:21 - перейти к сообщению
isset($_POST['text']) будет всегда

проверяй
strlen($_POST['text']) >0
3. Мелкий - 22 Сентября, 2011 - 16:45:34 - перейти к сообщению
caballero пишет:
isset($_POST['text']) будет всегда

С какого перепугу?

retter пишет:
при каждом обновлении страницы обновляется и файл

Обновление через f5 и подобное? В этом случае браузеры высылают форму повторно. Одни - переспрашивают, другие - нет. Для обхода этого поведения, после получения формы делайте редирект на эту же страницу.
4. retter - 22 Сентября, 2011 - 16:59:40 - перейти к сообщению
Мелкий пишет:
Обновление через f5 и подобное? В этом случае браузеры высылают форму повторно. Одни - переспрашивают, другие - нет. Для обхода этого поведения, после получения формы делайте редирект на эту же страницу.

Об редиректе не подумал, получилось, спасибо!
5. caballero - 22 Сентября, 2011 - 17:04:13 - перейти к сообщению
Цитата:
С какого перепугу?

потому что поле никуда не делось
это только чекер отсутствует в POST если не установлен
6. Мелкий - 22 Сентября, 2011 - 17:30:20 - перейти к сообщению
caballero пишет:
потому что поле никуда не делось

При открытии формы в первый раз - POST пуст вообще. Т.к. обращение было GET.

caballero пишет:
это только чекер отсутствует в POST если не установлен

А так же, может отсутствовать кнопка.

 

Powered by ExBB FM 1.0 RC1