Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> работа с <select>, не могу исправить 
:(
    Опции темы
ReactOS
Дата 12.5.2008, 13:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 165
Регистрация: 6.12.2007

Репутация: нет
Всего: 33



Добрый день!
Код

/************************
$month = $_POST['month'];
$day = $_POST['day'];
************************/

//Если юзер не указал (или неправильный формат) день своего рождения
if(empty($day) || $day>31 || $day<1)    {
    echo("Вы указали неверный день, своего рождения! :) Регион от 1 до 31!");
    echo("<a href=# onClick='history.back()'>Вернуться к правке</a>");
    exit();
}


//Если юзер не указал месяц и год своего рождения
if(empty($year) && empty($month))    {
    echo("Вы не выбрали дату своего рождения!<br>");
    echo("<a href=# onClick='history.back()'>Вернуться к правке</a>");
    exit();
}



Проблема состоит в том, что если пользователь на моем на сайте ничего не выберет из <select>, то в бд пробивается значение <option selected>не забудьте выбрать</option>, если я убираю этот html-code, то по умолчанию выбирается 1-ый месяц (и его value отправляется в бд, если юзер ничего не выбрал), собственно приведу html-разметку
Код

Выберите вашу дату рождения:<br>
Месяц:
<select name = "month">
<option selected>не забудьте выбрать</option>
<option value = "1">Январь</option>
<option value = "2">Февраль</option>
<option value = "3">Март</option>
.....ну и так далее.....
</select>


вопрос: "Как просечь, если юзер ничего не выбрал?", использование empty() - не может помочь, не знаю, возможно isset() поможет...

Это сообщение отредактировал(а) fortrun - 12.5.2008, 13:16
PM   Вверх
Feldmarschall
Дата 12.5.2008, 13:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
****


Профиль
Группа: Участник
Сообщений: 2641
Регистрация: 11.12.2007

Репутация: 22
Всего: 32



божечки! ну неужели так трудно догадаться написать value=0?

Добавлено через 1 минуту и 2 секунды
а вообще, все эти проверки лишние.
нужноа только одна проверка - checkdate.
PM   Вверх
Fortop
Дата 12.5.2008, 13:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2200
Регистрация: 13.11.2007
Где: Донецк

Репутация: 20
Всего: 42



Кхм, так и "просечь"

Код

if ($_POST['month'] == 'не забудьте выбрать') {
   // МЫ ЗАБЫЛИ ВЫБРАТЬ!
}



--------------------
Мир это Я.
Живее всех живых.
PM MAIL   Вверх
ReactOS
Дата 12.5.2008, 13:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 165
Регистрация: 6.12.2007

Репутация: нет
Всего: 33



Цитата(Feldmarschall @  12.5.2008,  13:21 Найти цитируемый пост)
 ну неужели так трудно догадаться написать value=0?

мысля была  smile

Код

//номер месяца не должен быть пустым и находиться в диапозоне 1-31
if($month == '' || $month>12 || $month<1) { ... }

PM   Вверх
Feldmarschall
Дата 12.5.2008, 13:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
****


Профиль
Группа: Участник
Сообщений: 2641
Регистрация: 11.12.2007

Репутация: 22
Всего: 32



Цитата(fortrun @  12.5.2008,  13:42 Найти цитируемый пост)
//номер месяца не должен быть пустым и находиться в диапозоне 1-31

и к чему эта фраза?

проверка диапазонов не спасет тебя от 31 ноября.
проверяй целиком дату. функцией, которую я тебе написал


PM   Вверх
ReactOS
Дата 12.5.2008, 13:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 165
Регистрация: 6.12.2007

Репутация: нет
Всего: 33



Цитата(Feldmarschall @  12.5.2008,  13:47 Найти цитируемый пост)
проверяй целиком дату. функцией, которую я тебе написал

http://ru2.php.net/manual/ru/function.checkdate.php  smile 
спасибо! smile
не знал, что такая функция есть, она значительно облегчает работу smile
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0612 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.