|
|
|
|
|
для: ddhvvn
(06.11.2006 в 20:21)
| | Надеюсь что есть...
Вот то что мне надо:
Есть форма. Ее поля нужно заполнить значениями из кукисов (если они там есть). Если форму заполнили с ошибками (пропустили обязательные поля или ввели неправильные емайл и т.п.) - то эта форма перезагружается, но уже выводит пользователю сообщение о том, что при заполнении формы были совершены ошибки. Ну и естесственно я не хочу потерять данные из тех полей, которые были уже заполнены, поэтому я заполняю их из кукисов (можно заполнять их значениями из $_POST[], но тогда поля не будут заполнены значениями когда форма отображается в первый раз).
Пробовал вот этот код, но он тоже некорректно работает:
<?php
setcookie("field",$_POST["field"]);
display_index();
function display_index() { ?>
<html>
<body>
<form method="post" enctype="multipart/form-data">
<input type="hidden" name="_next_page" value="default">
<p align=center><b>Field </b><input name=field type=text title="To:" value="<?=((!empty($_POST["field"])) ? $_POST["field"] : $HTTP_COOKIE_VARS["field"])?>"></p>
<p align=center><input name=submit type=submit value=submit></p>
</form>
</body>
</html>
<?php }?>
|
| |
|
|
|
|
|
|
|
для: Tyoma
(06.11.2006 в 20:09)
| | я вот, как раз, запутался немного :)))
а зачем Вам вообще это надо? Может есть другой способ решения Вашей задачи? | |
|
|
|
|
|
|
|
для: DEM
(06.11.2006 в 19:00)
| | Так страница и обновляется каждый раз.
У меня в кукисы сохраняются данные с предыдущей страницы, и они же и должны отобразиться. Грубо говоря, код
<?php
setcookie("field",$_POST["field"]);
echo $_POST["field"];
echo $_COOKIE["field"];
?>
|
Должен выдать два одних и тех же значения, а именно значение в $_POST["field"], а у меня выводится еще и старое значение из $_COOKIE["field"], которое было до использования setcookie("field",$_POST["field"]). Т.е. кукисы не "затираются" сразу, а при вызове скрипта в следующий раз.
Так вот вопрос вот в чем, как "затереть" (задать новые значения) кукисы не при следующем вызове, а в этом?
Надеюсь я понятно объяснил, а то даже я могу запутаться в вышесказанном )) | |
|
|
|
|
|
|
|
для: Tyoma
(06.11.2006 в 18:50)
| | Надо обновить страницу... РНР - это не JavaScript и что бы увидеть результат, ему надо обновить страницу | |
|
|
|
|
|
|
| Есть скрипт (test.php):
<?php
setcookie("field",$_POST["field"]);
display_index();
function display_index() { ?>
<html>
<body>
<form action="test.php" method="post" enctype="multipart/form-data">
<input type="hidden" name="_next_page" value="default">
<p align=center><b>Field:</b><input name=field type=text title="To:" value="<?php echo $_COOKIE["field"]; ?>"></p>
<p align=center><input name=submit type=submit value=submit></p>
</form>
</body>
</html>
<?php }?>
|
Проблема вот в чем: я сохраняю данные в cookies (перезаписываю те, которые уже там были) и сразу же их вывожу. Так вот выводятся у меня те данные, которые были до этого, а не те, которые я записал.
Кто что посоветует? | |
|
|
|
|