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

Форум PHP

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

 

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

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

тема: народ помогите понять как правильно сделать?
 
 автор: KVN   (11.05.2007 в 13:06)   письмо автору
 
 

значит например данные посылаються из формы например X и Y и выводиться на экран
если обновить страницу то значения выведуться еще раз
типа так
X Y
XY
если еще раз то то же самое так как сделать так чтобы данные при обновлении еще раз не выводились же

   
 
 автор: Loki   (11.05.2007 в 13:08)   письмо автору
 
   для: KVN   (11.05.2007 в 13:06)
 

принудительно перезагрузить страницу

   
 
 автор: KVN   (11.05.2007 в 13:50)   письмо автору
 
   для: KVN   (11.05.2007 в 13:06)
 

нет наверное я не правильно выразил мысль
значит данные из формы посылаються на другую страницу на ней же они выводиться там же они пишуться в фаил так вот:
если данные вывелись и записались в фаил то при обновлении страницы они еще раз пишуться в фаил и еще раз выводиться таким образом в фаиле получаеться лишняя запись

   
 
 автор: Trianon   (11.05.2007 в 13:56)   письмо автору
 
   для: KVN   (11.05.2007 в 13:50)
 

не надо выводить накопленное тем же самым скриптом, которым Вы записываете данные в файл. Нужно делать клиентский редирект с обработчика формы на страницу вывода результатов. header("Location: http://mysite.adr/results.php");

   
 
 автор: zerocool   (11.05.2007 в 13:58)   письмо автору
 
   для: KVN   (11.05.2007 в 13:50)
 

Так Вы обработку данных ведите в этом же файле
и после обработки с помощью Header("Location: index.php?бла-бла-бла");
переходите на другую страницу, а в ней уже выводите данные из файла

   
 
 автор: Trianon   (11.05.2007 в 14:04)   письмо автору
 
   для: zerocool   (11.05.2007 в 13:58)
 

>Header("Location: index.php?бла-бла-бла");
Вот как раз такая запись, боюсь, не поможет. В ней указан серверный вариант редиректа, а не клиентский. Браузер не узнает, что тип запроса сменили с post на get , и при попытке обновить страницу, будет пытаться исполнить запрос post с передачей старых данных

   
 
 автор: zerocool   (11.05.2007 в 14:31)   письмо автору
 
   для: Trianon   (11.05.2007 в 14:04)
 

Не знаю как насчет не поможет, все работает как часы
Вот попробуйте простенький скрипт и когда выведится надпись "Данные добавлены"
Попробуйте обновить, и ни второй ни третий раз в файл ничего не запишется

 <?php

switch($_POST['mode']) {
  case 
"add":
$f=fopen("text.txt""a+");
fwrite($f$_POST[a]);
fclose($f);
header("Location: ".$_SERVER['PHP_SELF']."?mode=snx");
break;
}
switch(
$_GET['mode']) {
case 
"snx":
echo 
"Данные добавлены";

break;

default:

?>
<form action=<? print $_SERVER['PHP_SELF']; ?> method=POST>
<input type=hidden name=mode value=add>
<input type=text name=a>
<br>
<input type=submit value="add">
</form>
<?
}
?>

   
 
 автор: Trianon   (11.05.2007 в 15:13)   письмо автору
 
   для: zerocool   (11.05.2007 в 14:31)
 

значит апач донес редирект до клиента.

   
 
 автор: Faraon   (11.05.2007 в 15:31)   письмо автору
 
   для: Trianon   (11.05.2007 в 15:13)
 

а собственно при таком раскладе всегда будет донесен клиентский директ

   
 
 автор: KVN   (11.05.2007 в 17:37)   письмо автору
 
   для: zerocool   (11.05.2007 в 14:31)
 

в силу своей низкой квалификации ни совсем понил твой скрипт но идей с ридеректом помогла в результате сделал так:
1. есть страница где выводиться данные из файла ИНДЕКС на ней есть ссылка на форму
2.попали на форму заполнили ее шелкнули субмит данные ушли в 3 фаил там обработались (а точнее записались в фаил) и сразу ридерект на ИНДЕКС где они же опять (записанные данные) вывелись на всеобшее обозрение
Вот и все
З,Ы теперь я знаю функцию HEADER и как ее юзать спасибо ВАМ за идею!)

   
Rambler's Top100
вверх

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