PHP beginner |
|
Ik heb een winkelwagentjessysteem.
De gegevens van de producten heb ik in een database staan. Elk product heeft een eigen id en aan dat id hangen de gegevens van dat product.
Nu heb ik het volgende probleem.
Wanneer je een cd of meerdere hebt besteld dan kan je ze niet altijd verwijderen. Meestal gaat het goed maar somsgaat het verkeerd.
Bijv. Je hebt van een prod. er 5 besteld. Nu wil je er 1 verwijderen en dan verwijderd hij ze in 1 keer allemaal:S, of je wilt een cd uit je winkelwagentje verwijderen en dan kan je op de delete knop drukken tot dat je een ons weegt maar het product wordt niet verwijderd.
Dit is del.php
<?
require 'functions.php';
$id=$_POST['id'];
db_open();
if (preg_match("/[0-9]+/",$id)) {
if (mysql_num_rows(mysql_query("select id from products where id=$id"))) {
if (preg_match("/\[[$id],([0-9]+)\]/", $_SESSION['cart'], $matches)) {
$tmp=$matches[1];
if ($tmp==1) {
$_SESSION['cart']=str_replace("[$id,$tmp]","",$_SESSION['cart']);
} else {
$_SESSION['cart']=str_replace("[$id,$tmp]","[$id,".($tmp-1)."]",$_SESSION['cart']);
}
} else {
$_SESSION['cart'].="[$id,$q]";
}
}
}
db_close();
header('location:index.php');
?>
<? require 'functions.php'; $id=$_POST['id']; db_open(); if (preg_match("/\[[$id],([0-9]+)\]/", $_SESSION['cart'], $matches)) { $tmp=$matches[1]; if ($tmp==1) { $_SESSION['cart']=str_replace("[$id,$tmp]","",$_SESSION['cart']); } else { $_SESSION['cart']=str_replace("[$id,$tmp]","[$id,".($tmp-1)."]",$_SESSION['cart']); } } else { $_SESSION['cart'].="[$id,$q]"; } } } db_close(); ?>
Wat is hier fout aan?
Hier de proef van het winkelwagentjessysteem:
www.leentjesweb.nl/?page=web_winkel
|