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:
codice:
<?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");
}
?>
la pagina contatti.php inizia subito con una
codice:
<?php session_start(); ?>
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
if ($_SESSION['ris_no_n'])
{
echo $_SESSION['ris_no_n'];
}
?>
che poi mi stamperà il messaggio. In fondo alla pagina ho inserito un session_unset() per azzerare la sessione.
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