Ciao a tutti, premetto che sono alle primissime armi con php, ho creato un form di invio dati via mail. Ora il form come action ha la pagina engine.php al cui interno ho scritto questo codice:
la pagina contatti.php inizia subito con unacodice:<?php session_start(); /* preparazione invio mail */ $destinatario = "xxxx@xxx.it"; $oggetto = $_POST['oggetto']; $messaggio = "Nome:". $_POST['nome'] ." \n"; $messaggio .= "Cognome:" . $_POST['cognome'] . "\n"; $messaggio .= "Email del mittente: " . $_POST['email'] . "\n"; $messaggio .= $_POST['testo']; if (($destinatario != NULL) and ($oggetto != NULL) and ($_POST['nome'] != NULL) and ($_POST['cognome'] != NULL) and ($_POST['testo'] != NULL) and (ereg ("@",$_POST['email']))) { mail ($destinatario,$oggetto,$messaggio); $_SESSION['ris_ok'] = '<p id="risok">Messaggio inviato correttamente</p>'; header ( "location: http://miosito/contatti.php"); } elseif ($_POST['nome'] == NULL) { $_SESSION['ris_no_n'] = '<p id="risno">Inserisci il tuo nome, grazie.</p>'; header ( "location: http://miosito/contatti.php"); } elseif ($_POST['cognome'] == NULL) { $_SESSION['ris_no_c'] = '<p id="risno">Inserisci il tuo cognome, grazie.</p>'; header ( "location: http://miosito/contatti.php"); } elseif ($_POST['testo'] == NULL) { $_SESSION['ris_no_t'] = '<p id="risno">Inserisci il messaggio, grazie.</p>'; header ( "location: http://miosito/contatti.php"); } elseif (!ereg("@",$_POST['email'])) { $_SESSION['ris_no_e'] = '<p id="risno">Inserisci un indirizzo email valido, grazie.</p>'; header ( "location: http://miosito/contatti.php"); } elseif ($_POST['oggetto'] == NULL) { $_SESSION['ris_no_o'] = '<p id="risno">Inserisci oggetto del messaggio, grazie.</p>'; header ( "location: http://miosito/contatti.php"); } ?>poi all'inerno del form all'altezza di dove voglio mettere il messaggio o di successo o di errore ho messo questo codice (ne metto uno per esempio):codice:<?php session_start(); ?>
che poi mi stamperà il messaggio. In fondo alla pagina ho inserito un session_unset() per azzerare la sessione.codice:<?php if ($_SESSION['ris_no_n']) { echo $_SESSION['ris_no_n']; } ?>
Il problema è questo, quando comèpilo per la prima volta il form e clicco invia, non mi viene restituito nessun messaggio.... poi dal secondo invio funziona tutto, perchè? dov'è che sbaglio?
Grazie mille a tutti

Rispondi quotando
