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).
La Action
Cosa mi consigliate di fare?
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?