Van het ene probleem in het andere
[script]
Code (php)
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
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
<?php
error_reporting(E_ALL);
include ('dblog.php');
// update_cart.php
ob_flush();
// Eenzijdig, maar kijken of die bestaat
if (empty($_SESSION['cart'])) {
// Nee dus, terugsturen!
header("Location: cart.php");
} else {
// Exploden
$cart = explode("|",$_SESSION['cart']);
// Tellen
$count = count($cart);
// Alle producten langslopen
foreach($cart as $products) {
// Split
/*
$product[x] -->
x == 0 -> product id
x == 1 -> hoeveelheid
*/
$product = explode(",",$products);
$i++;
$postedProduct = "productnummer_".$i; // Deze twee om later de geposte waarde te 'spoofen'
$postedQuantity = "hoeveelheid_".$i;
if ($product[0] == $_POST[$postedProduct] && $_POST[$postedQuantity] > 0) // hier dus
{
// Update pro
$inNewCart = $product[0].",".$_POST[$postedQuantity];
$newCart = $newCart."|".$inNewCart;
}
}
// En weer die luiheid, dus die eerste | eraf...
$newCart = substr($newCart,1);
// Oude winkelwagen weg, nieuwe terug
session_unset($_SESSION['cart']);
$_SESSION['cart'] = $newCart;
// En weer terugsturen
header("Location: cart.php");
}
?>
error_reporting(E_ALL);
include ('dblog.php');
// update_cart.php
ob_flush();
// Eenzijdig, maar kijken of die bestaat
if (empty($_SESSION['cart'])) {
// Nee dus, terugsturen!
header("Location: cart.php");
} else {
// Exploden
$cart = explode("|",$_SESSION['cart']);
// Tellen
$count = count($cart);
// Alle producten langslopen
foreach($cart as $products) {
// Split
/*
$product[x] -->
x == 0 -> product id
x == 1 -> hoeveelheid
*/
$product = explode(",",$products);
$i++;
$postedProduct = "productnummer_".$i; // Deze twee om later de geposte waarde te 'spoofen'
$postedQuantity = "hoeveelheid_".$i;
if ($product[0] == $_POST[$postedProduct] && $_POST[$postedQuantity] > 0) // hier dus
{
// Update pro
$inNewCart = $product[0].",".$_POST[$postedQuantity];
$newCart = $newCart."|".$inNewCart;
}
}
// En weer die luiheid, dus die eerste | eraf...
$newCart = substr($newCart,1);
// Oude winkelwagen weg, nieuwe terug
session_unset($_SESSION['cart']);
$_SESSION['cart'] = $newCart;
// En weer terugsturen
header("Location: cart.php");
}
?>
ik heb hem staan op: www.stefantry.nl/shop/latenzien.php en dan het updaten(moet er eerst iets in het wagentje)
Waarom roep je op regel 8 ob_flush() aan? Output buffering heb je voor dit doel niet nodig en bovendien mis ik dan nog ergens de functie ob_start()...
Warning: Cannot modify header information - headers already sent by (output started at /public/sites/www.stefantry.nl/shop/update_cart.php:1) in /public/sites/www.stefantry.nl/shop/update_cart.php on line 13
update_cart.php staat niet toevallig tussen de body tags of wel? Je hebt namelijk output naar de browser, header en session_start bijvoorbeeld vinden dat niet echt leuk.
ik snap niet helemaal wat je bedoelt mark maar ik denk dat als je het iets anders brengt je nog gelijk hebt ook.
wordt er html of iets boven update_cart.php weergegeven.
nee update_cart.php is alleen een phpcode (deze hoeft zowiezo geen opmaak te krijgen want hij word toch doorgelinkt)
Heb je toevallig een spatie voor <?php staan? Dit kan ook al roet in het eten gooien.
Notice: Undefined variable: i in /public/sites/www.stefantry.nl/shop/update_cart.php on line 30
Notice: Undefined variable: newCart in /public/sites/www.stefantry.nl/shop/update_cart.php on line 39
Warning: Cannot modify header information - headers already sent by (output started at /public/sites/www.stefantry.nl/shop/update_cart.php:30) in /public/sites/www.stefantry.nl/shop/update_cart.php on line 51
Code (php)
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
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
<?php
error_reporting(E_ALL);
include ('dblog.php');
session_start();
// update_cart.php
// Eenzijdig, maar kijken of die bestaat
if (empty($_SESSION['cart'])) {
// Nee dus, terugsturen!
header("Location: cart.php");
} else {
// Exploden
$cart = explode("|",$_SESSION['cart']);
// Tellen
$count = count($cart);
// Alle producten langslopen
foreach($cart as $products) {
// Split
/*
$product[x] -->
x == 0 -> product id
x == 1 -> hoeveelheid
*/
$product = explode(",",$products);
$i++;
$postedProduct = "productnummer_".$i; // Deze twee om later de geposte waarde te 'spoofen'
$postedQuantity = "hoeveelheid_".$i;
if ($product[0] == $_POST[$postedProduct] && $_POST[$postedQuantity] > 0) // hier dus
{
// Update pro
$inNewCart = $product[0].",".$_POST[$postedQuantity];
$newCart = $newCart."|".$inNewCart;
}
}
// En weer die luiheid, dus die eerste | eraf...
$newCart = substr($newCart,1);
// Oude winkelwagen weg, nieuwe terug
session_unset($_SESSION['cart']);
$_SESSION['cart'] = $newCart;
// En weer terugsturen
header("Location: cart.php");
}
?>
error_reporting(E_ALL);
include ('dblog.php');
session_start();
// update_cart.php
// Eenzijdig, maar kijken of die bestaat
if (empty($_SESSION['cart'])) {
// Nee dus, terugsturen!
header("Location: cart.php");
} else {
// Exploden
$cart = explode("|",$_SESSION['cart']);
// Tellen
$count = count($cart);
// Alle producten langslopen
foreach($cart as $products) {
// Split
/*
$product[x] -->
x == 0 -> product id
x == 1 -> hoeveelheid
*/
$product = explode(",",$products);
$i++;
$postedProduct = "productnummer_".$i; // Deze twee om later de geposte waarde te 'spoofen'
$postedQuantity = "hoeveelheid_".$i;
if ($product[0] == $_POST[$postedProduct] && $_POST[$postedQuantity] > 0) // hier dus
{
// Update pro
$inNewCart = $product[0].",".$_POST[$postedQuantity];
$newCart = $newCart."|".$inNewCart;
}
}
// En weer die luiheid, dus die eerste | eraf...
$newCart = substr($newCart,1);
// Oude winkelwagen weg, nieuwe terug
session_unset($_SESSION['cart']);
$_SESSION['cart'] = $newCart;
// En weer terugsturen
header("Location: cart.php");
}
?>
Notice: Undefined variable: i in /public/sites/www.stefantry.nl/shop/update_cart.php on line 30
Zet boven je foreach eens $i = 0; $i komt nu opeens uit de lucht vallen.
Notice: Undefined variable: newCart in /public/sites/www.stefantry.nl/shop/update_cart.php on line 39
zelfde verhaal als voorheen.
$newCart = '';
Je plukt zo te zien onbekende $vars uit de lucht. Dat gaat niet. Je moet ze altijd eerst bekendmaken.
bedankt alles is nu opgelost
:p nu een vraag van mijn kant. Waarom werk je met implode en explode? Je kunt die gegevens gewoon opslaan in je cart zonder ze samen te voegen.