Mail word niet verzonden php.

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Ronnie Vos

Ronnie Vos

26/05/2017 21:27:45
Quote Anchor link
Hallo,

Ik heb een vraag ik heb een bestel script op de index pagina kunnen de mensen hun bestelling doorgeven en word dan via bestelling_bevestigen.php verstuurd naar de snackbar maar de klant krijgt geen bevestigingsmail terwijl dat wel zou moeten. Heeft iemand een idee wat er misschien aan de hand kan zijn. Ze zijn wel overgestapt op een nieuwere server met PHP versie 5.6+.


bestelling_bevestigen.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
<?
require("config.php");
include("ubb.php");

echo " <head>";
echo " <link rel=\"stylesheet\" href=\"css/style.css\" type=\"text/css\" media=\"screen\" />";
echo " </head>";

$select = "SELECT * FROM bestellingen  WHERE `bestelcode`='" . $_GET[id] . "' ORDER by bestelling_id";
$query = mysql_query($select);
$aantal = mysql_num_rows($query);

$select1 = "SELECT * FROM bestelinfo  WHERE `bestelcode`='" . $_GET[id] . "'";
$query1 = mysql_query($select1);
$aantal1 = mysql_num_rows($query1);
$list1 = mysql_fetch_object($query1);

$select2 = "SELECT * FROM bestelinfo WHERE bestelcode='" . $_GET[id] . "' AND bevestigd='nee'";
$query2 = mysql_query($select2);
$bestaat = mysql_num_rows($query2);

if($_POST['bevestigen']) {
   echo "<center><b>Status:</b>";

  $dbres                    = mysql_query("SELECT * FROM `bestelinfo` WHERE `bestelcode`='" . $_GET[id] . "' AND `bevestigd`='nee'");
    if($data = mysql_fetch_object($dbres)) {
    mysql_query("UPDATE `bestelinfo` SET `bevestigd`='ja' WHERE `bestelcode`='" . $_GET[id] . "' AND `bevestigd`='nee'");
      print "  <tr><td class=\"mainTxt\">Bestelling is bevestigd, u heeft een email ontvangen met verdere informatie</td></tr>\n";
      echo '<META HTTP-EQUIV="refresh" CONTENT="3;URL=http://eetsjopbaloe.com/index.php">';

        $headers = "MIME-Version: 1.0\r\n";
        $headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
        $headers .= "From: Eetsjop Baloe <[email protected]>\r\n";
        $headers .= '
        
        <style type="text/css">
        .style1 {
                    font-family: Verdana;
                }
        </style>'
;
        
        $mail_body = "<p class=\"style1\">De volgende email werd op " . date("d-m-Y") . " om " . date("H:i") . " uur gestuurd.<br><br>";
        
        $mail_body .= "Beste $data->naam<br><br>";
        
        $mail_body .= "Bedankt voor uw bestelling.<br>Binnen <b>15 minuten</b> zult u een bevestigings mail uit onze keuken in uw mailbox krijgen.<br>In die bevestingsmail zal de exacte tijdstip van afhalen komen te staan.<br>U heeft aangegeven de bestelling $data->tijdstip_afhalen op te willen halen, hier wordt uiteraard rekening mee gehouden.<br><br><b>Let op!<br>Indien uw bestelling boven de 20 euro is wordt u gebeld ter bevestiging.<br>Indien u niet opneemt wordt de bestelling automatisch geannuleerd.</b><br><br>Hierbij hopen wij u voldoende geïnformeerd te hebben.<br><br>";
        
        $mail_body .= "Met vriendelijke groet,<br><br>Team Eetsjop Baloe</p>";
        
    mail("$data->email", "Baloe Bestelling", $mail_body, $headers);

    }

    else
      echo "<br><br>Deze bestelling is al eerder bevestigd.<br>U kunt een bestelling maar 1x bevestigen om misverstanden te voorkomen</center>";
      echo '<META HTTP-EQUIV="refresh" CONTENT="3;URL=http://eetsjopbaloe.com/index.php">';
  }
else{
      
            if($bestaat == 'ja')
        {

            echo "<b>Er is een fout opgetreden</b><br><br>";
            echo "Deze bestelling is al bevestigd<br><br> <a class=\"linkje1\" href=\"javascript:history.go(-1)\">Klik hier om terug te gaan</a>";    
        }
else{
        
if ($aantal != 0)
{


  echo "<center><p class=\"style2\">Controleer de bestelling voordat u deze bevestigd</p></center>";
    echo "<br><table align=\"center\" id=\"tabel_gegevens\" width=\"70%\" cellpadding=\"10\" cellspacing=\"10\">";
    echo "<tr></td><td><b>De door uw bestelde producten:</b></td><td><b>Aantal keer:</b></td><td><b>Prijs per stuk:</b></td><td><b>Totaal:</b></td></tr>";

    while ($list = mysql_fetch_object($query))
    {

        echo "<tr class=\"td_style_bevestig\"><td>$list->omschrijving: $list->bakje</td><td>$list->aantal</td><td>€$list->prijs</td><td>$list->totaalkolom</td></tr>";
    }

    if ($list1->totaalprijs >= 20.00){
        $bt    = "<b>Deze bestelling wordt telefonisch bevestigd<br>Indien u niet opneemt wordt de bestelling automatisch geannuleerd.</b>";
  }

  if ($list1->totaalprijs <= 20.00){
        $bt    = "<b>Deze bestelling wordt per e-mail bevestigd";
  }

    echo "<tr><td></td><td><p class=\"style1\">Totaal prijs:</p></td><td><p class=\"style1\">€$list1->totaalprijs</p></td><td></td></tr>";
    echo "</table>";
    echo "<br><table align=\"center\" id=\"tabel_gegevens\" width=\"70%\" cellpadding=\"10\" cellspacing=\"10\">";
    echo "<tr></td><td><b>Persoonlijke gegevens</b></td><td width=\"40%\"><b>Door u ingevuld</b></td></tr>";
    echo "<tr class=\"td_style_blue\">";
    echo "<td>Naam:</td>";
    echo "<td>$list1->naam</td>";
    echo "</tr>";
    echo "<tr class=\"td_style_none\">";
    echo "<td>Email:</td>";
    echo "<td>$list1->email</td>";
    echo "</tr>";
    echo "<tr class=\"td_style_blue\">";
    echo "<td>Telefoon nummer:</td>";
    echo "<td>$list1->telnummer</td>";
    echo "</tr>";
    echo "<tr class=\"td_style_none\">";
    echo "<td>Gewenste tijdstip van afhalen:</td>";
    echo "<td>$list1->tijdstip_afhalen</td>";
    echo "</tr>";
    echo "<tr class=\"td_style_blue\">";
    echo "<td>Extra opmerkingen:</td>";
    echo "<td class=\"extra\">";
    echo ubb($list1->extra);
    echo "</td>";
    echo "</tr>";
        echo "<tr class=\"td_style_none\">";
    echo "<td><b>Bevestigingswijze:</b></td>";
    echo "<td>". $bt ."</td>";
    echo "</tr>";
    echo "<tr class=\"td_style_blue\">";
    echo "<td><p class=\"style1\">Deze bestelling klopt en ik wil deze graag versturen</p></td>";
    echo "<td><form method=\"POST\" onSubmit=\"return confirm('Weet u het zeker?')\"><input name=\"bevestigen\" type=\"submit\" class=\"H1\" value=\"Bevestig de bestelling\" /></td>";
    echo "</tr>";
    echo "<tr class=\"td_style_none\">";
    echo "<td><p class=\"style1\">Deze bestelling klopt niet en ik wil graag terug</p></td>";
    echo "<td><input type=\"button\" class=\"H1\" value=\"Annuleer deze bestelling\" onclick=\"location.href = 'http://bestellen.eetsjopbaloe.com/annuleer.php?id=" . $_GET[id] . "'\" /></td>";
    echo "</tr>";
    echo "</form></table>";
}

else{
    $select = "SELECT * FROM bestelinfo";
  $query = mysql_query($select);
    mysql_query("DELETE FROM `bestelinfo` WHERE `bestelcode`='" . $_GET[id] . "'");
    echo "<center><p class=\"style2\">Er is geen bestelling gevonden<br>Probeer het opnieuw</p></center>";
    echo '<META HTTP-EQUIV="refresh" CONTENT="3;URL=http://eetsjopbaloe.com/index.php">';
}
}
}

?>


Groeten Ronnie Vos
Gewijzigd op 26/05/2017 21:33:47 door Ronnie Vos
 
PHP hulp

PHP hulp

28/12/2024 07:46:49
 
- Ariën  -
Beheerder

- Ariën -

26/05/2017 21:29:47
Quote Anchor link
Kan je je code even minimaliseren naar relevante code, en deze tussen code-tags zetten?
 
- SanThe -

- SanThe -

26/05/2017 21:37:55
Quote Anchor link
Script is overal lek: Zie sql-injection.
Er zit rommel in je mailheaders die er niet hoort.
Zie: http://wiki.phpbeginners.nl/index.php?title=De_juiste_mailheaders
Gewijzigd op 26/05/2017 22:06:21 door - SanThe -
 
- Ariën  -
Beheerder

- Ariën -

26/05/2017 21:47:08
Quote Anchor link
Verder raad ik aan om ook van de oude mysql_****() functies af te stappen en je te verdiepen in de MySQLi-driver of PDO. Als je webhosting overstapt naar PHP 7 zal je script gaan 'breken'.

Verder is het erg onnodig om elke lijn te echo'en. je kan ook prima HTML buiten PHP-blokken uitvoeren.
 
Jan te Pas

Jan te Pas

27/05/2017 12:34:09
Quote Anchor link
Ik zie bij de mailfunctie ook nergens de from en to staan. Als je zelf ook een kopie wil hebben, dan moet je dat in de cc regelen.
 
- Ariën  -
Beheerder

- Ariën -

27/05/2017 12:35:52
Quote Anchor link
Zelf raad ik aan om PHPmailer te gebruiken i.p.v. de standaard PHP-functie.
Deze werkt makkelijker, je hoeft geen headers samen te stellen en het werkt efficiënter.
 
Ronnie Vos

Ronnie Vos

27/05/2017 12:42:40
Quote Anchor link
Oke bedankt.

Script is ooit door iemand anders gebouwd.
Zal mij is gaan verdiepen in php mailer en kijken of het lukt :).
 
- Ariën  -
Beheerder

- Ariën -

27/05/2017 12:54:17
Quote Anchor link
De repository met de code staat hier: https://github.com/PHPMailer/PHPMailer
Je kan hem eenvoudig clonen of downloaden. In de map 'examples' staan wat voorbeelden.
 



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.