Hi allemaal,
Ik kijk even ergens overheen. Wellicht dat jullie het zien.
Ik ben een soort online webshop aan het maken waarin een bestelsysteem zit wat op basis van sessions werkt.
De functionaliteit hiervan werkt uitstekend, ik heb alleen problemen met de redirect naar een volgende pagina. Indien in enkele van de functies van de winkelwagen een redirect wordt gegeven, dan verwijst de browser naar 127.0.0.1. Een refresh op diezelfde pagina pakt dan trouwens ook de css niet meer.
de testcase: http://dev.ultraserv.nl/logic3/nl/index.php
inloggen met test / test, en dan een artikel aan de winkelwagen toevoegen...
de betrefffende code:
het lijkt erop dat 'iets' de relatieve locatie niet goed snapt of vermeubelt.
De redirect wordt aangeroepen in de footer (en werkt op alle andere pagina's met formulieren wel goed...
Ik kijk even ergens overheen. Wellicht dat jullie het zien.
Ik ben een soort online webshop aan het maken waarin een bestelsysteem zit wat op basis van sessions werkt.
De functionaliteit hiervan werkt uitstekend, ik heb alleen problemen met de redirect naar een volgende pagina. Indien in enkele van de functies van de winkelwagen een redirect wordt gegeven, dan verwijst de browser naar 127.0.0.1. Een refresh op diezelfde pagina pakt dan trouwens ook de css niet meer.
de testcase: http://dev.ultraserv.nl/logic3/nl/index.php
inloggen met test / test, en dan een artikel aan de winkelwagen toevoegen...
de betrefffende code:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
| function add2cart()
{
global $details, $msg, $errmsg, $redirect, $_SESSION;
// Het product wat we toevoegen moeten we eerst controleren
if(is_numeric($_POST['productnummer'])) $productnummer = $_POST['productnummer'];
else exit("Type Fout!.");
if(is_numeric($_POST['hoeveelheid'])) $hoeveelheid = $_POST['hoeveelheid'];
else exit("Type Fout.");
// Kijken of er wel iets besteld is?
if ($hoeveelheid == 0) {
echo "<p> 0 is geen aantal!</p>\n";
exit();
}
// Controleren of er al inhoud is op de winkelwagen
if (empty($_SESSION['cart'])){
// Nee dus, een nieuwe maken
$_SESSION['cart'] = $productnummer.",".$hoeveelheid; // Het productnummer,hoeveelheid staat dus in een sessie
} else {
// Winkelwagen opsplitsen op de pipe
$cart = explode("|",$_SESSION['cart']);
// Winkelwagen inhoud tellen
$count = count($cart);
// En controleren of het product al in de winkelwagen zit
$add = TRUE; // var om later te kijken of we moeten toevoegen
foreach($cart as $products)
{
// Exploden
/*
$product[x] -->
x == 0 -> productnummer
x == 1 -> hoeveelheid
*/
$product = explode(",",$products);
if ($product[0] == $productnummer) {
// Product al in de winkelwagen
$product[1] = $product[1] + $hoeveelheid; // Nieuwe hoeveelheid is oude + nieuwe
$add = FALSE; // Dus niet toevoegen
}
// En weer in de sessie zetten
$i++;
if ($i == 1) {
$_SESSION['cart'] = $product[0].",".$product[1];
} else {
$_SESSION['cart'] = $_SESSION['cart']."|".$product[0].",".$product[1];
}
}
if ($add) { // Als we dus wel moeten toevoegen
$_SESSION['cart'] = $_SESSION['cart']."|".$productnummer.",".$hoeveelheid;
}
}
$details = "Artikel toegevoegd aan winkelwagen!";
$redirect = "<script>setTimeout(\"document.location = 'index.php'\", 1500);</script>\n";
} |
het lijkt erop dat 'iets' de relatieve locatie niet goed snapt of vermeubelt.
De redirect wordt aangeroepen in de footer (en werkt op alle andere pagina's met formulieren wel goed...