Autor Zpráva
Luky
Profil *
Zdravím,
mám dotaz, jak udělat posílání zpráv na E-maili uvedené v databázi. V databázi je třeba uložených 100 E-mailů a já chci aby se na každý E-mail odeslal jeden ( co jsem si někde vytvořil třeba) - na ukázku jsem sem dal část mého scriptu, ovšem takhle by to nefungovalo (pošle se to každýmu, ale 100x)
$cist = mysql_query("SELECT * FROM registrace WHERE `kategorie` = 'člen'");
while($datas = mysql_fetch_assoc($cist)) {
$to = $datas['mail'];
$subject = 'subject';
$message = '
<html>
<head>
  <title>title</title>
</head>
<body>
     nějaký text zprávy
</body>
</html>';
$headers  = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=windows-1250' . "\r\n";
$headers .= 'To: někdo' . "\r\n";
$headers .= 'From: někdo' . "\r\n";

mail($to, $subject, $message, $headers); }
Joker
Profil
Luky:
ovšem takhle by to nefungovalo (pošle se to každýmu, ale 100x)
Proč?

Sice tam je několik drobnějších chyb, nebo spíše neoptimálností, ale pokud v tabulce registrace bude každý e-mail jenom jednou, mělo by to fungovat.

Co by jinak šlo udělat lépe:
- jestli proměnné $subject, $message a $headers jsou pořád stejné, není třeba je naplňovat při každém cyklu, ale jen jednou před cyklem
- SELECT *, když je potřeba jeden jediný sloupec.
(edit- přidáno:)
- proměnná $to je zbytečná
Luky
Profil *
díky za odpověď, s tím selectem to je pravda no, ale když jsem to testoval (s 10 maili) tak se mě to opravdu poslalo 10x na jeden mail. A ta zpráva a headers to určitě spravím, je to určitě zbytečné ano.
tu proměnou $to - nevím proč je zbytečná? jako že by tam bylo rovnou ( v té funkci mail) $datas['mail'] ?

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0