fjern produkter fra indkøbs kurv - array_diff() til at fjerne fra session array?
Hej, jeg er i gang med at programmere en webshop hvor jeg har lavet det sådan at man kan tilføje produkter i en kurv, nu vil jeg gerne have at man skal kunne fjerne produkterne igen både alle og det enkelte produkt der er valgtdet ligger på http://billy.wi12.ots.dk/simpleshop/ og er en skole opgave jeg er i gang med
problemet er at når jeg fjerner alt i kurven så gør den det sådan set, men den kommer med fejlbeskeden:
Warning: Wrong parameter count for array_diff() in /home/billy.wi12.ots.dk/public_html/simpleshop/tilfojtilkurv.php on line 12
når jeg klikker for at fjerne kun et produkt i kurven kommer der fejlbeskeden:
Warning: array_diff() [function.array-diff]: Argument #2 is not an array in /home/billy.wi12.ots.dk/public_html/simpleshop/tilfojtilkurv.php on line 7
Koder
min kurv som er i en funktion
<?php
function kurv(){
if($_SESSION['kurv'] != ""){
$produktantal = count($_SESSION['kurv']);
foreach ($_SESSION['kurv'] as $produkt => $produktantal){
$query = '
SELECT
id, navn, beskrivelse_kort, beskrivelse, pris
FROM
simpleshop_produkter
WHERE
id = ' . $produkt;
$result = mysql_query( $query ) or die( mysql_error() );
$row = mysql_fetch_assoc($result);
echo "<p><a href='produkt_detalje.php?produkt=".$produkt."'><strong>".$row['navn']."</strong></a>";
echo " - antal: <strong>" . $produktantal . "</strong>";
echo " - <a href='tilfojtilkurv.php?fjernprodukt=".$produkt."'>fjern</a><br />";
echo "</p>";
}
}else{
echo "<p>Din kurv er tom</p>";
}
}
?>
tilfojtilkurv.php
hvor produkter bliver tilføjet og fjernet igen, både enkelt og alle
<? require_once('include/header.php') ?>
<div id="krummer">Du er her: <a href="index.php">Forside</a> · <em>Din kurv</em></div>
<?php
if(isset($_GET['fjernprodukt'])){
$_SESSION['kurv']=array_diff($_SESSION['kurv'],$_GET['fjernprodukt']);
echo "<h3>Produkt fjernet</h3>";
}
if(isset($_GET['tomkurven'])){
$_SESSION['kurv']=array_diff($_SESSION['kurv']);
echo "<h3>Kurven er blevet tømt</h3>";
}
// produktet skal i en session array
// $_SESSION['produkt']['pris']['varenr']
if($_GET['produkt'] != ""){
$produkt = $_GET['produkt'];
$_SESSION['kurv'][$produkt]++;
header('location:'.$_SERVER["PHP_SELF"]);
}
require_once('include/funktion/kurv.php');
echo "<h4>Kurv</h4>";
kurv();
?>
<? require_once('include/footer.php') ?>
nogen der kan hjælpe mig med at fjerne fejlbeskeden, og kunne fjerne et enkelt produkt der er puttet i kurven adgangen
vh. Billy
