|
|
|
| Как можно приделать Куки к select, выводящимуся в цикле
<?
php if(isset($_COOKIE['text'])) {echo $_COOKIE['text'];}
?>
<select name="naprav" id="naprav" class="select_nazvan" >
<? //Направление...
$result08 = mysql_query ("SELECT * FROM naprav ",$db);
$myrow08 = mysql_fetch_array($result08);
do
{
printf ("<option value='%s'>%s</option>",$myrow08["naprav"],$myrow08["naprav"]);
}
while ($myrow08 = mysql_fetch_array($result08));
?>
</select>
|
| |
|
|
|
|
|
|
|
для: Dinya_1
(20.05.2010 в 15:36)
| | А в смысле приделать? Чего хотите добиться? | |
|
|
|
|
|
|
|
для: Dinya_1
(20.05.2010 в 15:36)
| | Да, опишите что именно требуется сделать, а то не совсем понятно Ваши задумки !!! | |
|
|
|
|
|
|
|
для: FINT
(21.05.2010 в 11:14)
| | Нужно, чтоб в Куки записывалось значение выбранного селекта, и если есть выводить его. | |
|
|
|
|
|
|
|
для: Dinya_1
(21.05.2010 в 19:23)
| | Можно отталкиваться от следующего скрипта
<?php
if(!empty($_POST))
{
setcookie("select", $_POST['naprav'], time + 60*60*24*7);
header("Location: ".basename($_SERVER['PHP_SELF']));
exit();
}
// if(isset($_COOKIE['text'])) {echo $_COOKIE['text'];}
?>
<form action='' method='post'>
<select name="naprav" id="naprav" class="select_nazvan" >
<?php //Направление...
$result08 = mysql_query ("SELECT * FROM naprav ",$db);
while($myrow08 = mysql_fetch_array($result08))
{
if($_COOKIE['select'] == $myrow08["naprav"]) $selected = "selected='selected'";
else $selected = "";
printf ("<option value='%s' {$selected}>%s</option>",
$myrow08["naprav"],
$myrow08["naprav"]);
}
?>
</select>
|
| |
|
|
|
|
|
|
|
для: cheops
(23.05.2010 в 09:06)
| | cheops скажите пожалуйста, а если нужно запомнить в куках две,разные переменные
<select name="srok_time" class="imput_form" >
<?
$result9 = mysql_query ("SELECT srok_time,kol-vo FROM srok",$db);
while($myrow9 = mysql_fetch_array($result9))
{
if($_COOKIE['select'] == $myrow9["srok_time"]) $selected = "selected='selected'";
else $selected= "";
printf ("<option value='%s' {$selected}>%s</option>",$myrow9["srok_time"],$myrow9["kol-vo"]);
}
?>
</select>
|
| |
|
|
|
|
|
|
|
для: Dinya_1
(24.05.2010 в 17:26)
| | Хм... можно две куки установить, два раза вызвав фукнцию setcookie(), правда в обработчики скорее всего придется восстановить второе значение из базы данных, так как HTML-форма передаст только одно значение... А здесь вам это зачем, вы же вроде в cookie только выбранное значение запоминаете, или вы хотите использовать эти значение потом? | |
|
|
|
|
|
|
|
для: cheops
(24.05.2010 в 20:15)
| | пользователь в селекте устанавливает нужное... потом нажимает добавить, если он не
заполнил какие то поля, обработчик возврашает назад на эту же форму с указанными
ошибками и с установленными Куками, там как раз и должны стоять две переменные, ранее
им отмеченные
$myrow9["srok_time"] - время хранения данных (to week)
$myrow9["kol-vo"] - То что видет польз.в выподающем селекте (2 Недели)
<?
printf ("<option value='%s' {$selected}>%s</option>",$myrow9["srok_time"],$myrow9["kol-vo"]);
?>
|
| |
|
|
|
|
|
|
|
для: Dinya_1
(24.05.2010 в 23:33)
| | Правильно ли я понимаю, вам cookie нужны только для того, чтобы запомнить, что выбрал пользователь на момент работы с HTML-формой? А дальше они уже не используются? Если да, то лучше вообще отказаться от cookie и работать напрямую с массивом $_POST. | |
|
|
|
|
|
|
|
для: cheops
(24.05.2010 в 23:59)
| | Расово верная обработка POST-запроса окончится header(Location: ...)
Так что к моменту вывода HTML-формы массив $_POST уже протухнет.... :) | |
|
|
|
|
|
|
|
для: Trianon
(25.05.2010 в 00:33)
| | Если обработчик нельзя применить из-за некоректно заполненной формы, то не окончится... а как раз пойдет в HTML-форму. Собственно это классический способ подставновки старых значений в случае неполного/некорректного заполнения формы. Все это при условии нахождения HTML-формы и обработчика в одном файле. | |
|
|
|
|
|
|
|
для: cheops
(25.05.2010 в 02:22)
| | о том и речь.
Можно регенерировать форму с подстановкой из $_POST (и допустить на этом этапе кашу с F5).
А можно загнать всё введенное в сеансовую куку, и выполнить Location на тот же скрипт с признаком требования повторной генерации формы. | |
|
|
|
|
|
|
|
для: Trianon
(25.05.2010 в 10:22)
| | Куки и сессии имеют другой недостаток - они не чистятся автоматически, что не всегда удобно. С другой стороны перегрузка страницы во время заполнения формы явление не частое, учитывая, что само заполннение формы обычно на порядок более редкое явление, чем чтение страницы. | |
|
|
|
|
|
|
|
для: cheops
(25.05.2010 в 10:35)
| | как же сеансовая (времени жизни сеанса браузера) кука не чистится автоматически, если она даже в файл на клиентской машине не пишется? | |
|
|
|
|
|
|
|
для: Trianon
(25.05.2010 в 14:06)
| | В рамках сайта может быть несколько HTML-форм, тогда поля с одинакомыми названиями будут подставляться в другие формы: нужно либо механизм пространства имен реализовывать, чтобы разные формы были гарантировано разделены друг от друга, либо чистить cookie насильно. И то и другое не очень удобно, особенно последнее. Хотя если потратить время на создание движка, наверное будет более правильно. Другое дело, что иногда времени/ресурсов на создание совершенной перфекционной системы нет или вообще приходится иметь дело с готовой системой. В этом случае лучше использовать $_POST - проблем и ошибок будет меньше. | |
|
|
|
|
|
|
|
для: cheops
(27.05.2010 в 12:51)
| | Все получилось :)). Спасибо cheops | |
|
|
|