|
|
|
| значит например данные посылаються из формы например X и Y и выводиться на экран
если обновить страницу то значения выведуться еще раз
типа так
X Y
XY
если еще раз то то же самое так как сделать так чтобы данные при обновлении еще раз не выводились же | |
|
|
|
|
|
|
|
для: KVN
(11.05.2007 в 13:06)
| | принудительно перезагрузить страницу | |
|
|
|
|
|
|
|
для: KVN
(11.05.2007 в 13:06)
| | нет наверное я не правильно выразил мысль
значит данные из формы посылаються на другую страницу на ней же они выводиться там же они пишуться в фаил так вот:
если данные вывелись и записались в фаил то при обновлении страницы они еще раз пишуться в фаил и еще раз выводиться таким образом в фаиле получаеться лишняя запись | |
|
|
|
|
|
|
|
для: KVN
(11.05.2007 в 13:50)
| | не надо выводить накопленное тем же самым скриптом, которым Вы записываете данные в файл. Нужно делать клиентский редирект с обработчика формы на страницу вывода результатов. header("Location: http://mysite.adr/results.php"); | |
|
|
|
|
|
|
|
для: KVN
(11.05.2007 в 13:50)
| | Так Вы обработку данных ведите в этом же файле
и после обработки с помощью Header("Location: index.php?бла-бла-бла");
переходите на другую страницу, а в ней уже выводите данные из файла | |
|
|
|
|
|
|
|
для: zerocool
(11.05.2007 в 13:58)
| | >Header("Location: index.php?бла-бла-бла");
Вот как раз такая запись, боюсь, не поможет. В ней указан серверный вариант редиректа, а не клиентский. Браузер не узнает, что тип запроса сменили с post на get , и при попытке обновить страницу, будет пытаться исполнить запрос post с передачей старых данных | |
|
|
|
|
|
|
|
для: 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>
<?
}
?>
|
| |
|
|
|
|
|
|
|
для: zerocool
(11.05.2007 в 14:31)
| | значит апач донес редирект до клиента. | |
|
|
|
|
|
|
|
для: Trianon
(11.05.2007 в 15:13)
| | а собственно при таком раскладе всегда будет донесен клиентский директ | |
|
|
|
|
|
|
|
для: zerocool
(11.05.2007 в 14:31)
| | в силу своей низкой квалификации ни совсем понил твой скрипт но идей с ридеректом помогла в результате сделал так:
1. есть страница где выводиться данные из файла ИНДЕКС на ней есть ссылка на форму
2.попали на форму заполнили ее шелкнули субмит данные ушли в 3 фаил там обработались (а точнее записались в фаил) и сразу ридерект на ИНДЕКС где они же опять (записанные данные) вывелись на всеобшее обозрение
Вот и все
З,Ы теперь я знаю функцию HEADER и как ее юзать спасибо ВАМ за идею!) | |
|
|
|