---
title: "session_start tar bort sparad formulärdata när man går tillbaka"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/166305-session-start-tar-bort-sparad-formulärdata-när-man-går-tillbaka"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "Janosz"
published: "2007-11-11T20:16:40.000Z"
updated: "2007-11-13T20:19:29.000Z"
replies: 4
views: 814
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/php/166305-session-start-tar-bort-sparad-formulärdata-när-man-går-tillbaka"
---

# session_start tar bort sparad formulärdata när man går tillbaka

## #1 — Janosz, 2007-11-11T20:16Z

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
<?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>&nbsp;</td><td><input type="submit" value="Skicka"></td></tr>
</table>
</form>
```

Permalänk: https://www.webforum.nu/p/166305

## #2 — Troxy, 2007-11-11T21:07Z

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>

Permalänk: https://www.webforum.nu/p/2051081

## #3 — Janosz, 2007-11-11T21:25Z

wow! Jag har verkligen letat överallt och sett en massa krångliga förslag till liknande grejer.

Men denna tråd Troxy tipsade mig om löste allt hur enkelt som helst!

Det är bara att sätta session_cache_limiter(0); precis innan session_start !!!
Sedan är det klart!
Tack för hjälpen!

Permalänk: https://www.webforum.nu/p/2051091

## #4 — Troxy, 2007-11-11T21:35Z

Varsågod.
Men man ska tänka på att session_cache_limiter(0); inte är helt smärtfri.
Det kan skapa andra cache-relaterade problem, exempelvis om man har en session-styrd inloggning.
Om användaren klickar på "Logga ut" så kan det hända att det fortfarande ser ut som att man är inloggad.
Det verkar vara en balansgång att få cache att fungera tillfredsställande.

Permalänk: https://www.webforum.nu/p/2051095

## #5 — her0n, 2007-11-13T20:19Z

Det är (tycker jag personligen) skönare om du sätter value="$visitormail" på inputsen.
Så slipper man backa. Ge t.ex $err\[\] värdet "Ogiltig e-post" o.s.v, kolla sedan om is_array($err), isf loopa ut felmeddelande/n.

Permalänk: https://www.webforum.nu/p/2051463

---

Tråden på webben: https://www.webforum.nu/amne/php/166305-session-start-tar-bort-sparad-formulärdata-när-man-går-tillbaka
