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!
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!