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
Als het gewoon html is
kan je ff kijken naar Textarea
maar wij hebben geen script dus we kunnen ook niet zo veel.
htmlspecialchars() gebruiken.
hoi,

@han

Hieronder het script

------------------------------------------------------------
<?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
Waar gaat hij raar doen?
voor de while of na de while?
Klik!
Staan veel voorbeelden bij om html mail te versturen.
Het script loopt nogal rechts van het scherm af hier. Onderin doe je dit:

<?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?
@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
@Pim Vernooij
Ik heb het daar vandaan gehaald
bedankt

@jan Koehoorn
Ge hebt gelijk ik corrigeer het onmiddelijk
Bedankt

Met vriendelijke groeten,

Marc

Reageren