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

Форум PHP

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

 

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

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

тема: Почему строка в файл записывается 2 раза? (+)
 
 автор: AlMag   (02.09.2006 в 13:05)   письмо автору
 
 

Вот скрипт a.php. Передаю данные сам себе.

<?php
 
if (isset($_POST['t'])) { $fi=fopen('t.txt','a+'); fwrite($fi,$_POST['t']); fclose($fi); }
?>

<Form name='f' action='a.php' method='post'>
 <Input type='text' name='t'>
 <Input type='submit'>
</Form>


После того, как я написал что-то в строке, и нажал кнопку - смотру в файл - написано то, что было
в текстовом поле. Но после перезагрузки страницы - текст ещё раз записался в файл.
Если я несколько раз отправлю данные, а потом обновлю страницу, то в файле то, что я
ввёл последним, будет написано 2 раза. Почему? И как это устранить?

   
 
 автор: cheops   (02.09.2006 в 13:08)   письмо автору
 
   для: AlMag   (02.09.2006 в 13:05)
 

POST-данные следует сбрасывать, после добавления информации в файл
<?php 
 
if (isset($_POST['t'])) 
 { 
   
$fi=fopen('t.txt','a+'); 
   
fwrite($fi,$_POST['t']); 
   
fclose($fi); 
   
// Перезагружаем страницу, сбрасывая POST-данные
   
header("Location: $_SERVER[PHP_SELF]");
 } 
?> 

<Form name='f' action='a.php' method='post'> 
 <Input type='text' name='t'> 
 <Input type='submit'> 
</Form>

   
 
 автор: TheCreator   (02.09.2006 в 13:10)   письмо автору
 
   для: AlMag   (02.09.2006 в 13:05)
 

Вот сделай вот так:

<?php
if (isset($_POST['t']))
{
$fi=fopen('t.txt','a+');
fwrite($fi,$_POST['t']);
fclose($fi);
header('location: script.php); // Путь к странице где проводилось сохранение в файл
}
?>

<Form name='f' action='a.php' method='post'>
<Input type='text' name='t'>
<Input type='submit'>
</Form>

Ой не успел cheops опередил

   
 
 автор: AlMag   (03.09.2006 в 10:49)   письмо автору
 
   для: TheCreator   (02.09.2006 в 13:10)
 

Спасибо большое.

   
Rambler's Top100
вверх

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