controllo dati form con jquery e php

Paperino78

Utente Attivo
30 Giu 2012
409
0
16
Milano
Buonasera, proseguo con il lavoro sul mi form di registrazione e stavolta ho un altro quesito.

Nel form che sto creando tutto è ok più o meno :elvis::elvis::cool:. Ho una validazione live dei campi ed un file esterno per l'action. La domanda che mi pongo è questa. Quando clikko sul tasto invia, inizialmente mi appare tutto in rosso, a causa della validazine live e dei campi vuoti e fin qui tutto ok, il problema è che però subito dopo mi appare una pagina bianca con le voci relative all'errore e che sono scritte in questa parte del codice
PHP:
//preparo un messaggio a vuoto per gli errori
$ok_ko="";
if(!ver_testo($username,6,15)){$ok_ko.="Username non corretto, deve essere compreso tra 6 e 15 caratteri compresi i caratteri jolly <br />";
echo "<meta http-equiv='Refresh' content='200; URL=".htmlspecialchars($_SERVER['PHP_SELF'])."'>";}
if(!ver_testo($password,6,12)){$ok_ko.="La password deve essere composta da 6 a 12 caratteri <br />";
echo "<meta http-equiv='Refresh' content='200; URL=".htmlspecialchars($_SERVER['PHP_SELF'])."'>";}
if(!ver_testo($password2,6,12)){$ok_ko.="La password di conferma non coincide con la prima <br />";}
if($password != $password2){$ok_ko.="Le password non coincidono <br />";}
if(!filter_var($email, FILTER_VALIDATE_EMAIL)){$ok_ko.="L'indirizzo email non è valido <br />";}

cosa devo fare per evitare che appaiano queste scritte? Secondo voi è un controllo ridondante, visto che c'è già il livevalidator? Posso semplicemente eliminarle correggendo il codice? Vorrei che il form una volta apparsi gli errori live rimanga così fin quando l'utente non compila tutti i campi contrassegnati.

grazie mille.
 

Eliox

Utente Attivo
25 Feb 2005
4.390
3
0
Notato che le verifiche vengono fatte su variabili definite dall'utente, ma se per esempio username è un parametro di input, come mai utilizzi $username e non $_POST['username'] o $_GET['username'] ?
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
148
63
PR
www.borgo-italia.it
ciao
non conosco live, ma se è in js è lato client, quindi tutti i controlli lato client sono facilmente bypassabili, per quello diventano necessari i controlli php lato server molto più difficilmente aggirabili.
 

Paperino78

Utente Attivo
30 Giu 2012
409
0
16
Milano
Ok e fin qui lo so anche io. E' che non so come fare per far apparire una pagina classica senza che appaiano solamente delle righe su bianco. Devo fare delle pagine apposta?
 

Paperino78

Utente Attivo
30 Giu 2012
409
0
16
Milano
Si esatto e' come scrivere il classico "hella world" due parole su pagina bianca. Non c'è impaginazione ne altro.
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
148
63
PR
www.borgo-italia.it
ciao
io faccio cosi:
nel file css ho
Codice:
.ok_ko{
	width:680px;
	height: auto;
	/*position: absolute;*/
	top: 200px;
	background-color:#FF0000;
	font-size:14px;
	font-weight:300;
	text-align:center;
	visibility:hidden;
	z-index:99;
}
poi dove stampo il messaggio di errore o invio
PHP:
<?php
//......
$visibilita="hidden";
if($messaggio_OK_KO !=""){
	$visibilita="visible";
	//se $messaggio_OK_KO non è vuoto lo stampo
	echo "<div style=\"visibility:$visibilita;\" class=\"ok_ko\">$messaggio_OK_KO</div>";
	$messaggio_OK_KO ="";
	echo "<meta http-equiv='Refresh' content='4; URL=".htmlspecialchars($_SERVER['PHP_SELF'])."'>";
}
//......
?>
in questo modo il messaggio si sovrappone al form e dopo 4 secondi sparisce, operando con i css gli dai la formattazione che vuoi
 

Paperino78

Utente Attivo
30 Giu 2012
409
0
16
Milano
Quindi dovrei sostituire questo
PHP:
if(!ver_testo($username,6,15)){$ok_ko.="Username non corretto, deve essere compreso tra 6 e 15 caratteri compresi i caratteri jolly <br />";
echo "<meta http-equiv='Refresh' content='200; URL=".htmlspecialchars($_SERVER['PHP_SELF'])."'>";}
con questo?
PHP:
if($messaggio_OK_KO !=""){
    $visibilita="visible";
    //se $messaggio_OK_KO non è vuoto lo stampo
    echo "<div style=\"visibility:$visibilita;\" class=\"ok_ko\">$messaggio_OK_KO</div>";
    $messaggio_OK_KO ="";
    echo "<meta http-equiv='Refresh' content='4; URL=".htmlspecialchars($_SERVER['PHP_SELF'])."'>";
}
ogni singola riga e quindi controllo? oppure basta una condizione sola per applicarla ad ognuna?

Ho provato ad inserire così il codice
PHP:
//preparo un messaggio a vuoto per gli errori
$ok_ko="";
$visibilità = "hidden";
if(!ver_testo($username,6,15)){$ok_ko.="Username non corretto, deve essere compreso tra 6 e 15 caratteri compresi i caratteri jolly <br />";echo "<meta http-equiv='Refresh' content='200; URL=".htmlspecialchars($_SERVER['PHP_SELF'])."'>";}
if(!ver_testo($password,6,12)){$ok_ko.="La password deve essere composta da 6 a 12 caratteri <br />";
echo "<meta http-equiv='Refresh' content='200; URL=".htmlspecialchars($_SERVER['PHP_SELF'])."'>";}
if(!ver_testo($password2,6,12)){$ok_ko.="La password di conferma non coincide con la prima <br />";}
if($password != $password2){$ok_ko.="Le password non coincidono <br />";}
if(!filter_var($email, FILTER_VALIDATE_EMAIL)){$ok_ko.="L'indirizzo email non è valido <br />";}
if(!controllodata($eta)){$ok_ko.="La data non è stata inserita in modo corretto <br />";}
		if ($ok_ko != "") {
			$visibilità = "visibile";
			echo"<div style=\"visibility:$visibilità;\" class=\"ok_ko\"></div>";
			$ok_ko ="";
			echo "<meta http-equiv='Refresh' content='4; URL=".htmlspecialchars($_SERVER['PHP_SELF'])."'>";
		}
ma mi restituisce solamente l'errore d'inserimento captcha che ho messo alla fine del form con questo codice
PHP:
if ($securimage->check($_POST['captcha_code']) == false) {
// codice errato
	echo "Il codice inserito non è corretto.<br /><br />";
	echo "Torna <a href='javascript:history.go(-1)'>indietro</a> e riprova.";
	echo "<meta http-equiv='Refresh' content='2; URL=TEST%20FORM%20REAL%20TIME.PHP'>";
	exit;}
 
Discussioni simili
Autore Titolo Forum Risposte Data
M [PHP] controllo inserimento dati un un form PHP 4
P invio form non corretto dopo controllo dati PHP 8
T problema strano con procedura di controllo da database, di dati immessi in un form asp Classic ASP 5
L form controllo con il for "Tutti i dati sono richiesti". PHP 2
K Controllo FORM e invio dati al DB PHP 43
P controllo dati mentre s'inseriscono nel form PHP 17
T Impostare un controllo da database, di dati immessi in un form asp Classic ASP 6
T impostare il controllo dei dati immessi dagli utenti su form asp Classic ASP 8
L Controllo e confronto dati immessi in 2 campi Data in un form (mysql) PHP 1
S [MySQL] Controllo dati di una tabella in tempo reale MySQL 0
F Controllo dati sui campi di input tramite php PHP 1
L Query di controllo dati già presenti PHP 1
K Controllo esistenza dati e inserimento in db ASP.NET 2
K controllo dati PHP 6
P Non funziona il controllo dati con ajax PHP 4
S Controllo dati MS Access 0
P controllo dati immediati HTML e CSS 4
P Controllo inserimento dati Javascript 6
A Controllo dati su MYSQL per non sovrascrivere PHP 1
pup3770 Controllo sulla presenza di dati presenti su altra tabella PHP 5
L Controllo dati PHP 2
emanuelevt controllo dati provenienti da tinymce PHP 4
G [Access 2003] Crere un controllo per dati già presenti MS Access 2
L MVC-Controllo Inserimento Dati PHP 6
B Controllo inserimento dati in Campi PHP 0
M Problema con controllo form in real time jQuery 6
MarcoGrazia jquery validate() controllo checkbox jQuery 2
M Controllo del codice fiscale/partita iva PHP 11
S Software windows10 per controllo contenuti web Windows e Software 6
S Controllo appuntamenti disponibili sul db PHP 5
L input (controllo se è stato modificato o no). PHP 1
W Controllo competitors serp SEO e Posizionamento 2
bubino8 [Javascript] popup di controllo elimina dopo window.print(); Javascript 0
M [MS Access] controllo valido se MS Access 8
MarkRed Come indicare, in una maschera, il primo controllo d'input, tipo "SetFocus" jQuery 9
C [PHP] Controllo <select> comportamento anomalo PHP 2
elpirata [Javascript] Controllo campi required non effettuato Javascript 2
A [PHP] Controllo nome utente form di registrazione PHP 4
L [PHP] controllo dimensione immagine per il resize PHP 2
M [ASP] Upload file da form controllo Classic ASP 5
P [PHP] Controllo al checkbox privacy PHP 6
T [php] controllo su estensione file PHP 7
M [PHP] Script per controllo disponibilitá negozio in citta PHP 4
I Recupero accesso pannello di controllo dominio Leggi, Normative e Fisco 2
R [MS Access] CONDIZIONE CHE CAMBIA PROPRIETA' DI UNA CONTROLLO MS Access 7
M [PHP] Dubbio controllo IF PHP 15
M [PHP] Controllo campo cap con trattino oltre ai numeri PHP 3
Fede72 Controllo registrazioni PHP Mysql PHP 5
L jquery e json controllo valori da determinate chiavi - keys jQuery 0
T [Javascript] un controllo con checkbox che non... controlla... Javascript 3

Discussioni simili