Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Использование сессий в форме

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: Как сделать?
SidneyShow
Отправлено: 16 Мая, 2016 - 18:54:22
Post Id


Новичок


Покинул форум
Сообщений всего: 24
Дата рег-ции: Апр. 2016  


Помог: 0 раз(а)




Всем привет, помогите пожалуйста разобраться.

У меня есть 3 сессии: $_SESSION['Day'],$_SESSION['Month'],$_SESSION['Year'].

Также есть форма:
<select name="day" size="1">
<option value="0">Укажите день</option>
<option value="1">1</option>
<option value="2">2</option>
и т.д.
</select>
<select name="month" size="1">
<option value="0">Укажите месяц</option>
<option value="1">Январь</option>
<option value="2">Февраль</option>
и т.д.
</select>
<select name="year" size="1">
<option value="0">Укажите год</option>
<option value="1">1994</option>
<option value="2">1993</option>
и т.д.
</select>

И необходимо при помощи атрибута selected="selected"(или иным образом), показывать пользователю имеющееся в сессии значение. Например вот так: selected="$_SESSION['Day']".

Другими словами, нужно чтобы в форме уже показывалась установленное раннее значение (которое храниться в сессии).И чтобы прямо в этой же форме можно было выбрать другое значение.
 
 Top
kuller
Отправлено: 16 Мая, 2016 - 18:59:20
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 561
Дата рег-ции: Нояб. 2009  


Помог: 2 раз(а)




через условие if проверить что хранится в сессии selected назначить назначит нужной option
 
 Top
Строитель
Отправлено: 16 Мая, 2016 - 20:36:39
Post Id



Участник


Покинул форум
Сообщений всего: 1580
Дата рег-ции: Февр. 2014  
Откуда: Украина


Помог: 73 раз(а)




SidneyShow пишет:
нужно чтобы в форме уже показывалась установленное раннее значение (которое храниться в сессии).И чтобы прямо в этой же форме можно было выбрать другое значение
Видимо вам нужна такая запись
PHP:
скопировать код в буфер обмена
  1. <select name="day" size="1">
  2. <option value="0">Укажите день</option>
  3. <option selected="selected" value="<?=$_SESSION['Day']?>"><?=$_SESSION['Day']?></option>
  4. <option value="1">1</option>
  5. <option value="2">2</option>
  6. и т.д.
  7. </select>
  8. <select name="month" size="1">
  9. <option value="0">Укажите месяц</option>
  10. <option selected="selected" value="<?=$_SESSION['Month']?>"><?=$_SESSION['Month']?></option>
  11. <option value="1">Январь</option>
  12. <option value="2">Февраль</option>
  13. и т.д.
  14. </select>
  15. <select name="year" size="1">
  16. <option value="0">Укажите год</option>
  17. <option selected="selected" value="<?=$_SESSION['Year']?>"><?=$_SESSION['Year']?><option value="1">1994</option>
  18. <option value="2">1993</option>
  19. и т.д.
  20. </select>
 
 Top
SidneyShow
Отправлено: 18 Мая, 2016 - 23:13:28
Post Id


Новичок


Покинул форум
Сообщений всего: 24
Дата рег-ции: Апр. 2016  


Помог: 0 раз(а)




К сожалению не помогло Недовольство, огорчение
 
 Top
Строитель
Отправлено: 18 Мая, 2016 - 23:21:23
Post Id



Участник


Покинул форум
Сообщений всего: 1580
Дата рег-ции: Февр. 2014  
Откуда: Украина


Помог: 73 раз(а)




SidneyShow пишет:
К сожалению не помогло
Покажите ваш код, и если есть - скопируйте ошибки.
 
 Top
SidneyShow
Отправлено: 19 Мая, 2016 - 16:00:58
Post Id


Новичок


Покинул форум
Сообщений всего: 24
Дата рег-ции: Апр. 2016  


Помог: 0 раз(а)




Строитель пишет:
SidneyShow пишет:
К сожалению не помогло
Покажите ваш код, и если есть - скопируйте ошибки.


На данный момент сделал так:

<?
echo'
<select name="day" size="1" >
<option value="0">'.$_SESSION['Day'].'</option>
<option value="1">1</option>
<option value="2">2</option>

</select>
<select name="month" size="1">
<option value="0">'.$_SESSION[Month'].'</option>
<option value="1">Январь</option>
<option value="2">Февраль</option>

</select>
<select name="year" size="1">
<option value="0">'.$_SESSION[Year'].'</option>
<option value="1">1994</option>
<option value="2">1993</option>
</select>';
?>

Работает, но выглядит не очень красиво, т.к. в <select> будет отображаться и значение в сессии и идентичное значение, но ниже.

Например, если $_SESSION['Day'] == 2 , то при выборе в <select> будет
<option value="0">'.$_SESSION['Day'].'</option> и <option value="2">2</option> одновременно. И выглядит это не очень Недовольство, огорчение

Очень хотелось бы, что бы при выборе в <select> был только один вариант.

Надеюсь Вы меня поняли Улыбка
 
 Top
Строитель
Отправлено: 19 Мая, 2016 - 17:03:27
Post Id



Участник


Покинул форум
Сообщений всего: 1580
Дата рег-ции: Февр. 2014  
Откуда: Украина


Помог: 73 раз(а)




SidneyShow пишет:
Надеюсь Вы меня поняли
Честно говоря - нет. Вы можете объяснить иначе, в более развёрнутом виде, или показать визуально (на скриншоте) требуемый результат?
 
 Top
andrewkard
Отправлено: 19 Мая, 2016 - 17:50:52
Post Id


Участник


Покинул форум
Сообщений всего: 1372
Дата рег-ции: Нояб. 2014  


Помог: 30 раз(а)




Наверное что то подобно этому:
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. $months = array(
  4.     1 => 'Январь',
  5.     2 => 'Февраль',
  6. );
  7. ?>
  8. <select name="month" size="1">
  9.     <option value="0">Укажите месяц</option>
  10.     <?PHP foreach ($months as $index => $month) {?>
  11.     <option <?=($_SESSION['Month']==$index?'selected="selected"':'')?> value="<?=$index?>"><?=$month?></option>
  12.     <?PHP } ?>
  13. </select>
  14.  
  15.  
 
 Top
SidneyShow
Отправлено: 20 Мая, 2016 - 22:50:37
Post Id


Новичок


Покинул форум
Сообщений всего: 24
Дата рег-ции: Апр. 2016  


Помог: 0 раз(а)




Всем спасибо за помощь и за уделенное время Подмигивание , теперь разобрался Улыбка
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Обсуждение статей »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB