[PHP] Controllo <select> comportamento anomalo

curzio.maria

Nuovo Utente
14 Apr 2019
12
0
1
Buongiorno,
in un form di registrazione utilizzo un controllo select così strutturato :
PHP:
<select name="uteLev" class="select"  required> 
 <option  <?php if($uteLev== 1){echo("selected");}?>value="1">OSPITE</option>
                                    <option  <?php if($uteLev== 2){echo("selected");}?>value="2">UTENTE NORMALE</option>
                                    <option  <?php if($uteLev== 3){echo("selected");}?>value="3">ADMIN</option>
                                    <option  <?php if ($uteLev == 0 ) echo ("selected") ; ?> value="0"></option>

</select>
considerando che la variabile $uteLev è inizialmente valorizzata come "2" mi attenderei di avere selezionato a schermo UTENTE NORMALE, invece viene sempre mostrato il primo valore, OSPITE.

Lo strano è che con il seguente codice , funziona esattamente come mi aspetto :
PHP:
[CODE]<select name="uteLev" class="select"  required>
                                    
                                    <option  <?php if($uteLev== 1){echo("selected");}?>value=1>OSPITE</option>
                                    <option  <?php if($uteLev== 2){echo("selected");}?>value=2>UTENTE NORMALE</option>
                                    <option  <?php if($uteLev== 3){echo("selected");}?>value=3>ADMIN</option>
                                    <option  <?php if ($uteLev == 0 ) echo ("selected") ; ?> value=0></option>


</select>[/CODE]

Insomma sembra che la valutazione non venga eseguita come stringa ma come numero, anche se la variabile è stata dichiarata stringa utilizzando i doppi apici.

E' normale ?

Grazie



 
"value" deve essere preceduto da uno spazio che lo separi dal valore precedente
altrimenti nel form si legge selectedvalue="2" che non viene riconosciuto
PHP:
….. {echo("selected");}?> value=1>OSPITE</option>
….. {echo("selected");}?> value="2">UTENTE NORMALE</option>
upload_2019-5-27_22-48-13.png
 
Grazie per la cortese risposta. conoscendo i miei limiti di solito controllo l'output degli ECHO, questa volta ero tanto sicuro di me che... Grazie ancora
 

Discussioni simili