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
P Problema acquisizione clienti Webdesign e Grafica 0
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 7
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
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
L Problema RAM con Tomcat 8 Apache 0
napuleone problema con sort e asort PHP 4
Y Problema incolonnamento tabella PHP 7
S problema salvataggio immagini Photoshop 0
Z Problema con INT MySQL PHP 1
Z Problema database MySQL con XAMPP PHP 0
M Problema con controllo form in real time jQuery 6
D problema php mysql PHP 1
D problema php mysql PHP 1
M Problema Wi-Fi Linux Linux e Software 1
Z Problema di sincronizzazione PAYPAL con PHP PHP 1
Daniele_Carrara Problema Aperture Mailup Email Marketing 5
F PROBLEMA ACCESSO INSTAGRAM Discussioni Varie 2
R Problema connessione db PHP 7
M problema if PHP 2
G Problema con Get page PHP 4
N Problema passaggio variabili tra pagine PHP 4
P Problema con require once PHP 6
P Problema con i package Java 1
A Problema login con Safari PHP 14
F INDESIGN: problema esportazione esecutivo per la stampa con foto B/N Webdesign e Grafica 1
H problema carrello woocommerce PHP 2
S problema con css bootstrap3 HTML e CSS 4
M .load() problema con caricamenti dinamici di js Javascript 0
M Problema su query JOIN in tre tabelle PHP 0
S Problema esportazione tabelle Mysql in Excel PHP 0

Discussioni simili