Проверка дали е избрана дата

vinsbg

Registered
Това ми е във формата избор на дата:
Код:
<div class="form-group"> 
   <div class="form-inline">
      <div class="form-group pull-right">
         <select name="year" id="year" class="form-control">
            <option value="--" selected>Година</option>                       
            <?php
                for($i=date('Y'); $i>1899; $i--) {
                    $birthdayYear = '';
                    $selected = '';
                    if ($birthdayYear == $i) $selected = ' selected="selected"';
                    print('<option value="'.$i.'"'.$selected.'>'.$i.'</option>'."\n");
                }
            ?>                          
          </select>     
      </div>                    
      <div class="form-group pull-right">
        <select name="month" id="month" onchange="" class="form-control" size="1">
            <option value="--" selected>Месец</option>
            <option value="01">Jan</option>
               ...
            <option value="12">Dec</option>
        </select>            
      </div>                                             
      <div class="form-group pull-right">
        <select name="day" id="day" onchange="" class="form-control" size="1">
        <option value="--" selected>Ден</option>
        <option value="01">01</option>
                ...
        <option value="31">31</option>
      </select>
    </div>                                              
</div>
</div>
а това е в php-то
Код:
	if(empty($_POST['year'])){
		$error[] = '<code> изберете година на раждане.</code>';
	}	
	if(empty($_POST['day'])){
		$error[] = '<code> изберете ден на раждане.</code>';
	}
	if(empty($_POST['month'])){
		$error[] = '<code> изберете месец на раждане.</code>';
	}
Логично това не работи, защото <option value="--" selected>... Как мога да проверявам дали е избрано нещо в полетата ... ?
 
teroristd каза:
Може би така

if($_POST['year'] == '--'){
$error[] = '<code> изберете година на раждане.</code>';
}
Май трябва да си почина малко щом такива елементарни неща не се сещам... :oops: :?:
 
Не си структурираш правилно самия HTML.

Това ще ти отговори на въпроса и ще е по най-правилния начин.

HTML:
<select name="day">
      <option label="Ден"> 
      <option value="1">1</option>
      
</select>
 
SVTerziev каза:
Няма ли да е по-добре да използваш input type="date"?

Това се връзва като най-добър вариант, защото така или иначе като гледам иска да задължи да са попълнени всички полета.
 
Revelation каза:
Не си структурираш правилно самия HTML.

Това ще ти отговори на въпроса и ще е по най-правилния начин.

HTML:
<select name="day">
      <option label="Ден"> 
      <option value="1">1</option>
      
</select>

Само да допоясня:
не е нужен затварящ таг само, ако след този option следва друг (или optgroup).
 
Fakeheal каза:
...

Само да допоясня:
не е нужен затварящ таг само, ако след този option следва друг (или optgroup).
Това означава ли, че това е грешно:

HTML:
<select>
<option>Opt1
<option>Opt2
</select>

Използвам възможността да не слагам затварящите тагове, но не мисля че затварящият таг е задължителен, ако елементът е последен?
 

Back
Горе