Bestel/ aanvraag script

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Mich

mich

01/09/2006 16:34:00
Quote Anchor link
Heeft iemand een ( gratis) bestel/ aanvraag script?
mag met MySQL


alvast bedankt
 
PHP hulp

PHP hulp

21/11/2024 22:47:57
 
Danny K

Danny K

01/09/2006 16:52:00
Quote Anchor link
Google is youre best friend.. zal ik maar zeggen :-)
 
Mich

mich

01/09/2006 16:55:00
Quote Anchor link
ja ik weet het, maar ik kon niet echt iets goed vinden :)
 
Mich

mich

17/09/2006 12:29:00
Quote Anchor link
Heeft iemand nog een bestel scriptje liggen?
 
Stefan van Iwaarden

Stefan van Iwaarden

17/09/2006 12:47:00
Quote Anchor link
ik wil wel wat voor je in elkaar zetten mich, maar dan moet je me wel even vertellen wat voor soort formulier dit moet zijn.

moeten de mensen zelf producten/aanvragen invullen of moeten ze de keuze hebben uit een aantal dingen?

moet het opgeslagen worden in een mysql tabel of moet het ge-emaild worden, of misschien wel beide

enz.
 
Mich

mich

17/09/2006 12:52:00
Quote Anchor link
miss is het een beetje te veel gevraagd maar ze moeten dus kunnen uit en aantal producten kunnen kiezen en elkekeer dat ze dat doen dat de prijs die onderaan de pagina staat word geupdated.

als ze op submit drukken krijgen ze de bestel lijst te zien.

tegelijker tijd wil ik een mailtje krijgen met die bestel lijst zodat ik weet wat er besteld ik, met adres gegevens e.d. van de klant.

Heel erg bedankt dat je dat ( eventueel) voor me kan maken.
 
Stefan van Iwaarden

Stefan van Iwaarden

17/09/2006 13:03:00
Quote Anchor link
@mich, over hooguit een uurtje heb ik dit wel in elkaar gezet, heb nog wat andere dingetjes te doen ook, anders had ik het sneller.

EDIT: ik ga er wel vanuit dat je zelf de layout/design doet.

EDIT: mich, hebben de producten een prijs die weergegeven moet worden of niet?
Gewijzigd op 01/01/1970 01:00:00 door Stefan van Iwaarden
 
Stefan van Iwaarden

Stefan van Iwaarden

17/09/2006 14:51:00
Quote Anchor link
goed ok, ik heb wat in elkaar gezet voor je, ik hoop dat je er wat mee kan, en zoals ik al zei moet je zelf het design doen e.d.

Tevens moet je in config.php nog wat dingen aanpassen.

Ook heb ik er alreeds voor gezorgd dat de bestellingen ook worden opgeslagen in de db zodat je hier eventueel in een later stadium ook wat aan hebt, want het is gewoon de realiteit dat het in een database in combinatie met een cms gemakkelijker is om bestellingen te verwerken dan per e-mail. dus dan hoef je dat later eventueel niet meer te doen.

config.php
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?php
mysql_connect("localhost","jegebruikersnaam","jewachtwoord");
mysql_select_db("jedatabase");

//vul hier de naam van de website in, en tevens ook het e-mailadres waar de bestelbevestigingen mee verstuurd moeten worden
$from    = "Websitenaam <[email protected]>";

//vul hier het e-mail adres in waar de bestellingen naartoe gestuurd moeten worden
$emailbestellingen    = "";
?>


producten.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
<?php
include('config.php');

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

extract($_POST); //alle velden ophalen
    $query2        = "INSERT INTO
                winkelwagen
                (productID,
                aantal,
                ip)
                VALUES
                ('"
.$productID."',
                '"
.$aantal."',
                '"
.$_SERVER['REMOTE_ADDR']."')";
    $result2    = mysql_query($query2) or die (mysql_error());
header("Location: producten.php");
}

else
{
    $query1        = "SELECT * FROM producten";
    $result1    = mysql_query($query1) or die (mysql_error());
    
    $breedte    = 100;
    
    echo('<table>');
    echo('<tr>
        <th align="left" width="'
.$breedte.'">Naam</th>
        <th align="left" width="'
.$breedte.'">Prijs</th>
        </tr>'
);
    while ($row1 = mysql_fetch_array($result1))
    {

        echo('<form action="'.$_SERVER['PHP_SELF'].'" method="post">');
        echo('<tr>
            <td width="'
.$breedte.'">'.$row1['naam'].'</td>
            <td width="'
.$breedte.'">'.number_format($row1['prijs'],2,',','.').'</td>
            <td width="'
.$breedte.'"><input type="text" name="aantal" id="aantal" size="3"><input type="hidden" name="productID" id="productID" value="'.$row1['id'].'"></td>
            <td width="'
.$breedte.'"><input type="submit" name="submit" id="submit" value="In Winkelwagen"></td>
            </tr>'
);
        echo('</form>');
    }

    echo('</table>');
}

?>


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
<?php
include('config.php');

$query1        = "SELECT * FROM winkelwagen WHERE ip ='".$_SERVER['REMOTE_ADDR']."'";
$result1    = mysql_query($query1) or die (mysql_error());

//als er producten in het winkelwagentje zitten, dan weergeven
if (mysql_num_rows($result1))
{


$breedte = 100;

    echo('<table>');
    echo('<tr>
        <th align="left" width="'
.$breedte.'">Naam</th>
        <th align="left" width="'
.$breedte.'">Aantal</th>
        <th align="left" width="'
.$breedte.'">Prijs</th>
        <th align="left" width="'
.$breedte.'">Subtotaal</th>
        </tr>'
);
    while ($row1 = mysql_fetch_array($result1))
    {

    //naam en prijs van producten ophalen
    $query2        = "SELECT naam,prijs FROM producten WHERE id = ".$row1['productID'];
    $result2    = mysql_query($query2) or die (mysql_error());
    $row2        = mysql_fetch_array($result2);
    
    echo('<tr>
        <td width="'
.$breedte.'">'.$row2['naam'].'</td>
        <td width="'
.$breedte.'">'.$row1['aantal'].'</td>
        <td width="'
.$breedte.'">'.number_format($row2['prijs'],2,',','.').'</td>
        <td width="'
.$breedte.'">'.number_format($row1['aantal'] * $row2['prijs'],2,',','.').'</td>
        </tr>'
);
    
    $totaalprijs += $row1['aantal'] * $row2['prijs'];
    }

    echo('<tr><td colspan="4" width="'.$breedte.'">&nbsp;</td>');
    echo('<tr>
        <td colspan="2" width="'
.$breedte.'"></td>
        <td width="'
.$breedte.'"><b>Totaal</b></td>
        <td width="'
.$breedte.'"><b>&euro; '.number_format($totaalprijs,2,',','.').'</b><td>
        </tr>'
);
    echo('</table>');
    
    echo('<a href="bestellen.php">Bestel</a>');
}

else //als er geen producten in het winkelwagentje zitten, dan een melding geven
{
    echo('Er zitten nog geen producten in uw winkelwagentje');
}

?>


bestellen.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
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
<?php
include('config.php');

if ($_SERVER['REQUEST_METHOD'] == "POST") //als er op submit gedrukt is
{
    extract($_POST); //alle velden ophalen

    $query1            = "INSERT INTO
                    bestellingen
                    (naam,
                    adres,
                    postcode,
                    plaats,
                    email,
                    datum)
                    VALUES
                    ('"
.$naam."',
                    '"
.$adres."',
                    '"
.$postcode."',
                    '"
.$plaats."',
                    '"
.$email."',
                    '"
.date("Y-m-d H:i:s")."')";
    $result1        = mysql_query($query1) or die (mysql_error());
    $bestellingsID    = mysql_insert_id();
    
    $query2            = "SELECT * FROM winkelwagen WHERE ip = '".$_SERVER['REMOTE_ADDR']."'";
    $result2        = mysql_query($query2) or die (mysql_error());
    
    while ($row2 = mysql_fetch_array($result2))
    {

    $query3            = "INSERT INTO
                    besteldeproducten
                    (bestellingsID,
                    productID,
                    aantal)
                    VALUES
                    ('"
.$bestellingsID."',
                    '"
.$row2['productID']."',
                    '"
.$row2['aantal']."')";
    $result3        = mysql_query($query3) or die (mysql_error());
    }

    
    //e-mail bericht opstellen
    $bericht         = "Geachte ".$naam.",\n\n";
    $bericht        .= "Hieronder ziet u een overzicht van uw bestelling\n\n";
    $bericht        .= "Uw bestelling wordt naar het volgende adres gestuurd\n";
    $bericht        .= $naam."\n";
    $bericht        .= $adres."\n";
    $bericht        .= $postcode." ".$plaats."\n\n";
    
    $query4            = "SELECT * FROM bestellingen WHERE id=".$bestellingsID;
    $result4        = mysql_query($query4) or die (mysql_error());
    $row4            = mysql_fetch_array($result4);

    $query5            = "SELECT productID,aantal FROM besteldeproducten WHERE bestellingsID = ".$bestellingsID;
    $result5        = mysql_query($query5) or die (mysql_error());
    
    while ($row5 = mysql_fetch_array($result5))
    {
    
    $query6            = "SELECT naam,prijs FROM producten WHERE id=".$row5['productID'];
    $result6        = mysql_query($query6) or die (mysql_error());
    $row6            = mysql_fetch_array($result6);
        
    $bericht         .= "Product: ".$row6['naam']."\n";
    $bericht        .= "Prijs: ".number_format($row6['prijs'],2,',','.')."\n";
    $bericht        .= "Aantal: ".$row5['aantal']."\n";
    $bericht        .= "Subtotaal: ".number_format($row6['prijs'] * $row5['aantal'],2,',','.')."\n\n";
    $totaalprijs    += $row6['prijs'] * $row5['aantal'];
    }

    $bericht        .= "Totaal: € ".number_format($totaalprijs,2,',','.');

    //e-mail bericht opstellen
    $bericht2         = "Er is een bestelling geplaatst door de klant ".$naam.",\n\n";
    $bericht2        .= "Hieronder ziet u een overzicht van zijn bestelling\n\n";
    $bericht2        .= "Het adres van deze klant is\n";
    $bericht2        .= $naam."\n";
    $bericht2        .= $adres."\n";
    $bericht2        .= $postcode." ".$plaats."\n\n";
    
    $query7            = "SELECT * FROM bestellingen WHERE id=".$bestellingsID;
    $result7        = mysql_query($query7) or die (mysql_error());
    $row7            = mysql_fetch_array($result7);

    $query8            = "SELECT productID,aantal FROM besteldeproducten WHERE bestellingsID = ".$bestellingsID;
    $result8        = mysql_query($query8) or die (mysql_error());
    
    while ($row8 = mysql_fetch_array($result8))
    {
    
    $query9            = "SELECT naam,prijs FROM producten WHERE id=".$row8['productID'];
    $result9        = mysql_query($query9) or die (mysql_error());
    $row9            = mysql_fetch_array($result9);
        
    $bericht2         .= "Product: ".$row9['naam']."\n";
    $bericht2        .= "Prijs: ".number_format($row9['prijs'],2,',','.')."\n";
    $bericht2        .= "Aantal: ".$row8['aantal']."\n";
    $bericht2        .= "Subtotaal: ".number_format($row9['prijs'] * $row8['aantal'],2,',','.')."\n\n";
    $totaalprijs2    += $row9['prijs'] * $row8['aantal'];
    }

    $bericht2        .= "Totaal: € ".number_format($totaalprijs2,2,',','.');

    $headers        = "FROM: ".$from;
    
    //e-mail versturen    
    mail($email,'Uw Bestelling',$bericht,$headers);
    
    mail($emailbestellingen,'Bestelling',$bericht2,$headers);
    
    //winkelwagen leegmaken
    $query10        = "DELETE FROM winkelwagen WHERE ip = '".$_SERVER['REMOTE_ADDR']."'";
    $result10        = mysql_query($query10) or die (mysql_error());
    
    echo('Uw bestelling is geplaatst, u heeft hiervan een bevesting per e-mail ontvangen');

}

else //zolang dat nog niet gedaan is, formulier weergeven
{
    ?>

    <form action="<?php $_SERVER['PHP_SELF'] ?>" method="post">
    <table>
    <tr>
        <td>Naam</td>
        <td><input type="text" name="naam" id="naam"></td>
    </tr>
    <tr>
        <td>E-mail</td>
        <td><input type="text" name="email" id="email"></td>
    </tr>
    <tr>
        <td>Adres</td>
        <td><input type="text" name="adres" id="adres"></td>
    </tr>
    <tr>
        <td>Postcode</td>
        <td><input type="text" name="postcode" id="postcode"></td>
    </tr>
    <tr>
        <td>Plaats</td>
        <td><input type="text" name="plaats" id="plaats"></td>
    </tr>
    <tr>
        <td>&nbsp;</td>
        <td><input type="submit" name="submit" id="submit" value="Bestellen"></td>
    </tr>
    </table>
    </form>
<?php
}
?>


en de tabellen
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
--
-- Tabel structuur voor tabel `besteldeproducten`
--

CREATE TABLE `besteldeproducten` (
  `id` int(11) NOT NULL auto_increment,
  `bestellingsID` int(11) NOT NULL default '0',
  `productID` int(11) NOT NULL default '0',
  `aantal` int(11) NOT NULL default '0',
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

-- --------------------------------------------------------

--
-- Tabel structuur voor tabel `bestellingen`
--

CREATE TABLE `bestellingen` (
  `id` int(11) NOT NULL auto_increment,
  `naam` varchar(255) NOT NULL default '',
  `adres` varchar(255) NOT NULL default '',
  `postcode` varchar(10) NOT NULL default '',
  `plaats` varchar(255) NOT NULL default '',
  `email` varchar(255) NOT NULL default '',
  `datum` datetime NOT NULL default '0000-00-00 00:00:00',
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

-- --------------------------------------------------------

--
-- Tabel structuur voor tabel `producten`
--

CREATE TABLE `producten` (
  `id` int(11) NOT NULL auto_increment,
  `naam` varchar(255) NOT NULL default '',
  `beschrijving` text NOT NULL,
  `prijs` decimal(10,2) NOT NULL default '0.00',
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

-- --------------------------------------------------------

--
-- Tabel structuur voor tabel `winkelwagen`
--

CREATE TABLE `winkelwagen` (
  `id` int(11) NOT NULL auto_increment,
  `productID` int(11) NOT NULL default '0',
  `aantal` int(11) NOT NULL default '0',
  `ip` varchar(25) NOT NULL default '',
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
Gewijzigd op 01/01/1970 01:00:00 door Stefan van Iwaarden
 
Mich

mich

17/09/2006 16:14:00
Quote Anchor link
Vette shit, egt heel erg bedankt, natuurlijk doe ik de style e.d.
 
Mich

mich

17/09/2006 16:26:00
Quote Anchor link
maar euh... waar zet ik mijn producten precies in ( ik ben zoooooo'n n00b)
 
Stefan van Iwaarden

Stefan van Iwaarden

17/09/2006 16:52:00
Quote Anchor link
oh ja, dat heb ik inderdaad niet gemaakt, maar als je phpmyadmin hebt, kun je ze ook daarin aanmaken.

knop toevoegen van de tabel producten.

maar ik zal anders wel even een scriptje voor je maken, even geduld.
 
Arjan Schuurman

Arjan Schuurman

17/09/2006 16:55:00
 
Mich

mich

17/09/2006 16:55:00
Quote Anchor link
:D:D:D dankje
 
Stefan van Iwaarden

Stefan van Iwaarden

17/09/2006 17:15:00
Quote Anchor link
ik heb dit in elkaar gezet, werd even gestoord, maar anders had ik het om 17:00 al voor je gehad :s

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")
{

extract($_POST); //alle velden ophalen
$prijs = str_replace(',','.',$prijs); //eventuele komma's vervangen door een punt

$query1        = "INSERT INTO
            producten
            (naam,
            prijs,
            beschrijving)
            VALUES
            ('"
.$naam."',
            '"
.$prijs."',
            '"
.$beschrijving."')";
$result1    = mysql_query($query1) or die (mysql_error());
header("Location: nieuwproduct.php");
}

else
{
    ?>

    <form action="<?php $_SERVER['PHP_SELF'] ?>" method="post">
    <table>
    <tr>
        <td>Naam</td>
        <td><input type="text" name="naam" id="naam"></td>
    </tr>
    <tr>
        <td>Prijs</td>
        <td><input type="text" name="prijs" id="prijs"></td>
    </tr>
    <tr>
        <td>Beschrijving</td>
        <td><textarea name="beschrijving" id="beschrijving" cols="35" rows="15"></textarea></td>
    </tr>
    <tr>
        <td>&nbsp;</td>
        <td><input type="submit" name="submit" id="submit" value="Toevoegen"></td>
    </tr>
    </table>
    </form>
<?php
}
?>


ik heb het overigens niet getest, maar ik verwacht wel dat hij het doet.
 
Mich

mich

17/09/2006 17:21:00
Quote Anchor link
tnkx, geeft niet dat het wat langer duurde, k heb de tijd
 
Mich

mich

17/09/2006 17:23:00
Quote Anchor link
Ja hoor doet het helemaal, super bedankt voor de moeite
 
Stefan van Iwaarden

Stefan van Iwaarden

17/09/2006 17:32:00
Quote Anchor link
ok, graag gedaan, geeft mij ook weer een goed gevoel :)
 



Overzicht Reageren

 
 

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.