winkelwagen-update-van-de-tutorial

Gesponsorde koppelingen

PHP script bestanden

  1. winkelwagen-update-van-de-tutorial

« Lees de omschrijving en reacties

// Install.php

Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<?php
include('Config.php');

if($_SERVER['REQUEST_METHOD'] == 'POST')
{

    $produ = mysql_query("CREATE TABLE `producten` (
                        `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
                        `voorraad` INT NOT NULL ,
                        `titel` VARCHAR( 50 ) NOT NULL ,
                        `afbeelding` VARCHAR( 25 ) NOT NULL ,
                        `omschrijving` TEXT NOT NULL,
                        `prijs` VARCHAR( 15 ) NOT NULL
                        ) ENGINE = MYISAM ;"
);

    $bestl = mysql_query("CREATE TABLE `bestelling` (
                        `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
                        `klant_id` INT NOT NULL ,
                        `datum` DATETIME NOT NULL
                        ) ENGINE = MYISAM ;"
);

    $bestr = mysql_query("CREATE TABLE `bestelregel` (
                        `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
                        `bestel_id` INT NOT NULL ,
                        `product_id` INT NOT NULL ,
                        `aantal` INT NOT NULL
                        ) ENGINE = MYISAM ;"
);
                        
    if(!$produ && !$bestl && !$bestr)
    {

        echo 'Fout bij installeren query´s: <br />';
        echo mysql_error();
        
        exit();
    }

    else
    {
        echo 'Alles succesvol geïnstalleerd';
    }
}

else
{
    echo '<form action="" method="post">';
        echo '<input type="submit" value="Installer de DataBase" />';
    echo '</form>';
}

?>


// index.php
Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<?php
// Database connectie maken
include('Config.php');

// Style pagina invoegen
echo '<link rel="stylesheet" type="text/css" href="CSS/Winkelwagen.css" />';

// Alle items uit de db halen
$sql = mysql_query("SELECT * FROM producten ORDER BY titel ASC");

// Als query is gelukt
if($sql)
{

    // Als er items zijn
    if(mysql_num_rows($sql) > 0)
    {

        echo '<div class="wrapper">';
            // Alles loopen
            while($rec = mysql_fetch_assoc($sql))
            {

                echo '<div class="artikel_e">';
                    // Product id
                    echo '<input type="hidden" name="product_id" value="'.$rec['id'].'" />';
                    
                    // De titel
                    echo '<b>'.$rec['titel'].'</b><br />';
                    
                    // De afbeelding
                    echo '<img alt="" src="CSS/IMAGES/PRODUCTEN/'.$rec['afbeelding'].'" /><br />';
                    
                    // Prijs
                    echo 'Prijs: &euro;'.$rec['prijs'].'<br />';
                    
                    echo '<a href="Product.php?Pid='.$rec['id'].'">Meer details</a>';
                echo '</div>';
            }

        echo '</div>';
    }

    // Anders
    else
    {
        // Geen producten
        echo 'Er zijn nog geen producten in de etalage.';
    }
}

// Anders
else
{
    // Mysql error opvangen
    echo 'Er is een fout opgetreden bij de query. <br />';
    echo mysql_error();
}

?>


// Config.php
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
// Mysql host
$host = '';
// Mysql gebruikersnaam
$user = '';
// Mysql wachtwoord
$pass = '';
// Mysql database naam
$datb = '';

mysql_connect($host, $user, $pass) or die (mysql_error());
mysql_select_db($datb);
?>



// Product.php
Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
65
<?php
// Database connectie maken
include('Config.php');

// Style pagina invoegen
echo '<link rel="stylesheet" type="text/css" href="CSS/Winkelwagen.css" />';

// Alle items uit de db halen
$sql = mysql_query("SELECT * FROM producten WHERE id = '".intval($_GET['Pid'])."'");

// Als query is gelukt
if($sql)
{

    // Als er items zijn
    if(mysql_num_rows($sql) > 0)
    {

        echo '<div class="wrapper">';
            // Alles loopen
            $rec = mysql_fetch_assoc($sql);
            
            echo '<div class="artikel_p">';
                echo '<form action="Add.php" method="post">';
                    // Product id
                    echo '<input type="hidden" name="product_id" value="'.$rec['id'].'" />';
                    
                    // De afbeelding
                    echo '<img alt="" src="CSS/IMAGES/PRODUCTEN/'.$rec['afbeelding'].'" />';
                    
                    // Informatie rechterzijde
                    echo '<div class="info">';
                        // De titel
                        echo '<b>'.$rec['titel'].'</b><br />';
                        
                        // Prijs
                        echo '<b>Prijs:</b> &euro;'.$rec['prijs'].'<br />';
                        
                        // Aantal
                        echo '<b>Aantal:</b> <input class="aantal_p" type="text" name="aantal" size="2" maxlength="2" value="1" /><br />';
                        
                        // Omschrijving
                        echo '<b>Omschrijving:</b><br />';
                        echo nl2br($rec['omschrijving']);
                    echo '</div>';
                    
                    // Add knop
                    echo '<input class="submit_p" type="submit" value="Toevoegen" />';
                echo '</form>';
            echo '</div>';
        echo '</div>';
    }

    // Anders
    else
    {
        // Geen producten
        echo '<p class="error">Er zijn nog geen producten in de etalage.</p>';
    }
}

// Anders
else
{
    // Mysql error opvangen
    echo 'Er is een fout opgetreden bij de query. <br />';
    echo mysql_error();
}

?>



// Add.php
Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
<?php
// Sessie starten
session_start();

// Kijken of product_id geset is en een nummer is
if(!isset($_POST['product_id']) || !is_numeric($_POST['product_id']))
{

    exit('Er is geen product id meegezonden');
}

else
{
    $product_id = $_POST['product_id'];
}

// Kijken of aantal geset is en een nummer is
if(!isset($_POST['aantal']) || !is_numeric($_POST['aantal']))
{

    exit('Er is geen product id meegezonden');
}

else
{
    $aantal = $_POST['aantal'];
}




// Als er niks in de winkelwagen staat
if(empty($_SESSION['winkelwagen']))
{

    // Nieuwe aanmaken
    $_SESSION['winkelwagen'] = $product_id.','.$aantal;
}

// Anders
else
{
    // Winkelwagen opsplitsen op de pipe
    $cart = explode('|', $_SESSION['winkelwagen']);

    // Winkelwagen inhoud tellen
    $count = count($cart);

    // Var om te check voor het toevoegen
    $add = TRUE;
    foreach($cart as $products)
    {

        // Exploden
        /*
            $product[x] -->
            x == 0 -> productnummer
            x == 1 -> hoeveelheid
        */

        
        $product = explode(',', $products);
        // Als product al in de winkelwagen is
        if($product[0] == $product_id)
        {

            $product[1] = $product[1] + $aantal;
            $add = FALSE;  // Dus niet toevoegen
        }
    
        // En weer in de sessie zetten
        $i++;
        if($i == 1)
        {

            // In de sessie gooien
            $_SESSION['winkelwagen'] = $product[0].','.$product[1];
        }

        // Anders
        else
        {
            // Bij de oude sessie plaatsen
            $_SESSION['winkelwagen'] = $_SESSION['winkelwagen'].'|'.$product[0].','.$product[1];
        }
    }


    // Als er toegevoegd meot worden
    if($add)
    {

        $_SESSION['winkelwagen'] = $_SESSION['winkelwagen'].'|'.$product_id.','.$aantal;
    }
}


// Doorsturen
header('Location: Winkelwagen.php');
?>



// Winkelwagen.php
Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
<?php
// Sessie starten
session_start();

// Database connectie maken
include('Config.php');

// Style pagina invoegen
echo '<link rel="stylesheet" type="text/css" href="CSS/Winkelwagen.css" />';

// Javascript voor updaten en deleten winkelwagen invoegen
echo '<script type="text/javascript" src="Winkelwagen.js"></script>';

// Kijk of er iets in de winkelwagen zit
if(empty($_SESSION['winkelwagen']))
{

    echo '<p class="error">Uw winkelwagen is momenteel leeg.</p>';
}

// Anders
else
{
    echo '<div class="wrapper">';
        echo '<div class="row">';
            echo '<p class="small"><b>Aantal:</b></p>';
            echo '<p class="small"><b>Art. nr.:</b></p>';
            echo '<p class="big"><b>Product:</b></p>';
            echo '<p class="small"><b>Actie:</b></p>';
            echo '<p class="small"><b>Prijs:</b></p>';
        echo '</div>';
    
        // Exploden
        $cart = explode('|', $_SESSION['winkelwagen']);

        // Begin formulier
        echo '<form action="Upd_winkelwagen.php" method="post">';
            // Show winkelwagen
            $i = 0;
            foreach($cart as $products)
            {

                // Split
                /*
                $product[x] -->
                    x == 0 -> product id
                    x == 1 -> hoeveelheid
                */

                $product = explode(',', $products);
        
                // Get product info
                $sql = mysql_query("SELECT * FROM producten WHERE id = '".intval($product[0])."'");
              
                // Als query gelukt is
                if($sql)
                {

                    // Als er items zijn
                    if(mysql_num_rows($sql) > 0)
                    {

                        // Alle items echoën
                        $rec = mysql_fetch_assoc($sql);
                        $i++;
        
                        // Verborgen vars
                        echo '<input type="hidden" name="productnummer_'.$i.'" value="'.$product[0].'" />';
                        
                        echo '<div class="row">';
                            // Aantal
                            echo '<p class="small">';
                                echo '<input type="text" class="aantal_w" name="hoeveelheid_'.$i.'" value="'.$product[1].'" size="2" maxlength="2" onKeyPress="return submitenter(this,event)" />';
                            echo '</p>';
                            
                            // Artikel nummer
                            echo '<p class="small">';
                                if($rec['voorraad'] < $product[1])
                                {

                                    echo '<font style="color: #FF0000;">'.$product[0].'</font>';
                                    $error = TRUE;
                                }

                                else
                                {
                                    echo $product[0];
                                }

                            echo '</p>';
                            
                            // titel
                            echo '<p class="big">';
                                echo $rec['titel'];
                            echo '</p>';
                            
                            // Acties
                            echo '<p class="small">';
                                echo '<a href="javascript:removeItem('.$i.')">Del</a>';
                            echo '</p>';
                            
                            // Prijs
                            echo '<p class="small">';
                                echo '&euro; '.($rec['prijs'] * $product[1]);
                            echo '</p>';
                        echo '</div>';
                    }

                    // Anders
                    else
                    {
                        // Fout weergeven
                        echo '<p class="error">Dit product is er niet meer.</p>';
                    }
                }

                // Anders
                else
                {
                    // Mysql error opvangen
                    echo 'Er is een fout opgetreden in de query. <br />';
                    echo mysql_error();
                }
            }

        echo '</form>';
        
        if($error == TRUE)
        {

            echo '<p class="error">';
                echo 'Van artikelen waarvan het artikelnummer rood is gekleurd hebben we niet voldoende op voorraad om je bestelling direct uit te kunnen leveren.';
            echo '</p>';
        }

    echo '</div>';
    
    // Winkelwagen leeghalen & Afrekenen
    echo '<a href="javascript:removeCart()">Winkelwagen leeghalen</a><br />';
    echo '<a href="Afrekenen.php">Afrekenen</a></p>';
}

?>



// Afrekenen.php
Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
<?php
// Sessie starten
session_start();

// Database connectie maken
include('Config.php');

$_SESSION['user_id'] = '1';

// Order invoegen
$sql1 = mysql_query("INSERT INTO
                        bestelling
                            (
                            klant_id,
                            datum
                            )
                    VALUES
                        (
                        '"
.intval($_SESSION['user_id'])."',
                        NOW()
                        )
                    "
);

// Als query gelukt is
if($sql1)
{

    // Winkelwagen openen
    $cart = explode('|', $_SESSION['winkelwagen']);
    
    // $bestel id aanmaken
    $bestel_id = mysql_insert_id();
    
    // Voor elk product
    $i = 1;
    foreach($cart as $products)
    {

        // Split
        /*
            $product[x] -->
                x == 0 -> product id
                x == 1 -> hoeveelheid
        */
        // Product eigenschappen splitsen

        $product = explode(',', $products);
        
        // Bestelde producten in db zetten
        $sql2 = mysql_query("INSERT INTO
                                bestelregel
                                    (
                                    bestel_id,
                                    product_id,
                                    aantal
                                    )
                            VALUES
                                (
                                '"
.intval($bestel_id)."',
                                '"
.$product[0]."',
                                '"
.$product[1]."'
                                )
                            "
);
        // Als de query gelukt is
        if($sql2)
        {

            if($i == 1)
            {

                echo 'Uw bestelling is geplaatst.';
            }
        }

        // Anders
        else
        {
            // Mysql error opvangen
            echo 'Er is een fout opgetreden in query nr: 2 <br />';
            echo mysql_error();
        }

    $i++;
    }
}

// Anders
else
{
    // Mysql error opvangen
    echo 'Er is een fout opgetreden in query nr: 1 <br />';
    echo mysql_error();
}

?>



// Del_all.php
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?php
// delete_cart.php
session_start();

// Als er iets in de winkelwagen zit
if(empty($_SESSION['winkelwagen']))
{

    // Terug sturen
    header('Location: Winkelwagen.php');
}

// Anders
else
{
    // Leeg de winkwelwagen
    session_unset($_SESSION['winkelwagen']);

    // Terug sturen
    header('Location: Winkelwagen.php');
}

?>



// Del_item.php
Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<?php
// Sessie starten
session_start();

// Als item nummeriek is
if(is_numeric($_GET['item']))
{

    $item = $_GET['item'];
}

// Anders
else
{
    // Error weergeven
    exit ('U wilt een item verwijderen dat niet bestaad.');
}



// Kijk of er iets in de winkelwagen zit
if(empty($_SESSION['winkelwagen']))
{

    echo 'Uw winkelwagen is momenteel leeg.';
}

// Anders
else
{
    // Winkelwagen uit elkaar plukken
    $cart = explode('|', $_SESSION['winkelwagen']);

    // Kijken of het in de winkelwagen staat
    foreach($cart as $products)
    {

        // Split
        /*
          $product[x] -->
             x == 0 -> productnummer
             x == 1 -> hoeveelheid
        */

        $product = explode(',', $products);
        $i++;
        
        // Als item niet toegevoegd moet worden.
        if($i != $item)
        {

            // Var toevoegen aan nieuwe winkelwagen
            $inNewCart = $product[0].','.$product[1];
            $newCart = $newCart.'|'.$inNewCart;
        }
    }

  
    // Luiheid, blijheid... er staat nog een | vooraan, even weghalen.
    $newCart = substr($newCart, 1);
}


// Verwijder winkelwagen
session_unset($_SESSION['winkelwagen']);

// Maak nieuwe winkelwagen
$_SESSION['winkelwagen'] = $newCart;

// En terugsturen
header('Location: winkelwagen.php');
?>



// Upd_winkelwagen.php
Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<?php
// update_cart.php
session_start();

// Kijk of er iets in de winkelwagen zit
if(empty($_SESSION['winkelwagen']))
{

    echo 'Uw winkelwagen is momenteel leeg.';
}

// Anders
else
{
    // Exploden
    $cart = explode('|', $_SESSION['winkelwagen']);

    // Tellen
    $count = count($cart);

    // Alle producten langslopen
    foreach($cart as $products)
    {

        // Split
        /*
          $product[x] -->
             x == 0 -> product id
             x == 1 -> hoeveelheid
        */

        $product = explode(',', $products);
        $i++;

        $postedProduct = 'productnummer_'.$i;     // Deze twee om later de geposte waarde te 'spoofen'
        $postedQuantity = 'hoeveelheid_'.$i;

        // Post waarden spoofen
        if($product[0] == $_POST[$postedProduct] && $_POST[$postedQuantity] > 0)
        {

            // Update pro
            $inNewCart = $product[0].','.$_POST[$postedQuantity];
            $newCart = $newCart.'|'.$inNewCart;
        }
    }

  
  // En weer die luiheid, dus die eerste | eraf...
  $newCart = substr($newCart, 1);

  // Oude winkelwagen weg, nieuwe terug
  session_unset($_SESSION['winkelwagen']);
  $_SESSION['winkelwagen'] = $newCart;

  // En weer terugsturen
  header('Location: Winkelwagen.php');
}

?>



// Winkelwagen.js
Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
// JavaScript Document
<!--
// Delete item
function removeItem(item)
{
    var answer = confirm ('Weet u zeker dat u dit product wilt verwijderen?')
    if (answer)
        window.location='Del_item.php?item=' + item;
}

// Delete all products
function removeCart()
{
    var answer = confirm ('Weet u zeker dat u de winkelwagen wilt leeghalen?')
    if (answer)
        window.location='Del_all.php';
}

// Submit form bij enter
// BRON: (http://www.htmlcodetutorial.com/forms/index_famsupp_157.html)
function submitenter(myfield,e)
{
    var keycode;
    if (window.event) keycode = window.event.keyCode;
    else if (e) keycode = e.which;
    else return true;

    if (keycode == 13)
    {
        myfield.form.submit();
        return false;
    }
    else
        return true;
}
//-->



// Winkelwagen.css
Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
/* Standaard */
body {
    font-family: Verdana;
    font-size: 11px;
    color: #808080;
}
div.wrapper {
    width: 500px;
    min-height: 5px;
    padding-bottom: 5px;
    overflow: hidden;
}
a {
    color: #808080;
    text-decoration: none;
}
a:hover {
    color: #808080;
    text-decoration: underline;
}
p.error {
    width: 500px;
    
    text-align: center;
    line-height: 15px;
    
    margin: 0px;
    padding: 0px;
    display: block;
    float: left;
    
    background-color: #EEDDDD;
}
/* Formulier elementen */


/* Etalage */
div.artikel_e {
    width: 130px;
    height: 180px;
    
    float: left;
    margin-left: 1px;
    padding-left: 10px;
    padding-right: 10px;
    
    border: 1px solid #808080;
    background-color: #F2F2F2;
}
img {
    width: 130px;
    height: 130px;
    
    margin: 0px;
    padding: 0px;
    display: block;
    float: left;
    
    border: 1px solid #808080;
}

/* Etalage */
div.artikel_p {
    width: 400px;
    height: 157px;
    
    float: left;
    margin-left: 1px;
    padding: 10px;
    
    border: 1px solid #808080;
    background-color: #F2F2F2;
}
div.info {
    width: 250px;
    height: 130px;
    
    margin: 0px;
    padding: 0px;
    float: right;
    
    border: 1px solid #808080;
}
input.aantal_p {
    width: 40px;
    height: 20px;
    
    border: none;
    background-color: transparent;
}
input.submit_p {
    width: 400px;
    height: 20px;
    
    margin-top: 1px;
    
    border: 1px solid #808080;
    background-color: #D8D8D8;
}

/* Winkelwagen */
div.row {
    width: 500px;
    height: 20px;
    
    float: left;
    line-height: 20px;
    
    border-bottom: 1px solid #D8D8D8;
}
p.small {
    width: 75px;
    height: 20px;
    
    float: left;
    margin: 0px;
    padding: 0px;
    display: block;
}
p.big {
    width: 200px;
    height: 20px;
    
    float: left;
    margin: 0px;
    padding: 0px;
    display: block;
}
input.aantal_w {
    width: 40px;
    height: 20px;
    
    border: none;
    background-color: transparent;
}

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.