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

Форум PHP

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

 

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

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

тема: Проблема с формой
 
 автор: NetIce   (23.11.2005 в 21:17)   письмо автору
 
 

доброе время суток
есть форма с полем select вот его код
<option selected value="Не имеет значения">Не имеет значения</option>
<option value="1 год">1 год</option>
<option value="2 года">2 года</option>
</select>
по мимо него есть другие поля input
форму проверяю на заполнение и если поля не заполнены вывожу форму с общением об ошибках и уже заполненными полями, проблема заключается в том что если есть ошибка в каком-то из полей input то поле
select выводится с параметром <option selected value="Не имеет значения">Не имеет значения</option> а как вывести выбранное значение ? в поля типа input вывожу так
$dates= $_POST['cat']; <input type=text name=name value= $cat > тоже самое с select не работает как можно вывести с выбранным параметром поля select

   
 
 автор: goddamn   (23.11.2005 в 21:26)   письмо автору
 
   для: NetIce   (23.11.2005 в 21:17)
 

значения <select> нужно загнать в массив, выводить через цикл и смотреть - если значение из $_POST совпадает со значением <option>, то в этот <option> добавляешь статус selected.

   
 
 автор: Tomcat   (24.11.2005 в 18:20)   письмо автору
 
   для: NetIce   (23.11.2005 в 21:17)
 

<form action = handle.php method = post>
<input type = text name = name size=3 maxlength=3>
<select name=find>
<option selected value="a">1 год</option>
<option value="b">2 года</option>
<option value="c">3 года</option>
</select>

----------- handle.php -----------------------
<?php

$name= $HTTP_POST_VARS['name'];
$find = $HTTP_POST_VARS['find'];

if (empty($name)) echo "Вы не ввели имя!";

switch($find)
{
case "a":
$find = "1 год";
break;
case "b":
$find = "2 года";
break;
case "c":
$find = "3 года";
break;
}


echo "$name"."<br>"."$find";
?>


Имелось ввиду это ?

   
 
 автор: Shorr Kan   (24.11.2005 в 19:16)   письмо автору
 
   для: NetIce   (23.11.2005 в 21:17)
 

Делайте так:


<option selected value="Не имеет значения">Не имеет значения</option>
<?for($i=1;$i<=2;$i++){
if(
$i==1){$row="1 год";}else{$row=$i." года";}
?>
<option value="<?print $i;?><?if($i==$_POST['name_select']){print "selected";}?>><?print $row;?></option>
</select>
<?}?>


Разумеется, вместно name_select - надо вводить имя вашего select.
Ну и двоечку в for меняйте на то, что нужно.

   
Rambler's Top100
вверх

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