problema validazione form con ajax e jquery

processore

Utente Attivo
11 Ott 2012
51
0
0
salve.
qualche mese fa avevo fatto una pagina di registrazione con convalida form con ajax e jquery e tutto funzionava bene.
ieri sera vado a fare una registrazione e non funzionava piu niente.
nel senso che se inserisco nel campo username solo una lettera mi esce l'errore che devo inserire almeno 4 lettere e fin qui tutto bene , pero poi se inserisco 4 lettere o piu di 4 rimane l'errore che che devo inserire 4 lettere, dopo una mattinata che ci sbatto la testa ho visto che l'errore me lo da solo nei campi dove uso pure ajax, tipo mi da errore il campo username perche uso ajax per controllare se quel nome utente e gia presente nel db.
togliendo il controllo ajax tutto funziona.


questa e la pagina di registrazione

PHP:
 <form  action="funzioni/registra1.php" method="post" id="form_register">
            
            <table>
            	<tr>
                	<td colspan="2" class="errore">
                    
                    	 <?php 
									
									if(isset ($_GET['err'])){
										
										if(($_GET['err']== 1)){
										echo "Inserire tutti i dati ";
										}
										else if($_GET['err']== 2){
										echo "nome utente o indirizzo email sono gia esistenti ";
										}
									}
								?>
                    </td>
                </tr>    
                <tr>
                	<td colspan="2">
                    	Paese/Provincia<br />
						<select name="paese" >
                            <option value="Italia">Italia</option>
</select>
            		</td>
                </tr>
                <tr>
                	<td width="29%">
                    	Nome<br />
                        <input name="nome" type="text" />
                    </td>
                    <td>
                    	Cognome<br />
                        <input name="cognome" type="text" />
                    </td>
                </tr>
                <tr>
                	<td colspan="2">
                    	Indirizzo<br />
                        <input name="indirizzo" type="text" />
                    </td>
                </tr>
                <tr>
                	<td>
                    	CAP<br />
                        <input name="cap" type="text" />
                    </td>
                    <td>
                    	Citta<br />
                        <input name="citta" type="text" />
                    </td>
                </tr>
                <tr>
                	<td colspan="2">
                    	Provincia di residenza<br />
                        <select name="provincia">
                            <option value="AG">Agrigento</option>
                            <option value="AL">Alessandria</option>
                            <option value="AN">Ancona</option>
                            <option value="AO">Aosta</option>
                            <option value="AR">Arezzo</option>
                            <option value="AP">Ascoli Piceno</option>
                            <option value="AT">Asti</option>
                            <option value="AV">Avellino</option>
                            <option value="BA">Bari</option>
                            <option value="BT">Barletta-Andria-Trani</option>
                            <option value="BL">Belluno</option>
                            <option value="BN">Benevento</option>
                            <option value="BG">Bergamo</option>
                            <option value="BI">Biella</option>
                            <option value="BO">Bologna</option>
                            <option value="BZ">Bolzano</option>
                            <option value="BS">Brescia</option>
                            <option value="BR">Brindisi</option>
                            <option value="CA">Cagliari</option>
                            <option value="CL">Caltanissetta</option>
                            <option value="CB">Campobasso</option>
                            <option value="CI">Carbonia-Iglesias</option>
                            <option value="CE">Caserta</option>
                            <option value="CT">Catania</option>
                            <option value="CZ">Catanzaro</option>
                            <option value="CH">Chieti</option>
                            <option value="CO">Como</option>
                            <option value="CS">Cosenza</option>
                            <option value="CR">Cremona</option>
                            <option value="KR">Crotone</option>
                            <option value="CN">Cuneo</option>
                            <option value="EN">Enna</option>
                            <option value="FM">Fermo</option>
                            <option value="FE">Ferrara</option>
                            <option value="FI">Firenze</option>
                            <option value="FG">Foggia</option>
                            <option value="FO">Forlì - Cesena</option>
                            <option value="FR">Frosinone</option>
                            <option value="GE">Genova</option>
                            <option value="GO">Gorizia</option>
                            <option value="GR">Grosseto</option>
                            <option value="IM">Imperia</option>
                            <option value="IS">Isernia</option>
                            <option value="SP">La Spezia</option>
                            <option value="AQ">L'Aquila</option>
                            <option value="LT">Latina</option>
                            <option value="LE">Lecce</option>
                            <option value="LC">Lecco</option>
                            <option value="LI">Livorno</option>
                            <option value="LO">Lodi</option>
                            <option value="LU">Lucca</option>
                            <option value="MC">Macerata</option>
                            <option value="MN">Mantova</option>
                            <option value="MS">Massa Carrara</option>
                            <option value="MT">Matera</option>
                            <option value="MD">Medio Campidano</option>
                            <option value="ME">Messina</option>
                            <option value="MI">Milano</option>
                            <option value="MO">Modena</option>
                            <option value="MB">Monza e della Brianza</option>
                            <option value="NA">Napoli</option>
                            <option value="NO">Novara</option>
                            <option value="NU">Nuoro</option>
                            <option value="OG">Ogliastra</option>
                            <option value="OT">Olbia-Tempio</option>
                            <option value="OR">Oristano</option>
                            <option value="PD">Padova</option>
                            <option value="PA">Palermo</option>
                            <option value="PR">Parma</option>
                            <option value="PV">Pavia</option>
                            <option value="PG">Perugia</option>
                            <option value="PS">Pesaro</option>
                            <option value="PE">Pescara</option>
                            <option value="PC">Piacenza</option>
                            <option value="PI">Pisa</option>
                            <option value="PT">Pistoia</option>
                            <option value="PN">Pordenone</option>
                            <option value="PZ">Potenza</option>
                            <option value="PO">Prato</option>
                            <option value="RG">Ragusa</option>
                            <option value="RA">Ravenna</option>
                            <option value="RC">Reggio Calabria</option>
                            <option value="RE">Reggio Emilia</option>
                            <option value="RI">Rieti</option>
                            <option value="RN">Rimini</option>
                            <option value="RM">Roma</option>
                            <option value="RO">Rovigo</option>
                            <option value="SA">Salerno</option>
                            <option value="SS">Sassari</option>
                            <option value="SV">Savona</option>
                            <option value="SI">Siena</option>
                            <option value="SR">Siracusa</option>
                            <option value="SO">Sondrio</option>
                            <option value="TA">Taranto</option>
                            <option value="TE">Teramo</option>
                            <option value="TR">Terni</option>
                            <option value="TO">Torino</option>
                            <option value="TP">Trapani</option>
                            <option value="TN">Trento</option>
                            <option value="TV">Treviso</option>
                            <option value="TS">Trieste</option>
                            <option value="UD">Udine</option>
                            <option value="VA">Varese</option>
                            <option value="VE">Venezia</option>
                            <option value="VB">Verbania-Cusio-Ossola</option>
                            <option value="VC">Vercelli</option>
                            <option value="VR">Verona</option>
                            <option value="VV">Vibo Valentia</option>
                            <option value="VI">Vicenza</option>
                            <option value="VT">Viterbo</option>
                        </select>  
                    </td>
                </tr>
                <tr>
                	<td colspan="2" >
                    	Indirizzo email<br />
                        <input name="email" type="text" size="49" id="reg_email" />
                    </td>
                </tr>
                <tr>
                	<td colspan="2" >
                    	Numero di telefono<br />
                        <input name="tel" type="text"  />
                    </td>
                </tr>
            </table>
                
                
                <br /><br /><b>Crea l'ID utente e la password</b> &nbsp <span>Tutti i campi sono obligatori</span>
            <table> 
            	<tr>
                	<td colspan="2" class="errore">
                    	 <?php 
									
									if(isset ($_GET['err'])){
										
										if(($_GET['err']== 3)){
										echo "Le password non corrispondono ";
										}
										
									}
								?>
                    </td>
                </tr>           
                <tr>
                	<td colspan="2">
                    	<label for="reg_user">ID utente eBay<br /></label>
                    	
                        <input name="username" type="text" id="reg_user" />
                    </td>
                </tr>
                <tr>
                	<td colspan="2">
                    	Password<br />
                        <input name="pass1" type="password" id="reg_pass1" />
                    </td>
                </tr>
                <tr>
                	<td colspan="2">
                    	Conferma la password<br />
                        <input name="pass2" type="password" id="reg_pass2" />
                    </td>
                </tr>
                <tr>
                	<td colspan="2">
                    	Domanda segreta<br />
                        <select name="domanda">
                        	<option value="0" selected="selected">Scegli una delle domande suggerite di seguito</option>
                            <option value="Come si chiama la strada in cui sei cresciuto?">Come si chiama la strada in cui sei cresciuto?</option>
                            <option value="Qual è il cognome da nubile della tua nonna materna?">Qual è il cognome da nubile della tua nonna materna?</option>
                            <option value="Qual è il cognome del tuo primo ragazzo o della tua prima ragazza?">Qual è il cognome del tuo primo ragazzo o della tua prima ragazza?</option>
                            <option value="Qual è il nome della tua prima scuola?">Qual è il nome della tua prima scuola?</option>
                            <option value="Qual è il nome del tuo animale domestico?">Qual è il nome del tuo animale domestico?</option>
                    </td>
                </tr>
                <tr>
                	<td colspan="2">
                    	Rispondi<br />
                        <input name="risposta" type="text"  />
                    </td>
                </tr>
                <tr>
<input type="submit" name="register" value="registrati" id="reg_submit" />
                    </td>
                </tr>
            
            </table>
            </form>


Codice:
$(document).ready(function()
{
	// my method for validate username
	$.validator.addMethod("username_regex", function(value, element) { 
		return this.optional(element) || /^[a-z0-9\.\-_]{3,30}$/i.test(value); 
		}, "Please choise a username with only a-z 0-9.");
	
	$.validator.addMethod("tel_regex", function(value, element) { 
		return this.optional(element) || /^[0-9]{1,30}$/i.test(value); 
		});
		
	$("#form_register").validate(
	{
        rules:{
		'nome':{
			required: true,
			},
		'cognome':{
			required: true,
			},
		'indirizzo':{
			required: true,
			},
		'cap':{
			required: true,
			},
		'citta':{
			required: true,
			},
		'tel':{
			required: true,
			tel_regex:true,
			},
		'risposta':{
			required: true,
			},							
		'username':{
			required: true,
			minlength: 3,
			username_regex: true,
			remote:{
				url: "validatorAJAX.php",
				type: "post"
				}
			},
		'email':{
			required: true,
			email: true,
			
			},
		'pass1':{
			required: true,
			minlength: 8
			},
		'pass2':{
			equalTo: '#reg_pass1'
			}
		},
        messages:{
		'nome':{
			required: "Il campo nome e obbligatorio!",
			},
		'cognome':{
			required: "Il campo cognome e obbligatorio!",
			},
		'indirizzo':{
			required: "Il campo indirizzo e obbligatorio!",
			},
		'cap':{
			required: "Il campo cap e obbligatorio!",
			},
		'citta':{
			required: "Il campo citta e obbligatorio!",
			},
		'tel':{
			required: "Il campo telefono e obbligatorio!",
			tel_regex:"inserire un numero valido",
			},
		'risposta':{
			required: "Il campo risposta e obbligatorio!",
			},			
		'username':{
			required: "Il campo utente e obbligatorio!",
			minlength: "Scegli un username di almeno 4 lettere!",
			username_regex: "Hai utilizzato caratteri non validi. Sono consentiti solo lettere numeri!",
			
			},
		'email':{
			required: "Il campo email e obbligatorio!",
			email: "Inserisci un valido indirizzo email!",
			
			},
		'pass1':{
			required: "Il campo password e obbligatorio!",
			minlength: "Inserisci una password di almeno 8 caratteri!"
			},
		'pass2':{
			equalTo: "Le due password non coincidono!"
			}
		}
	});
});



PHP:
<?php
// connessione al db
include "connessione.php";

// funzione per verificare l'esistenza dell'username
function isset_username($username){
	$username = trim($username);
	$query = "SELECT COUNT(*) AS num FROM utenti WHERE utente='" .mysql_real_escape_string($username). "'";
	$result = mysql_query($query) or die(mysql_error());
	$row = mysql_fetch_array($result);
	if($row['num']>=1){
		return TRUE; // true se utente esiste
		}
	else{
		return FALSE;
		}
	}

// funzione per verificare l'esistenza dell'email
function isset_email($email){
	$email = trim($email);
	$query = "SELECT COUNT(*) AS num FROM utenti WHERE email='" .mysql_real_escape_string($email). "'";
	$result = mysql_query($query) or die(mysql_error());
	$row = mysql_fetch_array($result);
	if($row['num']>=1){
		return TRUE; // true se utente esiste
		}
	else{
		return FALSE;
		}
	}

/*
PROCESSIAMO LA RICHIESTA AJAX
*/
if(isset($_POST['username'])){
	if(!isset_username($_POST['username'])){
		echo 'true';
		}
	else{
		echo 'false';
		}
	}
else if(isset($_POST['email'])){
	if(!isset_email($_POST['email'])){
		echo 'true';
		}
	else{
		echo 'false';
		}
	}
?>


cosa ce di sbagliato... non capisco perche prima andava e ora non funziona piu
 
Ultima modifica di un moderatore:
Discussioni simili
Autore Titolo Forum Risposte Data
D Problema nella validazione di un form con JQUERY ed AjAX jQuery 4
G problema con plugin validazione form jquery jQuery 0
H Problema validazione CAPTCHA PHP 20
A Problema validazione w3c HTML e CSS 2
A Problema di validazione W3C HTML e CSS 1
C problema link con ul e li e validazione pagina HTML e CSS 6
S Zend_Validate_Regex: Problema validazione PHP 7
D problema validazione w3c oscommerce CMS (Content Management System) 5
F Problema pulsante cerca record su access Database 0
I Sto progettando nuovi siti utilizzando bootstrap e devo dire funziona bene, l'unico problema e la maschera -moz- HTML e CSS 0
K Problema form update PHP 2
O problema con dvr dahua xvr5116 IP Cam e Videosorveglianza 0
S Problema nel ciclare un json Javascript 0
G Problema con Xampp Web Server 1
andrea barletta Problema con miniature comandi Photoshop 0
I problema con alice Posta Elettronica 0
K Problema Inner join PHP 1
F firefox problema http Linux e Software 0
N Problema con position absolute e overflow HTML e CSS 4
E Problema jquery Success jQuery 2
L Problema con inner join PHP 11
K [php] Problema con inner join PHP 4
E problema selezione sfumata Photoshop 2
K [PHP] Problema con variabili concatenate. PHP 1
A Problema filtro fluidifica Photoshop Photoshop 1
H Problema Bordi Scontorno Photoshop 1
O problema con query PHP 4
R Problema installazione Realtek WiFi USB rtl8821 Reti LAN e Wireless 1
I problema con 2 account Posta Elettronica 1
L problema collegamento file css con html HTML e CSS 1
Y Problema percorso file in rete PHP 1
N Problema SEO "L'URL non si trova su Google" SEO e Posizionamento 4
E Problema accesso a file con app sviluppata con MIT APP INVENTOR 2 Sviluppo app per Android 0
P Problema acquisizione clienti Webdesign e Grafica 1
F NetBeans problema creazione progetto Java Windows e Software 0
M Problema con Try Catch PHP 0
C problema seo + cerco esperto SEO e Posizionamento 11
Sergio Unia Problema con gli eventi del mouse su una data table: Javascript 2
T PROBLEMA CON SESSIONI PHP 3
A Problema, non so, di scale() o transform, oppure altro? HTML e CSS 0
T ALTRO PROBLEMA CON ARRAY PHP PHP 1
R problema con else PHP 0
T PROBLEMA CON ARRAY PHP 8
L problema con query select PHP 2
R Problema query con ricerca id numerico PHP 2
F Problema con risposta PHP 0
S problema con recupero dati tabella mysql PHP 2
Z Problema con il mio tp-l i nk Reti LAN e Wireless 1
I PROBLEMA: Sostituzione sito XAMPP E-Commerce 0
T problema data 30/11/-1 PHP 0

Discussioni simili