- Home
- Categorie
- Coding e Sistemistica
- Coding
- Semplicissimo controllo di un form
-
Semplicissimo controllo di un form
Ciao a tutti, ho un problemino. Ho un form dove l'utente inserisce 3 dati del cavolo e viene mandato in un'altra pagina, vorrei solamente, che se l'utente non inserisce il nome ad esempio, nella pagina seguente verrà chiamato "visitatore" ad esempio e così via; vorrei impostare che se l'utente non inserisce dei dati, questi dati, avranno già un valore di default.
Questo è il codice che gestisce i dati del form:
<?php
$nome=$_GET['nome'];
$indirizzo=$_GET['indirizzo'];
$errori=$_GET['errori'];
$_SESSION['nome'] = $nome;
$_SESSION['indirizzo'] = $indirizzo;
$_SESSION['errori'] = $errori;
if ($errori==0) {header("location:risultatotest/testambientg1lda.php");}
elseif ($errori>0 && $errori <=10) {header("location:risultatotest/testambient2212.php");}
elseif ($errori>10 && $errori <=30) {header("location:risultatotest/testambient2012.php");}
elseif ($errori>30 && $errori <=50) {header("location:risultatotest/testambient27241281.php");}
elseif ($errori>50 && $errori <=100) {header("location:risultatotest/testambient24981.php");}
elseif ($errori>100 && $errori <=150) {header("location:risultatotest/testambient24330.php");}
elseif ($errori>150 && $errori <=200) {header("location:risultatotest/testambient21678.php");}
elseif ($errori>200) {header("location:risultatotest/testambient8130.php");}
?>E' molto semplice, ma ho provato ad inserire degli !isset dopo le variabili con un if ma niente, non riesco.
Sono nuovo di php e vorrei capire come funziona la cosa.Grazie mille e ciao a tutti
-
Ciao simo10piu,
ma le variabili vengono comunque inviate come vuote o sono del tutto assenti?
Perchè se sono inviate vuote non va bene isset, ma devi verificare che siano diverse da una stringa vuota.
-
Ciao Thedarkita, grazie.
Le variabili vengono dal form (nome indirizzo errori) che l'utente compila, o che non compila; in quest'ultimo caso vorrei avere delle variabili impostate di default....
Quindi dovrei usare l'empty? Ne ho sentito parlare
-
Se puoi scriverci l'esempio di un link che non arriva con tutti i campi compilati è meglio.
-
Sarebbe opportuno vedere anche il form... vorrei capire come viene utilizzata la variabile $errori.
-
Ciao Tigrone grazie.
Ecco il form è questo:
<form method="get" action="testerrori.php">
<p>Nome: <input type="text" name="nome" /></p>
<p>Sito Web: <input type="text" name="indirizzo" /></p>
<p>Errori test W3c: <input type="text" name="errori" /></p>
<p><input type="submit" value="Analizza" /></p></form>Il form viene compilato in questa pagina, processato dallo script che ho postato prima, e a seconda degli errori inseriti, si viene reindirizzati in una terza pagina dove il codice php è semplicemente questo:
<?php
$nome=$_SESSION['nome'];
$indirizzo=$_SESSION['indirizzo'];
$errori=$_SESSION['errori'];
?>
Il tutto è regolato dalle sessioni su tutte e 3 le pagine.
Ciao....
-
Allora...
Se il nome è vuoto, vuoi che diventi 'visitatore'... quindi:
if (!$nome) $_SESSION['nome']='visitatore';che in parole povere significa: se la variabile $nome è vuota, dai il valore 'visitatore' alla variabile di sessione.
Allo stesso modo, puoi impostare le altre variabili.Ti consiglio comunque di inviare i dati in POST anzichè in GET e di effettuare un minimo di controllo sui dati immessi; secondo me dovresti usare le funzioni 'strip_tags' e 'trim'... oltre a 'is_numeric' per la variabile $errori.
-
Spettacolo Tigrone grazie mille!!!
Credevo che il ! si dovesse abbinare solo a funzioni tipo empty isset, invece anche a nomi di variabili, bene!
Grazie per la spiegazione, mi piace capire cosa sto facendo

Si infatti potrei approfondire i controlli anche solo per il piacere di imparare ad effettuarli

Me le provo a studiare un pochino....Ciao alla prossima
-
ops...scusa tigrone, ma in questo caso if senza graffe però? Come mai?
-
Se deve eseguire un solo comando, qualora la condizione sia vera, le parentesi graffe possono essere omesse.
-
ah bene...altra cosa imparata

Grazie mille ciao Thedarkita
-
Consiglio di usare le graffe sempre, è una buona abitudine a mio parere