Visualizzazione dei risultati da 1 a 4 su 4

Discussione: Validazione form

  1. #1

    Validazione form

    Ciao a tutti,

    ho un quesito sulla validazione di un form che ho fatto, in quanto non sono un grande esperto di php mi sono basato sull'aiuto di dreamweaver.

    Avvrei bisogno che questo script sia racchiuso in un if.

    Il codice che ho è il seguente

    codice:
    		
    
    if($_POST['nome'] == ' ' || // altri comandi){
    
    
    if ($_POST['nome'] == ''){
    			
    			$validationName = 'perfavore inserisci il nome';
    			
    		} 
    		
    		else if ($_POST['cognome'] == ''){
    			
    			$validationCognome = 'perfavore inserisci il cognome';
    			
    		} 
    
    		
    		else if ($_POST['indirizzo']==''){
    			
    			$validationIndirizzo = 'perfavore inserisci l\'indirizzo';
    
    		}
    		
    				
    		 else if(preg_match("/^[0-9]{5}$/", $_POST['cap']) === 0 ){
    			
    			$validationCap = 'perfavore il CAP corretto';
    			
    		}		
    		
    		else if ($_POST['paese'] == '' ) {
    			
    			$validationPaese = 'perfavore inserire il Paese';			
    		}
    		
    		 else if(preg_match("/^[a-zA-Z]\w+(\.\w+)*\@\w+(\.[0-9a-zA-Z]+)*\.[a-zA-Z]{2,4}$/", $_POST['email']) === 0)	{		
    			$validationEmail = 'perfavore inserisci l\'email';
    
    		}
    		
    		
    		
    		 else if(preg_match("/^[0-9]*$/", $_POST['telefono']) === 0)	{		
    			$validationTel = 'perfavore inserisci il numero corretto';
    
    		
    	}   if ( isset($_POST['privacy']) == false){
    		
    		$check = "color: #e22416;";
    		
    }
    else{ // esegue la funzione quando tutti i campi sono validi}
    Quello che mi servirebbe è una cosa simile, ma se inserisco i campi in cui uso i preg_match non funziona:

    codice:
    		if ($_POST['nome'] == ''){
    			
    			$validationName = 'perfavore inserisci il nome';
    			
    		} 
    		
    		else if ($_POST['cognome'] == ''){
    			
    			$validationCognome = 'perfavore inserisci il cognome';
    			
    		} 
    
    		
    		else if ($_POST['indirizzo']==''){
    			
    			$validationIndirizzo = 'perfavore inserisci l\'indirizzo';
    
    		}
    		
    				
    		 else if(preg_match("/^[0-9]{5}$/", $_POST['cap']) === 0 ){
    			
    			$validationCap = 'perfavore il CAP corretto';
    			
    		}		
    		
    		else if ($_POST['paese'] == '' ) {
    			
    			$validationPaese = 'perfavore inserire il Paese';			
    		}
    		
    		 else if(preg_match("/^[a-zA-Z]\w+(\.\w+)*\@\w+(\.[0-9a-zA-Z]+)*\.[a-zA-Z]{2,4}$/", $_POST['email']) === 0)	{		
    			$validationEmail = 'perfavore inserisci l\'email';
    
    		}
    		
    		
    		
    		 else if(preg_match("/^[0-9]*$/", $_POST['telefono']) === 0)	{		
    			$validationTel = 'perfavore inserisci il numero corretto';
    
    		
    	}   if ( isset($_POST['privacy']) == false){
    		
    		$check = "color: #e22416;";
    		
    }
    }
    else{ // }

    Grazie per l'aiuto

  2. #2

    Re: Validazione form

    A parte che non capisco quale sia la differenza tra i due script tranne che il primo è racchiuso in un altro if.
    Entrambi dovrebbero restituire un errore dato che c'è un conflitto tra gli apici che delimitano la stringa e l'apostrofo in due punti.


    Originariamente inviato da gg07
    ma se inserisco i campi in cui uso i preg_match non funziona:
    "Non funziona" non significa niente!!! Qual'è il problema?
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  3. #3
    Il problema è il seguente: come è ora lo script ,ogni volta che si invia form, esegue il controllo e se trova il primo campo vuoto si blocca, come faccio a far in modo che tutti i controlli vengano eseguiti e gli errori mostrati.
    Ho pensato di inserire tutti i controlli in un if generale separati da || ma quando i tre preg_match i controlli non vengono più eseguiti.

    P.S. Le due apostrofo nel mio codice sono precedute da \, non so perché qui non si vedono.

    Grazie

  4. #4
    Utente di HTML.it L'avatar di bstefano79
    Registrato dal
    Feb 2004
    Messaggi
    2,520
    basta togliere gli else

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.