met mail() een html pagina versturen

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Marc

Marc

22/12/2005 18:15:00
Quote Anchor link
hoi,

ik heb onlangs een mailing programma gemaakt dat bepaalde gegevens uit een MySQL bestand haalt en verstuurt naar bepaalde mensen en naar mezelf ter controle.

Nu zie ik dat hij meerdere lijnen alles goed verwerkt en dan plots laat hij een veld inhoud vallen of plaatst hij tekens zoals "<" of "<a" of " ' " enz in een veld samen met de goede inhoud. De volgende lijnen zijn dan weer volledig correct verwerkt.

Ik heb in de database gekeken of daar ergens iets niet goed ingevuld zou zijn, maar daar is alles ok.

In het programma lijkt ook alles ok. Want hij gebruikt steeds dezelfde script om de lijnen aan te maken en de ene keer gaat alles goed en daarna zijn er bepaalde afdrukken verkeerd.

Iemand een idee waar ik moet op letten of wat een programma kan verstoren?

Met vriendelijke groeten,

Marc
Gewijzigd op 22/12/2005 18:27:00 door Marc
 
PHP hulp

PHP hulp

23/12/2024 03:58:07
 
Han eev

Han eev

22/12/2005 18:57:00
Quote Anchor link
Als het gewoon html is
kan je ff kijken naar Textarea
maar wij hebben geen script dus we kunnen ook niet zo veel.
 
- SanThe -

- SanThe -

22/12/2005 19:18:00
Quote Anchor link
htmlspecialchars() gebruiken.
 
Marc

Marc

22/12/2005 19:48:00
Quote Anchor link
hoi,

@han

Hieronder het script

------------------------------------------------------------
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
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
<?php
$dag
= date('d')-1;
$mnd = date('m');
$jr = date('Y');
$datum = $jr.'-'.$mnd.'-'.$dag.' 00:00:00';
$dag = date('d');
$server = "localhost";
$user = "";
$pass = "";
$database = "dossier";
/* connectie naar mysql */
$dbh = mysql_connect($server,$user,$pass);
/* connectie met de database */
mysql_select_db($database,$dbh) or die('Database niet beschikbaar '.mysql_error());
$requete_sql = "select * from bestand where datum > '".$datum."'";
/* het resultaat opbouwen */
$query_result = mysql_query($requete_sql,$dbh);
/* vind ie iets? */
if (mysql_num_rows($query_result) > 0)
{

    echo "ter is iets gevonden<br>";
    $requete_sql = "select email,baas from leden where naam <> '' order by naam";
    /* het resultaat opbouwen */
    $query_result = mysql_query($requete_sql,$dbh);
    /* vind ie iets? */
    if (mysql_num_rows($query_result) > 0)
    {

        /* en nu echot ie de info in de db die bij die rij hoort die gekozen is */
        while($row = mysql_fetch_array($query_result))
        {

            $bs = $row["baas"];
            $email = $row["email"];
            $to = $email.",";
        }
    }

    $subject = "Mail van $dag - $mnd - $jr";

    $message = '
    <html>
    <head>
    <title>Mail van $dag - $mnd - $jr </title>
    </head>
    <body bgcolor="#FFFFCC">
    <p><img src="logo.gif" border="0" width="70" height="70"> <span></span><b><font color="green"><font style="font-size: 100pt">M</font><font size="4">ijn </font><font style="font-size: 100pt">E</font><font size="4">eigen </font><font style="font-size: 100pt">S</font><font size="4">ervice </font><font style="font-size: 100pt">S</font><font size="4">ite ®</font></font></b><marquee direction="up" scrollAmount="1" style="width:\'180\';height:\'90\'">
<center><font color="green" size="2"><blink>Mijn Eigen Service Site</blink> <font color="black">wenst u <blink>fijne eindejaarsfeesten</blink> <font color="red">en een <blink>voorspoedig Nieuwjaar</blink> toe</font></center>
</marquee>
</p>
        <p>Voor verdere informatie kom naar onze <a href="mijn site" TARGET="_blank">site</a></p>
        <table border=1>
        <tr>
        <th><font size=2>omschrijving</font></th><th><font size=2>Extra info</font></th><th><font size=2>model</font></th><th><font size=2>formaat</font></th><th><font size=2>Hoogte</font></th><th><font size=2>Breedte</font></th><th><font size=2>stuks</font></th><th><font size=2>verpakt</font></th><th><font size=2>€/stuk</font></th><th><font size=2>€/palet</font></th><th><font size=2>Quantum</font></th><th><font size=2>€/Quantum</font></th><th><font size=2>Leverancier</font></th>
        </tr>
        <tr>'
;
        $requete_sql = "select bestand.datum,bestand.groep,bestand.kleur,bestand.stuks,bestand.verpakt,bestand.pic,bestand.quantum,bestand.prquant,bestand.lev,bestand.lot,bestand.cod,bestand.naam,bestand.sleutel,bestand.formaat,bestand.extra,bestand.hoogte,bestand.vorm,bestand.breedte,bestand.pr,bestand.prstuk,modelle.nederlands,modelle.frans,modelle.engels,modelle.row_id from bestand as bestand, modelle as modelle where bestand.datum >'".$datum."' and modelle.row_id = bestand.vorm order by lev,groep,formaat,hoogte,breedte,pr";
    /* het resultaat opbouwen */
    $query_result = mysql_query($requete_sql,$dbh);
    /* vind ie iets? */

    if (mysql_num_rows($query_result) > 0)
    {

        while($row = mysql_fetch_array($query_result))
        {

            $lev = $row["lev"];
            $lot = $row["lot"];
            $cod = $row["cod"];
            $naam = $row["naam"];
            $sleutel = $row["sleutel"];
            $extra = $row["extra"];
            $formaat = $row["formaat"];
            $hoogte = $row["hoogte"];
            $breedte = $row["breedte"];
            $vorm = $row["vorm"];
            $pr = $row["pr"];
            $prstuk = $row["prstuk"];
            $quantum = $row["quantum"];
            $prquant = $row["prquant"];
            $stuks = $row["stuks"];
            $verpakt = $row["verpakt"];
            $nl = $row["nederlands"];
            $fr = $row["frans"];
            $en = $row["engels"];
            $pic = $row["pic"];
            $pict = "min site/uploads/f".$row["kod"].".jpg";
            $kleur = $row["kleur"];
            $groep = $row["groep"];
            if (substr($groep,1,1) <> "1")
            {

                if ($kleur > "0")
                {

                    switch ($s05)
                    {
                        case
"1" :
                            $nl = "<font color='green'><B>groen - </B></font>".$nl." || <font color='green'><B>vert - </B></font>".$fr." || <font color='green'><B>green - </B></font>".$en;
                            break;
                        case
"2" :
                            $nl = "<font color='purple'><B>purper - </B></font>".$nl." || <font color='purple'><B>pourpre - </B></font>".$fr." || <font color='purple'><B>purple - </B></font>".$en;
                            break;
                        case
"3" :
                            $nl = "<font color='red'><B>rood - </B></font>".$nl." || <font color='red'><B>rouge - </B></font>".$fr." || <font color='red'><B>red - </B></font>".$en;
                            break;
                        case
"4" :
                                $nl = "<font color='blue'><B>blauw - </B></font>".$nl." || <font color='blue'><B>bleu - </B></font>".$fr." || <font color='blue'><B>blue - </B></font>".$en;
                            break;
                        case
"5" :
                            $nl = "wit - ".$nl." || blanc - ".$fr." || white - ".$en;
                            break;
                    }
                }

                else
                {
                    $nl = $nl." - ".$fr." - ".$en;
                }
            }

            if ($pic === "X")
            {

                $message .= '<TD ALIGN=LEFT><B><font size=2><a href='.$pict.' TARGET="_blank">'.$naam.'</a></B></TD>';
                    $message .= '<TD ALIGN=RIGHT><B><font size=2><a href='.$pict.' TARGET="_blank">'.$extra.'</a></B></TD>';
                    $message .= '<TD ALIGN=LEFT><B><font size=2><a href='.$pict.' TARGET="_blank">'.$nl.'</a></B></TD>';
                    $message .= '<TD ALIGN=RIGHT><B><font size=2><a href='.$pict.' TARGET="_blank">'.$formaat.'</a></B></TD>';
                    $message .= '<TD ALIGN=RIGHT><B><font size=2><a href='.$pict.' TARGET="_blank">'.$hoogte.'</a></B></TD>';
                    $message .= '<TD ALIGN=RIGHT><B><font size=2><a href='.$pict.' TARGET="_blank">'.$breedte.'</a></B></TD>';
                    $message .= '<TD ALIGN=RIGHT><B><font size=2><a href='.$pict.' TARGET="_blank">'.$stuks.'</a></B></TD>';
                    $message .= '<TD ALIGN=RIGHT><B><font size=2><a href='.$pict.' TARGET="_blank">'.$verpakt.'</a></B></TD>';
                    $message .= '<TD ALIGN=RIGHT><B><font size=2><a href='.$pict.' TARGET="_blank">'.$prstuk.'</a></B></TD>';
                    $message .= '<TD ALIGN=RIGHT><B><font size=2><a href='.$pict.' TARGET="_blank">'.$pr.'</a></B></TD>';
                    $message .= '<TD ALIGN=RIGHT><B><font size=2><a href='.$pict.' TARGET="_blank">'.$quantum.' CC</a></B></TD>';
                    $message .= '<TD ALIGN=RIGHT><B><font size=2><a href='.$pict.' TARGET="_blank">'.$prquant.'</a></B></TD>';
                    $message .= '<TD ALIGN=RIGHT><B><font size=2><a href='.$pict.' TARGET="_blank">'.$lev.'</a></B></TD></tr>';
            }

            else
            {
                $message .= '<TD ALIGN=LEFT><B><font size=2>'.$naam.'</font></B></TD>';
                $message .= '<TD ALIGN=RIGHT><B><font size=2>'.$extra.'</font></B></TD>';
                $message .= '<TD ALIGN=LEFT><B><font size=2>'.$nl.'</font></B></TD>';
                $message .= '<TD ALIGN=RIGHT><B><font size=2>'.$formaat.'</font></B></TD>';
                $message .= '<TD ALIGN=RIGHT><B><font size=2>'.$hoogte.'</font></B></TD>';
                $message .= '<TD ALIGN=RIGHT><B><font size=2>'.$breedte.'</font></B></TD>';
                $message .= '<TD ALIGN=RIGHT><B><font size=2>'.$stuks.'</font></B></TD>';
                $message .= '<TD ALIGN=RIGHT><B><font size=2>'.$verpakt.'</font></B></TD>';
                $message .= '<TD ALIGN=RIGHT><B><font size=2>'.$prstuk.'</font></b></TD>';
                $message .= '<TD ALIGN=RIGHT><B><font size=2>'.$pr.'</font></B></TD>';
                $message .= '<TD ALIGN=RIGHT><B><font size=2>'.$quantum.' CC</font></B></TD>';
                $message .= '<TD ALIGN=RIGHT><B><font size=2>'.$prquant.'</font></B></TD>';
                $message .= '<TD ALIGN=RIGHT><B><font size=2>'.$lev.'</font></B></TD></tr>';
            }
        }
    }

    $message .= '
    </table>
    </body>
    </html>
    '
;

    $headers = "MIME-Version: 1.0\r\n";
    $headers = "Content-type: text/html; charset=iso-8859-1\r\n";

    mail($to,$subject,$message,$headers);
    echo "De updates zijn verzonden";
}

else
{
    echo "Er waren geen updates te versturen";
}

?>


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

Tot binnen kort?

Met vriendelijke groeten,

Marc
 
Han eev

Han eev

22/12/2005 19:54:00
Quote Anchor link
Waar gaat hij raar doen?
voor de while of na de while?
 
Pim Vernooij

Pim Vernooij

22/12/2005 19:55:00
Quote Anchor link
Klik!
Staan veel voorbeelden bij om html mail te versturen.
Gewijzigd op 22/12/2005 19:56:00 door Pim Vernooij
 
Jan Koehoorn

Jan Koehoorn

22/12/2005 19:56:00
Quote Anchor link
Het script loopt nogal rechts van het scherm af hier. Onderin doe je dit:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
$headers
= "MIME-Version: 1.0\r\n";
$headers = "Content-type: text/html; charset=iso-8859-1\r\n";
?>


Moet de onderste van die twee niet .= zijn?
 
Marc

Marc

22/12/2005 20:00:00
Quote Anchor link
@han,

Na de tweede while.

Maar het eigenaardige is dat ie 2-3 lijnen goed doet en dan plots 1 lijn bijvoorbeeld een veld laat vallen of tekens plaatst zoals "<" of "<a" of " ' " samen met de goede tekst.
Dan weer een aantal lijnen goed doet en dan doet ie weer vreemd door bijvoorbeeld tekens te plaatsen zoals "<" of "<a" of " ' " bij de tekst in dat veld of terug een veld laat vallen.

Er is echt geen ritme in terug te vinden.

Ik snap het niet.

Tot binnen kort.

Met vriendelijke groeten,

Marc
 
Marc

Marc

22/12/2005 20:04:00
Quote Anchor link
@Pim Vernooij
Ik heb het daar vandaan gehaald
bedankt

@jan Koehoorn
Ge hebt gelijk ik corrigeer het onmiddelijk
Bedankt

Met vriendelijke groeten,

Marc
Gewijzigd op 22/12/2005 21:08:00 door Marc
 



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.