Hallo allemaal,

Ik heb eerder een keer een topic geopend om een specifieke reeks van data uit een database te halen, geen antwoord op gehad, zelf opgelost uiteindelijk (heb je hier vragen over kun je dit bij mij stellen)

Maar ik moet nu dus een winkelwagen maken, die contact maakt met mijn XML database.. Ik heb werkelijk geen idee hoe ik dit ga doen..
Weet iemand of heeft iemand hiervoor een code? ik kan op het internet niets vinden...
Wouter Van Marrum op 21/10/2013 23:01:21

Misschien moet je proberen voor regel 6 in je function.php dit aan te geven :
$cart = "";



Wat veranderd dit dan? ik heb hierna in shoppingcart.php nog twee foutmeldingen:

Notice: Undefined index: id in C:\xampp\htdocs\xampp\website\nieuw\Webshop\shoppingcart.php on line 9

Notice: Undefined variable: cart in C:\xampp\htdocs\xampp\website\nieuw\Webshop\shoppingcart.php on line 68
Aaah oke,
Nee sorry had de errors in me hoofd verwisseld.

Als het goed is staat op regel 6 iets als dit toch ? :

 
// Before using $_POST['value']    
if ($_POST['cart']) {    
...


Als dit zo is probeer dan dit te doen :

if(isset($_POST['cart')) {
...


Sorry voor me eerste reactie ben net uurtje klaar met werk en aardig moe haha.
Ik zal het zo wel lezen.
Wouter Van Marrum op 21/10/2013 23:14:44

Aaah oke,
Nee sorry had de errors in me hoofd verwisseld.

Als het goed is staat op regel 6 iets als dit toch ? :

 
// Before using $_POST['value']    
if ($_POST['cart']) {    
...


Als dit zo is probeer dan dit te doen :

if(isset($_POST['cart')) {
...


Sorry voor me eerste reactie ben net uurtje klaar met werk en aardig moe haha.
Ik zal het zo wel lezen.


De eerste reactie heeft wel die ene fout opgelost, maar ik weet nu niet of hij nog wel een sessie maakt...

ik zit nu alleen nog dat hij
deze:
Notice: Undefined index: id in C:\xampp\htdocs\xampp\website\nieuw\Webshop\shoppingcart.php on line 9

Notice: Undefined variable: cart in C:\xampp\htdocs\xampp\website\nieuw\Webshop\shoppingcart.php on line 68

errors weergeeft, dat is dit stukje code:

<?php
foreach($xml->$_GET['id'] as $price) {
?>
dat stukje code moet 'íd' uit de xml veld halen, en bij mysql word het zo gedaan:
<?php
$price = mysql_query("SELECT * FROM product WHERE id ='$item'");
?>

en dan lijn 68:
waarbij hij 'cart' niet herkent...
<?php
$_SESSION['cart'] = $cart;
?>
Misschien moet je als eerste in je function.php de
$cart = "";
weghalen waarvan ik dacht dat je die erin moest zetten ?

En dan eerst kijken of je wel een id aan het doorgeven bent.
Misschien door iets als :

$check = $xml->_GET['id'];

// dan if isset.
if(isset($check)){

// nu foreach aanroepen.
foreach($check as $price){


En dan kun je een fout afhandeling maken voor als er geen id is gezet.

Ik weet zelf niet hoe SimpleXml werkt met mysql,
Maar zou je niet zoiets als $xml->price kunnen doen ?

En het lijkt erop dat $cart dan leeg is waarschijnlijk en dat zou kunnen kloppen omdat je geen id krijgt.
Maar ik weet het niet zeker gezien dat ik nooit met SimpleXml werk.
Misschien dat iemand anders op het forum hier meer van weet.
Wouter Van Marrum op 22/10/2013 10:07:17

Misschien moet je als eerste in je function.php de
$cart = "";
weghalen waarvan ik dacht dat je die erin moest zetten ?

En dan eerst kijken of je wel een id aan het doorgeven bent.
Misschien door iets als :

$check = $xml->_GET['id'];

// dan if isset.
if(isset($check)){

// nu foreach aanroepen.
foreach($check as $price){


En dan kun je een fout afhandeling maken voor als er geen id is gezet.

Ik weet zelf niet hoe SimpleXml werkt met mysql,
Maar zou je niet zoiets als $xml->price kunnen doen ?

En het lijkt erop dat $cart dan leeg is waarschijnlijk en dat zou kunnen kloppen omdat je geen id krijgt.
Maar ik weet het niet zeker gezien dat ik nooit met SimpleXml werk.
Misschien dat iemand anders op het forum hier meer van weet.


De errors gingen weg toen ik dit deed toevoegen, maar ik hou deze error:

Notice: Undefined variable: cart in C:\xampp\htdocs\xampp\website\nieuw\Webshop\shoppingcart.php on line 75
en wanneer ik dan naar een product ga, en druk op toevoegen aan winkelwagen, doet hij de sessie niet starten en blijft hij zeggen 'u heeft geen producten in uw winkelwagen'.

bij de error hoort dit stukje code:
<?php
$_SESSION['cart'] = $cart;
?>
kijk anders eens of de sessie cart wel bestaat.

print_r($_SESSION['cart']);


[size=xsmall]Toevoeging op 22/10/2013 11:56:57:[/size]

probeer eens dit te doen :

<?php
    if ($cart) {
        $newcart = '';
        foreach ($_POST as $key=>$value) {
            if (stristr($key,'qty')) {
                $id = str_replace('qty','',$key);
                $items = ($newcart != '') ? explode(',',$newcart) : explode(',',$cart);
                $newcart = '';
                foreach ($items as $item) {
                    if ($id != $item) {
                        if ($newcart != '') {
                            $newcart .= ','.$item;
                        } else {
                            $newcart = $item;
                        }
                    }
                }
                for ($i=1;$i<=$value;$i++) {
                    if ($newcart != '') {
                        $newcart .= ','.$id;
                    } else {
                        $newcart = $id;
                    }
                }
            }
        }
    }
}
$ncart = $newcart;

    break;
}
}
$_SESSION['cart'] = $ncart;


Misschien dat dit werkt.
Weet niet zeker maar denk dat $cart leeg is of niet wordt aangegeven.
Wouter Van Marrum op 22/10/2013 11:44:35

kijk anders eens of de sessie cart wel bestaat.

print_r($_SESSION['cart']);


[size=xsmall]Toevoeging op 22/10/2013 11:56:57:[/size]

probeer eens dit te doen :

<?php
    if ($cart) {
        $newcart = '';
        foreach ($_POST as $key=>$value) {
            if (stristr($key,'qty')) {
                $id = str_replace('qty','',$key);
                $items = ($newcart != '') ? explode(',',$newcart) : explode(',',$cart);
                $newcart = '';
                foreach ($items as $item) {
                    if ($id != $item) {
                        if ($newcart != '') {
                            $newcart .= ','.$item;
                        } else {
                            $newcart = $item;
                        }
                    }
                }
                for ($i=1;$i<=$value;$i++) {
                    if ($newcart != '') {
                        $newcart .= ','.$id;
                    } else {
                        $newcart = $id;
                    }
                }
            }
        }
    }
}
$ncart = $newcart;

    break;
}
}
$_SESSION['cart'] = $ncart;


Misschien dat dit werkt.
Weet niet zeker maar denk dat $cart leeg is of niet wordt aangegeven.


Hij weergeeft niet print_r niets,
en nu krijg ik deze error (zelfde) maar dan andere naam...
Notice: Undefined variable: ncart in C:\xampp\htdocs\xampp\website\nieuw\Webshop\shoppingcart.php on line 76

Reageren