Hoi,

Ik ben al een tijd aan het stoeien met mijn winkelwagen van mijn webwinkel. Ik wil namelijk op de homepage laten zien of hij vol is etc. Ik heb 2 winkels wagens, om een lang verhaal kort te maken: wij verkopen lossen spullen en sets, en ik kreeg die niet samen in een database tabel, daarom zo. Ik weet dat dit moeilijk doen is, maar ik verander dat nu niet meer :)

het stukje code waar het om gaat is:
<?php
if(!empty($_SESSION['winkelwagen']) && empty($_SESSION['spiegelreflex']))
{
echo 'winkelwagen is vol';
echo 'kijk <a href="winkelwagen.php">hier</a>';
}

if(!empty($_SESSION['spiegelreflex']) && empty($_SESSION['spiegelreflex']))
{
echo 'winkelwagen is vol';
echo 'kijk <a href="winkelwagen1234.php">hier</a>';
}

if(!empty($_SESSION['winkelwagen']) && !empty($_SESSION['spiegelreflex']))
{
echo '2 winkelwagens vol';
}

else
{
echo 'winkelwagen is leeg, ga naar de winkel om te bestellen';
}
?>

Hij laat nu als de eerste winkelwagen vol is zien dat hij vol is, maar hij zegt nu ook meteen daarna dat hij leeg is, en andersom. Ik heb veel geprobeerd, andere formulaties, andere statements, maar de juiste oplossing kreeg ik niet. Ik hoop dat jullie kunnen helpen?

Alvast bedankt.
Logisch toch. Jij zet 3 if's onder elkaar. Als die alle 3 juist zijn, krijg je winkelwagen is vol winkelwagen is vol 2 winkelwagens vol.
Je moet dit oplossen met ifelse.


<?php
if(!empty($_SESSION['winkelwagen']) && empty($_SESSION['spiegelreflex']))
{
    echo 'winkelwagen is vol';
    echo 'kijk <a href="winkelwagen.php">hier</a>';
}

elseif(!empty($_SESSION['spiegelreflex']) && empty($_SESSION['spiegelreflex']))
{
    echo 'winkelwagen is vol';
    echo 'kijk <a href="winkelwagen1234.php">hier</a>';
}    

elseif(!empty($_SESSION['winkelwagen']) && !empty($_SESSION['spiegelreflex']))
{
    echo '2 winkelwagens vol';
}

else
{
    echo 'winkelwagen is leeg, ga naar de winkel om te bestellen';
}
?> 
Werkt nog niet, want dan als winkelwagen 2 vol is en 1 leeg, zegt hij nog dat hij leeg is..
Wat sla je op in $_SESSION['spiegelreflex'] en wat in $_SESSION['winkelwagen']
Hoezo kan een winkel wagen 'vol' zitten.
Jaron schreef op 07.10.2009 15:01
Hoezo kan een winkel wagen 'vol' zitten.

Waarschijnlijk heb je dan alles uit de winkel in je wagentje zitten. ;-)
Misschien kun je dan in je script inbouwen dat je nog een extra karretje kunt pakken voor een euro ;-)
Sorry, maar die 2 laatste reacties zijn GEWELDIG ! kom niet meer bij van het lachen.
Ja heel leuk, maar ze helpen me geen ene moer verder.

Ik wil natuurlijk eerst weten of ze het doen, voordat ik alles netjes ga uittypen. Als je iets in je winkelwagen hebt liggen is hij niet leeg, maar vol. Dat is de gedachte erachter.

in sessie winkelwagen, staan losse producten, in sessie spiegelreflex wordt een zelf samengestelde set opgeslagen, deze sessie heet later ook set, maar voor het testen gebruik ik spiegelreflex.
In je eerste post heb je twee keer spiegelreflex in de if op regel 8 en dat is niet goed.
Dan moet dit toch werken?
Die 2e ifelse klopte inderdaad niet. Je controleert op je spiegelreflex leeg is EN niet leeg is. Dus die heb ik er maar uitgelaten. Probeer onderstaande eens.

<?php
if(!empty($_SESSION['winkelwagen'])
|| !empty($_SESSION['spiegelreflex']))
{
echo '1 van de 2 winkelwagens zijn vol';
echo 'kijk <a href="winkelwagen.php">hier</a>';
}
elseif(!empty($_SESSION['winkelwagen'])
&& !empty($_SESSION['spiegelreflex']))
{
echo 'Beide winkelwagens vol';
}

else
{
echo 'winkelwagen is leeg, ga naar de winkel om te bestellen';
}
?>

Reageren