mail()

..............
$od = $POST["od"];
$naslov = $
POST["naslov"];
$vsebina = $_POST["vsebina"];
if(ereg("\r\n", $od)) {
exit();
}
$glava= "Content-type: text/html; charset=UTF-8\r\nFrom: " . $od . "\r\n";
mail("blabla", $naslov, $vsebina, $glava);
.........

Je tale zaščita $od z ereg OK al bi tudi moral zaščitet ostala polja pred spamanjem. Je kakšna boljša zaščita pred možnim spamanjem? Če dam v $vsebina narekovaje javi napako.:( Kak se to zrihta? hvala

7 odgovorov

Vsekakor ti priporočam, da raje uporabiš kakšen PHP class za pošiljanje emaila, tam ti ne bo potrebno skrbeti zato. Recimo php mailer, swift (raje tega).

Je kakšna možnost da pod $vsebina = daš tabelo z podatki iz baze?

Seveda lahko daš podatke iz baze, zakaj pa ne? Če hočeš prav tabelo, moreš samo poskrbet, da pošiljaš kot html mail, ne kot plain text.

V mail mi vrze samo prvo vrstico - vem za kaj, ne vem pa kako narest da se mi tabela dinamicno poveca?

$con = mysqlconnect("localhost","xxx","xxx");
mysql
selectdb("xxx", $con);
$cookie = $
COOKIE['xxx'];
$tel = $COOKIE['xxx'];
$result = mysql
query("SELECT * FROM xxx WHERE xxx = '".$cookie."'");
while($row = mysqlfetcharray($result))
$message="
<html>
<head>
</head>
<body>
<table>
<tr>
<td>Pošiljatelj: </td>
<td>" . $ime . "</td>
<td>" . $tel . "</td>
</tr>
</table>
<table>
<tr>
<td>Poz.: </td>
<td>Vrednost: </td>
</tr>
<tr>
<td>" . $row['poz'] . "</td>
<td>" . $row['vrednost'] . "</td>
</tr>
</table>
</body>
</html>
";
mail($to,$subject,$message,$header) or die ("Ni uspelo");
mysql_close($con);

nihce ne ve?

Kako bi se naj tabela dinamično povečala? Raztegnila čez screen?

style="width:100%;"

oziroma kaj problem, malo bolj razloži :) .

to že
problem je ker mi iz baze izpiše samo prvo vrstico...
rad pa bi da mi izpiše vse - tako kot to naredi ista koda na spletu.
v napisanem primeru pa mi naredi le en <tr>........
google pa mi noče izdat.