Ragazzi ho un problema!
Allora il problema è questo: costruendo una pagina per spedire delle email dal sito, quando arrivo al punto di dover modificare il testo inserito, e torno indietro, mi sparisce il testo già digitato.
Ora, pur avendo creato le variabili giuste e utilizzando la variabile d'ambiente $_SERVER['PHP_SELF'] nell'action, quando lo faccio tornare indietro mi reinizializza le variabili a zero.
Bene, per tornare indietro, e credo sia questo il problema, punto tramite un semplice url alla pagina delle email, pur usando nel link quella variabile d'ambiente e non il link diretto.
L'alternativa lo so è quella di usare un form con i campi hidden in modo da passare di nuovo le variabili tramite il meccanismo post.
Pensavo invece non fosse necessario, o se sbaglio da qualche parte mi piacerebbe capire dove, per me è importante risolvere questo punto, vi allego il codice del mio file email.php un po' semplificato:
codice:
<?php
include("header.php.inc");
if (!isset($_POST)) $_POST = $HTTP_POST_VAR;
$nome = $_POST['nome'];
$email = $_POST['email'];
$oggetto = $_POST['oggetto'];
$messaggio = $_POST['messaggio'];
if (isset($_POST['invia']) && $_POST['invia'] == ' INVIA ') {
$errore = 0;
if ($nome == "") {
$errore = 1;
echo "
Hai dimenticato di inserire il tuo nome!</p>\n";
} else echo "<h3>Salve $nome.</h3>";
if ($oggetto == "") {
$errore = 3;
echo "
non hai indicato alcun oggetto per la email!</p>\n";
}
if ($messaggio == "") {
$errore = 4;
echo "
Non hai inserito alcun messaggio! Sarebbe cortesia inviare qualcosa.</p>\n";
}
if ($email == "") {
echo "
Se non hai una tua email, non potrò contattarti in futuro!</p>";
if ($errore == 0) {
echo "
Ma posso spedirla lo stesso! Cosa vuoi fare, correggere l'email o spedirla?</p>\n";
$errore = 2;
}
}
if (($errore != 0) && ($errore != 2)) echo "
torna indietro e correggi per cortesia.</p>\n";
else // tutto a posto posso spedirla!
// qui il codice per spedire, quando funzionerà tutto.
} else {
?>
<h3>Il nostro contatto con voi</h3>
<form id='FORM' method='post' action='<?php echo $_SERVER['PHP_SELF']; ?>'>
<fieldset>
Contattaci
<label accesskey='n' for='nome'>Nome:</label>
<input id='nome' name='nome' tabindex='0' type='text' value='<?php echo $nome; ?>' />
</p>
<label accesskey='e' for='email'>E-Mail:</label>
<input id='email' name='email' tabindex='1' type='text' value='<?php echo $email; ?>' />
</p>
<label accesskey='o' for='oggetto'>Oggetto:</label>
<input id='oggetto' name='oggetto' tabindex='2' type='text' value='<?php echo $oggetto; ?>' />
</p>
<label accesskey='t' for='messaggio'>Testo del messaggio:</label>
<textarea rows='8' tabindex='3' cols='51' id='messaggio' name='messaggio'><?php echo $messaggio; ?></textarea>
</p>
<input name='canc' type='reset' value=' Cancella ' />
<input name='invia' type='submit' value=' INVIA ' />
</fieldset>
</form>
<?php
}
?>
<div class='pulisci'>
torna su
</div>
</div>
<hr />
<div id='footer'>
Sito realizzato da StilisticaMente - © 2004 - 2005</p>
</div>
</div>
</body>
</html>
spero sia sufficiente, se no chiedete, grazie.