Toon posts:

[PHP] e-commerce probleem [COOKIES]

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik ben een webwinkel aan het bouwen met php, en mysql.
Alles werkte goed dacht ik.
Alleen producten met bv. id 1 en id 21 ziet hij als het zelfde product.

stukje uit products.php:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<table width=100% border=0 cellspacing=0 cellpadding=0>
  <form action=bestel.php method=post>
    <input type=hidden name=action value=bestel>
    <input type=hidden name=id value=$list->id>
    <tr> 
    <td width=15% rowspan=2>[img]images/vg-not-available.gif[/img]</td>
    <td width=35% valign=top><font face='Verdana, Helvetica' size=2><b>$list->title</b><br>Regio: $list->region</font></td>
    <td width=20% align=center rowspan=2><font face='Verdana, Helvetica' size=2>Prijs: $list->price EUR</font></td>
    <td width=30% align=right><font face='Verdana, Helvetica' size=2>Aantal:</font> <input type=text name=aantal value=1 size=2></td>
    </tr>
    <tr>
    <td valign=bottom width=35%><font face='Verdana, Helvetica' size=2><a href=products.php?details=$list->id>Klik hier voor meer informatie.</a></font></td>
    <td valign=bottom align=right width=30%><input type=image src=images/toevoegen.gif border=0></td>
    </tr>
  </form>
</table>

bestel.php: (script waar ie het aantal en het product id in een cookie zet)
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?
    function AddProduct($id, $aantal) {
      global $mandje;
      if ($mandje) {
        if (ereg("$id\(([0-9]+)\)", $mandje, $regs)) {
            $aantal = $aantal + $regs[1];
            $mandje = ereg_replace("^(.*)($id)\([0-9]+\)(.*)$","\\1\\2($aantal)\\3",$mandje);
        } else {
            $mandje .= "-$id($aantal)";
        }
      } else {
        $mandje = "$id($aantal)";
      }
      setcookie("mandje", $mandje, time() + 31449600, "/");
    }
    AddProduct($id, $aantal);
    header("Location: basket.php");
?>

Hij checked dus of het id al in het cookie zit, als dat het geval is update ie het aantal.
Alleen hij ziet id's als 1, 11, 21, etc.. dubbel :(

  • D2k
  • Registratie: Januari 2001
  • Laatst online: 31-08 10:19

D2k

snelle conclusie:
dan zijn je regexen niet goed?

Doet iets met Cloud (MS/IBM)


Verwijderd

Topicstarter
Op woensdag 22 mei 2002 19:38 schreef D2k het volgende:
snelle conclusie:
dan zijn je regexen niet goed?
Tja, zover was ik ook wel. Alleen ik weet niet hoe ik het moet oplossen.

  • Limhes
  • Registratie: Oktober 2001
  • Laatst online: 19-08 19:06
misschien iets met greedyness (spelling?) te maken?

Verwijderd

Topicstarter
naja..
laat maar jongens, ik vraag het wel op een ander forum.

  • razor-x
  • Registratie: Februari 2001
  • Laatst online: 05-06 07:37
Op woensdag 22 mei 2002 22:39 schreef 4dd1cT het volgende:
naja..
laat maar jongens, ik vraag het wel op een ander forum.
:?

  • Orphix
  • Registratie: Februari 2000
  • Niet online
Op woensdag 22 mei 2002 22:39 schreef 4dd1cT het volgende:
naja..
laat maar jongens, ik vraag het wel op een ander forum.
:D
Pagina: 1