Ciao a tutti ragazzi. Sto rispolverando il php dopo mesi di stop e sono già incappato in un piccolissimo ed alquanto stupido problema.. o almeno credo.
In breve: sto testando l'operatore switch, ma ho un problema con il valore di default, in pratica mi viene ignorato del tutto, e non mi stampa nulla!
Questa è la pagina con il form, per l'inserimento dei dati.
Codice PHP:
<form id="form1" name="form1" method="post" action="switch_check.php">
<fieldset>
<legend>Inserimento dati</legend>
<label for="nome">Nome</label> <input type="text" name="nome" id="nome" /></p>
<label for="ore">Ore</label> <input name="ore" type="text" id="ore" size="2" maxlength="2" /></p>
<input type="submit" name="invia" id="invia" value="Invia" /></p>
</fieldset>
</form>
Qui invece vi è lo script di cattura dei dati con il relativo controllo di questi ultimi.
Codice PHP:
<?php
// Catturo i dati via POST
$nome = $_POST['nome'];
$ore = $_POST['ore'];
// Avvio il controllo switch
switch ($ore) {
case $ore >=0 && $ore <= 12:
echo "Buongiorno $nome, sono le $ore";
break;
case $ore >=12 && $ore <= 21:
echo "Buonasera $nome, sono le $ore";
break;
case $ore >=21 && $ore <= 23:
echo "Buonanotte $nome, sono le $ore";
break;
default:
echo "Non lo so!";
break;
}
?>
Funziona tutto, tranne quando provo a far partire il default, ovvero lasciando il campo "ore" vuoto, non succede nulla, nessun messaggio.
Grazie in anticipo!