Form PHP e validazione con ritorno di parametro

Scar991

Utente Attivo
30 Apr 2012
167
0
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($email, FILTER_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?
 

Discussioni simili