Salve, sono la solita principiante, poichè qualcuno è stato cosi' gentile da rispondermi in passato, espongo ancora un dubbio, sempre immagino un po' scarso. Io ho usato la funzione isset per controllare se l'utente ha inserito i dati in un form, ma mentre mi funziona benissimo con le caselle combinate, mi restituisce true anche se una casella di testo è vuota, o almeno cosi' mi pare. Vi mostro il seguente esempio:
argomenti.html
<html><head></head><body>
<table align=center border><tr><td>
<FORM METHOD="POST" ACTION=argomenti2.php>
Seleziona dal menu l'argomento di sistemi sul quale ti servono chiarimenti
<SELECT NAME=argomento[] SIZE="3" multiple>
<OPTION value="sistemi operativi"> sistemi operativi
<OPTION value="evoluzione dei microprocessori"> evoluzione dei microprocessori
<OPTION value="linux"> linux
<OPTION value="javascript"> javascript
<OPTION value="php" > php
</SELECT>
<INPUT TYPE="reset" VALUE="Cancella tutto!">
<INPUT TYPE="submit" VALUE="Invia i dati">
</form></html>
argomenti.php
<html><head></head><body>
<?php
$flag=0;
if (isset($email))
echo "indirizzo:$email
";
else
{echo "manca l'indirizzo!
";
$flag=1;}
if (isset($argomento))
{echo "hai richiesto chiarimenti sui seguenti argomenti:
";
for ($i=0;$i<5;$i++)
if (isset($argomento[$i]))
echo "$argomento[$i]
";}
else
{echo "non hai inserito argomenti";
$flag=1;}
if ($flag==1)
echo "
<a href=argomenti2.html>clicca per reinserire</a>";
?>
</body></html>
Se non seleziono alcun argomento dalla casella combinata, mi da' il msg di errore, ma se lascio vuota la casella di testo no. Devo usare la funzione empty? Perchè? Qual è la differenza?
Grazie, ciao a tutti.