[php]webwinkel icm sessions

Pagina: 1
Acties:
  • 46 views sinds 30-01-2008

  • Longlegg
  • Registratie: Januari 2002
  • Laatst online: 13-04-2022

Longlegg

Danoontje POWERRRRR

Topicstarter
Het volgende probleem, ik wil een simpele webwinkel maken, nu wil ik voor het winkel mandje een session gebruiken, nu gebruik het volgende script om een product in het mandje te leggen:

dit roep ik aan met een simpel : toevoegen.php?id=3&aantal=1 (als voorbeeld)..


PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php session_start();  ?><?
function product_toevoegen ($id,$aantal) 
    { 

    if ($aantal != 0) 
        { 
        if (!isset($_SESSION['mandje'])) 
            { 
  $_SESSION['mandje'] = 0; 
            } 
       $_SESSION['mandje'] += $aantal; 
        echo "Uw product is toegevoegd aan het mandje"; 
        include("kassa.php");

        } 
    else 
        { 
        echo "U heeft geen waarde opgegeven."; 
        } 
    } 
// product wordt toegevoegd 
product_toevoegen($_GET["id"],$_GET["aantal"]);
?> 


en dan had ik zoiets als kassa in gedachte:

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
 <? 

      $totaal = 0.0; 

      $artikelen = ($_SESSION['mandje']); 

 for ($i = 0; $i < count($artikelen); $i++) { 




         $artikel = $artikelen[$i]; 
           

            // Database-connectie maken 

            $db = mysql_connect("", "", ""); 

            mysql_select_db("winkel", $db); 


            // Haal nu de prijs & naam van het product uit de tabel 

            $sql = "SELECT naam, prijs FROM producten WHERE id='$id'"; 

            $result = mysql_query($sql); 

            $naam = mysql_result($result, 0, "naam"); 

            $prijs = mysql_result($result, 0, "prijs") * $aantal; 

             

            // Verhoog de totaalprijs 

            $totaal += $prijs; 

             

            // Schrijf de tabel-rij 

            $prijs = number_format($prijs, 2, ",", "."); 

            echo "<tr>\n"; 

            echo "<td>$naam</td>\n"; 

            echo "<td>$aantal</td>\n"; 

            echo "<td>$prijs</td>\n"; 

            echo "</tr>\n"; 

         } 



      echo "<tr><td colspan=\"2\">Totaal:</td><td><b>fl. ", 

         number_format($totaal, 2, ",", "."), 

         "</b></td></tr>"; 

   ?> 


goed zoals iedereen al kan raden werkt het dus niet ! dr wordt wel iets in de session op geslagen, want als ik die echo telt ie elke keer 1tje verder als ik meerdere keren op toevoegen heb geklikt (1,2,3,4,.... ).. maar de kassa geeft al gelijk de melding: "Er is een fout opgetreden tijdens het inlezen van het winkelmandje!".. Verder geen errors ofzo, zou iemand de code even willen doorspitten :) ! ik begin een beetje scheel te zien :P en ja ik ben een noob 8)

ik heb de mysql connectie gegevens uiteraard wel correct ingevuld..

[ Voor 20% gewijzigd door Longlegg op 16-05-2004 22:13 . Reden: verbeterde code.. ]

Specs


  • Tranq
  • Registratie: Oktober 1999
  • Laatst online: 16-10-2024
session_start() aanroepen?

  • bartware
  • Registratie: Juni 2001
  • Laatst online: 25-03-2023

bartware

@jabber.org

Volgens mij klopt je denkwijze over je array niet.

Wat vul je hier in voor $id?
PHP:
1
    $artikelen = ($_SESSION['mandje'][$id]);

Als je alle artikelen in het mandje wilt, moet je [$id] weglaten.
Dan is $artikelen een array met je artikelid's en aantallen.

Daar doorheen loopen. Heb je helemaal geen regexp voor nodig!
PHP:
1
2
3
foreach ($artikelen as $key => $value)
{
 }

Heb ik me begrepen?
Cycle Vision 2020: 17-20 juli Sportpark Sloten & Wheelerplanet Spaarnwoude


  • Longlegg
  • Registratie: Januari 2002
  • Laatst online: 13-04-2022

Longlegg

Danoontje POWERRRRR

Topicstarter
ok we komen weer verder, maar nu het volgende probleem.. ik kan maar 1 product in mn mandje doen, ik heb de regs weggooid en de [$id] achter mn ($_SESSION['mandje']) ook verwijderd.

anders gezegd

ik wil 3x artikel 1, dat wordt vervolgens in mn mandje gedaan en dat gaat goed, maar nu blader ik terug en wil ik 2x artikel 2. Dat plaatst ie vervolgens ook netjes in mn mandje, maar 3x artikel 1 is spoorloos :'( ..

[ Voor 51% gewijzigd door Longlegg op 16-05-2004 21:53 ]

Specs


  • bartware
  • Registratie: Juni 2001
  • Laatst online: 25-03-2023

bartware

@jabber.org

Bij het toevoegen moet [$id] natuurlijk WEL achter je session!

Heb ik me begrepen?
Cycle Vision 2020: 17-20 juli Sportpark Sloten & Wheelerplanet Spaarnwoude


Verwijderd

1 artikel in je mandje? neem aan dat je $artikelen een 2d array is?

code:
1
2
3
4
for each $id in $artikelen {
echo $artikelen[$id]['aantal'];

}

  • Longlegg
  • Registratie: Januari 2002
  • Laatst online: 13-04-2022

Longlegg

Danoontje POWERRRRR

Topicstarter
bartware schreef op 16 mei 2004 @ 21:54:
Bij het toevoegen moet [$id] natuurlijk WEL achter je session!
ik had ze laten staan, maar als ik ze bij toevoegen erbij zet krijg ik :
Cannot use a scalar value as an array

Specs


  • Longlegg
  • Registratie: Januari 2002
  • Laatst online: 13-04-2022

Longlegg

Danoontje POWERRRRR

Topicstarter
heb even de code gezet zoals ik hem nu heb.. hopelijk kan iemand de laatste fout eruit halen, want ik ben ff totaal de weg kwijt.. 8)7

Specs


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 11:53

gorgi_19

Kruimeltjes zijn weer op :9

Longlegg schreef op 16 mei 2004 @ 21:08:
Verder geen errors ofzo, zou iemand de code even willen doorspitten :) ! ik begin een beetje scheel te zien :P en ja ik ben een noob 8)
Longlegg schreef op 16 mei 2004 @ 22:14:
heb even de code gezet zoals ik hem nu heb.. hopelijk kan iemand de laatste fout eruit halen, want ik ben ff totaal de weg kwijt.. 8)7
Even twee quotes van je gepakt. Dit is een verkeerde insteek van Programming & Webscripting . Dit forum gaat over programmeerproblemen en mensen in staat stellen om zelf hun problemen op te lossen. Wat jij nu vraagt is of anderen jouw probleem willen oplossen. :) Dit kan, maar normaliter zullen anderen hier een redelijke factuur tegenover stellen.

Over je probleem. In het vorige topic heb ik al wat gezegd over debuggen. Welke variabelen heb je op welke momenten wel en welke niet. Foutmeldingen die je oplevert kan je meestal met behulp van Google een goed antwoord op vinden, met meerdere oplossingsmogelijkheden.

Om tot foutmeldingen te komen zul je moeten debuggen. In de PW-FAQ staat het een en ander:
http://gathering.tweakers...list_messages/741007#faq2
http://gathering.tweakers...ist_messages/740998#debug

In het andere topic had ik al aangegeven dat debuginformatie vereist is. Deze geef je niet in je topic. Debuggen is iets wat je zelf moet doen; dat kunnen wij niet voor je doen. :)

Kortom: dit topic gaat dicht. Debuggen kan je zelf en wij gaan hier niet jouw code doorspitten op fouten. :)

[ Voor 102% gewijzigd door gorgi_19 op 16-05-2004 22:24 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo

Pagina: 1

Dit topic is gesloten.