开发者

php send mail (message body taken from database)

$message = '
<html>
<head>
 <title>Haftalık Rapor</title>
</head>
<body>
 <table border="4" width="100%" cellpadding="2" cellspacing="3">
<tr>
   <td bgcolor="#FF0000" align="center">Plaka no:</td>
 <td bgcolor="#FF0000" align="center">Aracin Cinsi:</td>
 <td bgcolor="#FF0000" align="center">Sikayet edilme sebebi:</td>
 <td bgcolor="#FF0000" align="center">Tarih:</td>
 </tr> 
开发者_C百科     $con = mysql_connect("", "", "", "","");
        if (!$con){die('Could not connect: ' . mysql_error());}
            mysql_select_db("", $con);
    $bilgi= mysql_query("SELECT plakano,aciklama,secim,tarih FROM bad ORDER BY tarih ASC"); 
    while($sutun= mysql_fetch_array($bilgi))
    {  
        echo "<tr>";
        echo "<td align='center'> ".$sutun["plakano"]."</td>";
        echo "<td align='center'> ".$sutun["secim"]."</td>";
        echo "<td align='center'> ".$sutun["aciklama"]."</td>";
        echo "<td align='center'> ".$sutun["tarih"]."</td>";
        echo "</tr>";
    }

 ';

this is a mail example.But i want the message of the mail taken from the database can anybody help me this code has a syntax but not sure how to solve it .


$message = '
<html>
<head>
 <title>Haftalık Rapor</title>
</head>
<body>
 <table border="4" width="100%" cellpadding="2" cellspacing="3">
<tr>
   <td bgcolor="#FF0000" align="center">Plaka no:</td>
 <td bgcolor="#FF0000" align="center">Aracin Cinsi:</td>
 <td bgcolor="#FF0000" align="center">Sikayet edilme sebebi:</td>
 <td bgcolor="#FF0000" align="center">Tarih:</td>
 </tr> ';
     $con = mysql_connect("", "", "", "","");
        if (!$con){die('Could not connect: ' . mysql_error());}
            mysql_select_db("", $con);
    $bilgi= mysql_query("SELECT plakano,aciklama,secim,tarih FROM bad ORDER BY tarih ASC"); 
    while($sutun= mysql_fetch_array($bilgi))
    {  
        $message .= "<tr>";
        $message .= "<td align='center'> ".$sutun["plakano"]."</td>";
        $message .= "<td align='center'> ".$sutun["secim"]."</td>";
        $message .= "<td align='center'> ".$sutun["aciklama"]."</td>";
        $message .= "<td align='center'> ".$sutun["tarih"]."</td>";
        $message .= "</tr>";
    }


PHP Code must be inside tags. Also instead of echoing the data, you should append it to message.

$message = '<html>
<head>
 <title>Haftalık Rapor</title>
</head>
<body>
 <table border="4" width="100%" cellpadding="2" cellspacing="3">
<tr>
   <td bgcolor="#FF0000" align="center">Plaka no:</td>
 <td bgcolor="#FF0000" align="center">Aracin Cinsi:</td>
 <td bgcolor="#FF0000" align="center">Sikayet edilme sebebi:</td>
 <td bgcolor="#FF0000" align="center">Tarih:</td>
 </tr>';
$con = mysql_connect("", "", "", "","");
if (!$con){die('Could not connect: ' . mysql_error());}
mysql_select_db("", $con);
$bilgi= mysql_query("SELECT plakano,aciklama,secim,tarih FROM bad ORDER BY tarih ASC"); 

while($sutun= mysql_fetch_array($bilgi))
{  
    $message .= "<tr>";
    $message .= "<td align='center'> ".$sutun["plakano"]."</td>";
    $message .= "<td align='center'> ".$sutun["secim"]."</td>";
    $message .= "<td align='center'> ".$sutun["aciklama"]."</td>";
    $message .= "<td align='center'> ".$sutun["tarih"]."</td>";
    $message .= "</tr>";
}


Simple:

<?php
// do database query to get email template
$body = $row['name_of_column_containing_message_template_html'];
mail($to, $subject, $body, $headers);


I suppose that you have the message already in your DB, then everything you need is SELECT the message, store it in a variable and then call in your $message var.

Do not call the code bellow inside your $message var:

 $con = mysql_connect("", "", "", "","");
        if (!$con){die('Could not connect: ' . mysql_error());}
            mysql_select_db("", $con);
    $bilgi= mysql_query("SELECT plakano,aciklama,secim,tarih FROM bad ORDER BY tarih ASC"); 
    while($sutun= mysql_fetch_array($bilgi))
    {  
        echo "<tr>";
        echo "<td align='center'> ".$sutun["plakano"]."</td>";
        echo "<td align='center'> ".$sutun["secim"]."</td>";
        echo "<td align='center'> ".$sutun["aciklama"]."</td>";
        echo "<td align='center'> ".$sutun["tarih"]."</td>";
        echo "</tr>";
    }

call it before $message and store the values in other vars -> $plakano = $sutun["plakano"]

The final code look something like this:

$con = mysql_connect("", "", "", "","");
        if (!$con){die('Could not connect: ' . mysql_error());}
            mysql_select_db("", $con);
    $bilgi= mysql_query("SELECT plakano,aciklama,secim,tarih FROM bad ORDER BY tarih ASC"); 
    while($sutun= mysql_fetch_array($bilgi))
    {  

        $plakano  = $sutun["plakano"];
        $secim    = $sutun["secim"];
        $aciklama = $sutun["aciklama"];
        $tarih    = $sutun["tarih"];

    $tr .= '
         <tr>
           <td> $plakano </td> <td> $secim </td>  <td> $aciklama </td>  <td> $tarih </td>
         </tr>';
    }


$message = '
 <table border="4" width="100%" cellpadding="2" cellspacing="3">
   <tr>
     <td bgcolor="#FF0000" align="center">Plaka no:</td>
     <td bgcolor="#FF0000" align="center">Aracin Cinsi:</td>
     <td bgcolor="#FF0000" align="center">Sikayet edilme sebebi:</td>
     <td bgcolor="#FF0000" align="center">Tarih:</td>
   </tr>
    ' . $tr . '
 </table> 
 ';

// Send email (I suppose you getting the $to $subject and $headers from somewhere)
mail($to, $subject, $message, $headers);


you have your php code inside the message text. Also you have unescaped ' tags in their too.

You need to split that code up so that it has the database fetches outside the $message assignment.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜