Jag hade själv detta problem förut och skapade då en tråd om detta:
http://www.webforum.nu/showthread.php?t=143847
Även denna tråd behandlar ämnet lite:
http://www.webforum.nu/showthread.php?t=157221
Hej
Har en php sida med session_start med ett POST-formulär.
Undrar hur man kan göra för att spara formulärdata när man går tillbaka till sidan pga att man missat ett obligatoriskt fält eller liknande.
Det funkar utan session_start men tyvärr måste jag ha kvar den pga inloggningen.
Här är min kod:
<?php
session_start();
$ip = $_POST['ip'];
$httpref = $_POST['httpref'];
$httpagent = $_POST['httpagent'];
$visitor = $_POST['visitor'];
$visitormail = $_POST['visitormail'];
$notes = $_POST['notes'];
$attn = $_POST['attn'];
if (eregi('http:', $notes)) {
die ("Gör inte om detta!! <br><br><a href='javascript:history.go(-1)'>Tillbaka</a>");
}
if(!$visitormail == "" && (!strstr($visitormail,"@") || !strstr($visitormail,".")))
{
echo "<br><font color=#ff0000>Ange en giltig epost-adress...</font>\n";
$badinput = "<br><br>\n";
echo $badinput;
die ("<br><br><a href='javascript:history.go(-1)'>Tillbaka</a>");
}
if(empty($visitor) || empty($visitormail) || empty($notes )) {
echo "<br><br><font color=#ff0000>Gå tillbaka - fyll i samtliga fält</font>\n";
die ("<br><br><a href='javascript:history.go(-1)'>Tillbaka</a>");
}
$todayis = date("l, F j, Y, g:i a") ;
$attn = $attn ;
$subject = $attn;
$notes = stripcslashes($notes);
$message = " $todayis [EST] \n
Ärende: $attn \n
Meddelande: $notes \n
Från: $visitor ($visitormail)\n
IP-adress = $ip \n
Webbläsare: $httpagent \n
";
$from = "From: $visitormail\r\n";
mail("info@mindomän.se", $subject, $message, $from);
?>
<p align="center">
Tack för ditt mejl <i><?php echo $visitor ?> ( <?php echo $visitormail ?> )</i>
<br />
<br />
<b>Meddelande:</b><br />
<?php $notesout = str_replace("\r", "<br/>", $notes);
echo $notesout; ?>
<br />
<br />
<br />
<?php echo "Vi svarar dig så fort som möjligt..." ?>
<br /><br />
<a href="kontakta.php">Tillbaka </a>
</p>
<?php
$ipi = getenv("REMOTE_ADDR");
$httprefi = getenv ("HTTP_REFERER");
$httpagenti = getenv ("HTTP_USER_AGENT");
?>
<form method="post" action="sendeail.php">
<input type="hidden" name="ip" value="<?php echo $ipi ?>" />
<input type="hidden" name="httpref" value="<?php echo $httprefi ?>" />
<input type="hidden" name="httpagent" value="<?php echo $httpagenti ?>" />
<table border="0" bgcolor="#ececec" cellspacing="5">
<tr>
<td>Namn:*</td><td><input type="text" size="30" name="visitor"></td></tr>
<tr>
<td>E-post:*</td><td><input type="text" size="30" name="visitormail"></td></tr>
<tr>
<td valign="top">Meddelande:*</td><td><textarea name="notes" rows="6" cols="30"></textarea></td></tr>
<input type="hidden" name="attn" value="kontaktformulär" />
<tr><td> </td><td><input type="submit" value="Skicka"></td></tr>
</table>
</form>
