Form PHP e validazione con ritorno di parametro

Discussione in 'PHP' iniziata da Scar991, 14 Dicembre 2012.

  1. Scar991

    Scar991 Utente Attivo

    Registrato:
    30 Aprile 2012
    Messaggi:
    167
    Mi Piace Ricevuti:
    0
    Punteggio:
    0
    Salve a tutti!
    Sto implementando un form per i contatti: vorrei che la pagina di action che fa i controlli sui campi invii poi un parametro alla pagina dei contatti che, tramite un if, fa comparire l'eventuale messaggio di errore (o conferma).
    Ho da poco iniziato php e non sono molto ferrato, quindi chiedo aiuto a voi: cosa non va nel codice? i parametri vengono praticamente ignorati...

    IL FORM - (In alto nella pagina html c'è anche la globalizzazione della variabile d'errore).

    PHP:
    <?php
    global $error;
    ?>
    HTML:
    <form id="CONTATTI" name="CONTATTI" method="post">
    		 <fieldset>
    		 <legend>Contattaci!</legend>
             <p>Hai un consiglio per noi?
             <br />
             Vuoi chiederci qualcosa ma vuoi farlo privatamente? <br />
             Cerchi un contatto diretto?<br />
             Sei nella sezione giusta! Scrivici, e ti risponderemo appena possibile!</p>
    		 <p>
    		 <label for="NOME">Nome</label>
    		 <input type="text" name="NOME" id="NOME" />
    		 </p>
             <?php
    		 
    		 if($error != "") {
    			 echo $error;
    		 }
    
    		 ?>
    		 <p>
    		 <label for="COGNOME">Cognome</label>
    		 <input type="text" name="COGNOME" id="COGNOME" />
    		 </p>
    		 <p>
    		 <label for="EMAIL">eMail</label>
    		 <input type="text" name="EMAIL" id="EMAIL" />
    		 </p>
    		 <p>
    		 <label for="MESSAGGIO">Messaggio</label>
    		 <textarea name="MESSAGGIO" id="MESSAGGIO" cols="45" rows="5"></textarea>
    		 </p>
    		 <div class="button">
    		 <input type="submit" name="INVIA" id="INVIA" value="Invia" />
    		 </div>
    		 </fieldset>
    		 </form>
    La Action

    PHP:
    <?php

    global $name;
    global 
    $surname;
    global 
    $email;
    global 
    $message;
    global 
    $error;

        
    $name=addslashes(trim(strip_tags($_POST['NOME'])));
        
    $surname=addslashes(trim(strip_tags($_POST['COGNOME'])));
        
    $mail=addslashes(trim(strip_tags($_POST['EMAIL'])));
        
    $message=addslashes(trim(strip_tags($_POST['MESSAGGIO'])));
        
    $error "";

    if (isset(
    $_POST['INVIA']) && $_POST['INVIA'] == 'Invia'){
        if (
    $name == "") {
            
    $error .="Il nome è obbligatorio<br>";
        }
        if (!
    filter_var($emailFILTER_VALIDATE_EMAIL)) {
        
    $error .="Indirizzo non corretto o non inserito!";
        }
        if (
    strlen($message) < 10) {
            
    $error .="Il messaggio non è inserito o è troppo corto (min 10 caratteri)<br />";
        }
        
    header("Location: /contattaci.php?$error");

    }

    ?>
    Cosa mi consigliate di fare?
     
Sto caricando...

Condividi questa Pagina