Toon posts:

[PHP] session: kan niet destroyen!

Pagina: 1
Acties:
  • 35 views sinds 30-01-2008

Verwijderd

Topicstarter
ben bezig met een webwinkel te maken, nu stuit ik op het volgende probleem. Ik wil als er een bestelling wordt geplaatst dat er direct een nieuw session id wordt.

Hij destroyed wel alle in de sessie geregistreerde variabelen maar het sessie id gaat niet weg!

ik heb het volgende script:

<?include("dbase.php");
session_start();
session_register("id_session");

if($f=='bevestigen')
{
$sql = "SELECT * FROM klant WHERE id_login = '$id_login'";
$result = mysql_query($sql);
$row = mysql_fetch_array($result);

$id_klant = $row['id_klant'];
$datum = date("d-m-Y");
$insertdate = date("d-m-Y");
$timestamp = date("d-m-Y G:i:s");

$sql = "INSERT INTO orders (id_klant, id_session, datum, insertdate, timestamp) VALUES ('$id_klant', '$id_session', '$datum', '$insertdate', '$timestamp')";
mysql_query($sql);

session_unset();
session_destroy();
session_start();
$id_session = session_id();
session_register($id_session);

}

if($ingelogd == 1)
{

$sql = "SELECT * FROM klant WHERE id_login='$id_login'";
$result = mysql_query($sql);
$row = mysql_fetch_array($result);

$naam = $row['naam'];
$firma = $row['firma'];
$adres = $row['adres'];
$postcode = $row['postcode'];
$plaats = $row['plaats'];
$telefoon = $row['telefoon'];
$fax = $row['fax'];
$email = $row['email'];


echo "$naam<BR>";
echo "$adres<BR>";
echo "$postcode<BR>";
echo "$plaats<BR>";
echo "$telefoon<BR>";
echo "$fax<BR>";
echo "$email<P>";

}
else
{
echo "Niet ingelogd";
}

if($f=='verwijderen')
{
$sql = "DELETE FROM orderregel WHERE id_orderregel='$id_orderregel'";
mysql_query($sql);
}

$sql = "SELECT id_orderregel, id_product, naam, omschrijving, prijs, aantal FROM orderregel WHERE id_session='$id_session' ORDER BY id_orderregel";
$result = mysql_query($sql);

echo "<table width=\"800\">";

while ($row = mysql_fetch_array($result))
{
$id_orderregel = $row['id_orderregel'];
$id_product = $row['id_product'];
$naam = $row['naam'];
$omschrijving = $row['omschrijving'];
$prijs = $row['prijs'];
$aantal = $row['aantal'];


$subtotaal = $prijs*$aantal;

echo "<form method=\"post\" name=\"\" action=\"\">";
echo "<TR>";
echo "<TD><INPUT TYPE=\"hidden\" NAME=\"id_orderregel\" VALUE=\"$id_orderregel\"></td>\n";
echo "<TD>$aantal</TD>\n";
echo "<TD><INPUT TYPE=\"hidden\" NAME=\"id_product\" VALUE=\"$id_product\"></td>\n";
echo "<TD>$id_product</td>\n";
echo "<TD><INPUT TYPE=\"hidden\" NAME=\"naam\" VALUE=\"$naam\"></td>\n";
echo "<TD>$naam</td>\n";
echo "<TD><INPUT TYPE=\"hidden\" NAME=\"omschrijving\" VALUE=\"$omschrijving\"></td>\n";
echo "<TD>$omschrijving</td>\n";
echo "<TD><INPUT TYPE=\"hidden\" NAME=\"subtotaal\" VALUE=\"$subtotaal\"></td>\n";
echo "<TD>€ $subtotaal</td>\n";
echo "<TD></TR><input type=\"hidden\" name=\"f\" value=\"\"></tr></form>\n";
}
echo "</table>";

echo "<form method=\"post\" name=\"\" action=\"\">";
echo "<input type=\"hidden\" NAME=\"f\" VALUE=\"\">";
echo "<input type=\"submit\" VALUE=\"Bevestig bestelling\" onClick=\"f.value='bevestigen'\"></form>";

?>

er staat hier op tweakers veel over geschreven over dit probleem, maar nergens vindt ik een oplossing die werkt!

  • D2k
  • Registratie: Januari 2001
  • Laatst online: 09-01 11:25

D2k

Welkom in P&W -> Quickstart (update 2/10/2002)
en dan vooral ALLES goed doorlezen (ook de code tags enzo)


wat is het exacte probleem? je weet dat je moet refreshen voor die waarden weg zijn he ?

Doet iets met Cloud (MS/IBM)


  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 23-08 10:39

Janoz

Moderator Devschuur®

!litemod

Welkom in P&W -> Quickstart (update 2/10/2002)

Ga bovenstaande eerst even goed doorlezen. Hierop ben je al meerdere keren gewezen.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


Dit topic is gesloten.