View Full Version : [PHP]Controllare input utente via PHP e Javascript
stefano861
01-12-2013, 01:14
Ciao a tutti, ho un semplice form creato in html che permette all'utente di inserire il suo nome e il suo cognome. Ciò che vorrei è poter controllare la correttezza dei dati inseriti sia lato client (javascript) si lato server (PHP).
Con javascript l'ho fatto semplicemente richiamando una funzione send() che mi controlla se l'input è corretto e mi stampa il nome al posto giusto.
Mentre con PHP ho aggiunto quel codice sotto il form:
File index.php
<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>" onsubmit="send()">
<input type="text" name="nome" value="Il tuo nome.." />
<input type="button" value="Invia" onclick="send()"/>
</form>
<?php
if(($msg == "")||($msg == "a")) {
echo "Errore: campo vuoto o uguale ad a";
}
else
echo $msg;
?>
Non va. Mi stampa sempre "Errore: campo vuoto o uguale ad a"..
Come posso fare? Grazie
la variabile $msg cosa rappresenta? dove viene valorizzata?
cenarius_88
01-12-2013, 13:43
Esattamente, la variabile $msg non esiste .... è NULL per default, per cui non è ne uguale a "" ne uguale ad "a"...
Leggiti da qualche parte le variabili POST e GET di PHP...
dovresti usare un check fatto ad hoc
[ESEMPIO]
sei su quella pagina una prima volta, per cui la variabile Post, riferita a Nome, non è settata, allora visualizzi il form
nel caso in cui sia settata la variabile post riferita a nome, fai un check della variabile per verificarne la correttezza... se il check viene passato, allora stampi il nome, altrimenti stampi un messaggio di errore, magari effettuando un redirect tramite javascritp alla pagina precedente
stefano861
01-12-2013, 15:43
Esattamente, la variabile $msg non esiste .... è NULL per default, per cui non è ne uguale a "" ne uguale ad "a"...
Leggiti da qualche parte le variabili POST e GET di PHP...
dovresti usare un check fatto ad hoc
[ESEMPIO]
sei su quella pagina una prima volta, per cui la variabile Post, riferita a Nome, non è settata, allora visualizzi il form
nel caso in cui sia settata la variabile post riferita a nome, fai un check della variabile per verificarne la correttezza... se il check viene passato, allora stampi il nome, altrimenti stampi un messaggio di errore, magari effettuando un redirect tramite javascritp alla pagina precedente
Grazie per le risposte. $msg dovrebbe essere $nome, ho sbagliato a scrivere..
Io vorrei che il form fosse sempre presente nella pagina e non solo se l'utente non ha inserito niente.. Un pò come nei siti in cui è possibile inserire un commento, il form è sempre disponibile..
Grazie per le risposte. $msg dovrebbe essere $nome, ho sbagliato a scrivere..
Io vorrei che il form fosse sempre presente nella pagina e non solo se l'utente non ha inserito niente.. Un pò come nei siti in cui è possibile inserire un commento, il form è sempre disponibile..
la risposta è:
Leggiti da qualche parte le variabili POST e GET di PHP...
link utili:
http://php.net/manual/en/reserved.variables.post.php
http://www.html.it/pag/16695/le-variabili-get-e-post/
stefano861
01-12-2013, 18:54
Ok grazie, ho risolto :)
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.