Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem Problém s rozesíláním E-mailu na více adres najednou

Dobrý den mám menší problém se scriptem přes který by se měly hromadně odesílat e-maily na adresy které jsou zapsány v databázi...
každý kdo má zájem mlže tam svou adresu zapsat...

$dbhost="***********";
  $dbusr="********";
  $dbpassw="********";
  $dbname="*********";
  @$link=mysql_pconnect($dbhost,$dbusr,$dbpassw) or die("<p class='nadpis'>Server nepřipojen !!!</p>");
  @$db=mysql_select_db($dbname,$link) or die("<p class='nadpis'>Databáze nebyla nalezena !!!</p>");
  $dotaz = "SELECT * FROM novinky";
  $result=mysql_query($dotaz,$link);
  $pocet=mysql_num_rows($result);
  echo "<p class='nadpis'>Databáze obsahuje celkem: $pocet záznamů.</p>";
  while($polozka=mysql_fetch_array($result)) echo "<p>$polozka[mail]</p>";
  //zadání vstupních hodnot
  $predmet=$HTTP_POST_VARS[predmet];
  $zprava=$HTTP_POST_VARS[novinka];
  $address="$dotaz";
  $subject="Novinky z Smycmaweb";
  $message = "
    <style type='text/css'>
      .text   {
        text-align: left;
        Color: #000066;
	      font-family: verdana, sans-serif;
        font-size: 12px;
        font-weight: bold;
        text-decoration: none;
        }
      .text_c   {
        text-align: left;
        Color: #BC0000;
        font-family: verdana, sans-serif;
        font-size: 12px;
        font-weight: bold;
        text-decoration: none;
        }
    </style>

    <p class='text'>Novinky z Smycmaweb</p>
    <table>
      <tr>
        <td width='120'><p class='text'>Co nového:</p></td>
        <td><p class='text_c'>$predmet</p></td>
      </tr>
      <tr>
        <td width='120'><p class='text'>Zpráva:</p></td>
        <td><p class='text_c'>$novinka</p></td>
      </tr>
    </table>";

  $headers="MIME-Version: 1.0\n";
  $headers.="Content-type: text/html; charset=windows-1250\n";
  $headers.="From: Smycmaweb\n";
  
  mail($address,$subject,$message,$headers);

  echo "<p class='nadpis'>Novinky rozeslány</p>";

Toto je script na kterém to vázne mezi deklarovanými proměnnými je také položka address do které když napíšu pevnou adresu tak všechno šlape jak má ale potřeboval bych tam nějak dostat nějakou proměnou která by brala všechny záznamy ve sloupci tabulky s adresami v databázi...
prosté
$promenna = SELECT * FROM novinky;........ nestaci a nefunguje
prosím o pomoc

Jsou zobrazeny jen nové odpovědi. Zobrazit všechny
Předmět Autor Datum
<?php $dbhost="***********"; $dbusr="********"; $dbpassw="********"; $dbname="*********"; mysql_conn…
dan55 25.04.2010 20:14
dan55
bohužel nereaguje a když dám rozeslat tak mi to napíš že bylo rozesláno ale u to je taky nasáno War…
Smycma 25.04.2010 20:43
Smycma
za ty dotazy dej echo mysql_error(); a na začátek souboru error_reporting(E_ALL); pak sem hoď ch…
dan55 25.04.2010 20:47
dan55
Notice: Undefined index: mail in /3w/wz.cz/s/smycmaweb/novinky/odesilani.php on line 35 Notice: Use…
Smycma 25.04.2010 20:52
Smycma
Notice: Undefined variable: link in /3w/wz.cz/s/smycmaweb/novinky/odesilani.php on line 29 Warning:…
Smycma 25.04.2010 20:55
Smycma
zkus mysql_select_db($dbname,$link); za mysql_select_db($dbname);
dan55 25.04.2010 21:21
dan55
ale to už tam mám
Smycma 25.04.2010 21:25
Smycma
Notice: Undefined variable: link in /3w/wz.cz/s/smycmaweb/novinky/odesilani.php on line 29 link = $…
dan55 25.04.2010 21:30
dan55
novinka? nechybi to tam? promena je pak jak zpava.
AZOR 25.04.2010 21:45
AZOR
Jo teď jsem si všiml $zprava=htmlspecialchars($_REQUEST["novinka"]); zkusit nahradit za $novinka=htm…
dan55 25.04.2010 21:49
dan55
hmm taky nic když tam mám ten script svůj tak to nefunguje ale nevypisuje to chyby když tam dám to v…
Smycma 25.04.2010 21:57
Smycma
No nic, jdu spát, pokud nikdo neporadí, tak to vyzkouším na mém webu a odladím nový
dan55 25.04.2010 22:03
dan55
Ad Tvůj script : jak už Ti tady napsali v předchozích odpovědích, proměnnou $address je nutno plnit… nový
hynajs 25.04.2010 23:03
hynajs
Ranní dodatek : Řádek while($polozka=mysql_fetch_array($dotaz)) opravovat nemusíš, bylo by to sice… nový
hynajs 26.04.2010 08:02
hynajs
dostal jsem se obět do fáze že to nefunguje ale taky to nehází chybu.... teť bych potřeboval pomoct… nový
Smycma 26.04.2010 11:34
Smycma
for je na toto absolutně zbytečný nový
dan55 26.04.2010 11:39
dan55
zkoušel jsi ten cyklus while ..... , který navrhnul dan55 ? Ten se zdá opticky v pořádku. I kdyby ta… nový
hynajs 26.04.2010 11:49
hynajs
Pokud to nepůjde, tak to vyzkouším u mě na serveru a pak napíšu, jestli to je chyba scriptu nový
dan55 26.04.2010 12:06
dan55
Tak mi to nedalo, a script jsem vyzkoušel Struktura DB: email (varchar 100 cp1250) a id (int8,autoIn… poslední
dan55 26.04.2010 16:34
dan55
<?php
$dbhost="***********";
$dbusr="********";
$dbpassw="********";
$dbname="*********";
mysql_connect($dbhost,$dbusr,$dbpassw);
mysql_select_db($dbname,$link);
$dotaz=mysql_query("SELECT mail FROM novinky");
$pocet=mysql_num_rows($dotaz);
echo "<p class='nadpis'>Databáze obsahuje celkem: ".$pocet." záznamů.</p>";
while($polozka=mysql_fetch_array($dotaz)){ 
$predmet=htmlspecialchars($_REQUEST["predmet"]);
$zprava=htmlspecialchars($_REQUEST["novinka"]);
$subject="Novinky z Smycmaweb";
$message="
<style type='text/css'>
.text {
text-align: left;
Color: #000066;
font-family: verdana, sans-serif;
font-size: 12px;
font-weight: bold;
text-decoration: none;
}
.text_c {
text-align: left;
Color: #BC0000;
font-family: verdana, sans-serif;
font-size: 12px;
font-weight: bold;
text-decoration: none;
}
</style>
<p class='text'>Novinky z Smycmaweb</p>
<table>
<tr>
<td width='120'><p class='text'>Co nového:</p></td>
<td><p class='text_c'>".$predmet."</p></td>
</tr>
<tr>
<td width='120'><p class='text'>Zpráva:</p></td>
<td><p class='text_c'>".$novinka."</p></td>
</tr>
</table>";
$headers="MIME-Version: 1.0\n";
$headers.="Content-type: text/html; charset=windows-1250\n";
$headers.="From: Smycmaweb\n";
if(mail($polozka["mail"],$subject,$message,$headers)){
  echo"<p>Na email <i>".$polozka['mail']." </i> byly odeslány informace o novinkách</p>";
}
}
echo "<p class='nadpis'>Novinky rozeslány</p>";
?>

ale i tak tam nějaká chybka možná bude :-)

bohužel nereaguje
a když dám rozeslat tak mi to napíš že bylo rozesláno ale u to je taky nasáno

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /3w/wz.cz/s/smycmaweb/novinky/odesilani.php on line 30

a
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /3w/wz.cz/s/smycmaweb/novinky/odesilani.php on line 32

už vážně nevím... opravovat chyby ve scriptu ani moc nepotřebuji... je plně funkční akorát nemám potuchy jakým způosbem dostat obash toho sloupce v databázi do adresy pro odeslání nejspíše cyklem ale while nefunguje

Notice: Undefined index: mail in /3w/wz.cz/s/smycmaweb/novinky/odesilani.php on line 35

Notice: Use of undefined constant predmet - assumed 'predmet' in /3w/wz.cz/s/smycmaweb/novinky/odesilani.php on line 37

Notice: Use of undefined constant novinka - assumed 'novinka' in /3w/wz.cz/s/smycmaweb/novinky/odesilani.php on line 38

Notice: Undefined variable: link in /3w/wz.cz/s/smycmaweb/novinky/odesilani.php on line 29

Warning: mysql_select_db(): supplied argument is not a valid MySQL-Link resource in /3w/wz.cz/s/smycmaweb/novinky/odesilani.php on line 29

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /3w/wz.cz/s/smycmaweb/novinky/odesilani.php on line 31
No database selected

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /3w/wz.cz/s/smycmaweb/novinky/odesilani.php on line 34

a tohle to píše když použju váš script

Ad Tvůj script : jak už Ti tady napsali v předchozích odpovědích, proměnnou $address je nutno plnit cyklem. Příkaz

$address="$dotaz";
je opravdu nesmyslný.

Ad oprava dan55 :

nejdřív je nutno vyřešit chybové hlášení o nedefinovaném linku :
polož

$link=mysql_connect($dbhost,$dbusr,$dbpassw);

Ještě radši oprav :

while($polozka=mysql_fetch_array($dotaz))
na
while($polozka=mysql_fetch_array($dotaz,MYSQL_BOTH ))
nejsem si jist, zda se bez tohoto doplnění $polozka["mail"] naplní.

Skript zkus a napiš další případné potíže.

Tak mi to nedalo, a script jsem vyzkoušel
Struktura DB: email (varchar 100 cp1250) a id (int8,autoIncrement,unique)
Tento kód, a vše OK!

<?php
if (isset($_POST["ok"])){
error_reporting(E_ALL);
$dbhost="*****";
$dbusr="*****";
$dbpassw="*****";
$dbname="*****";
mysql_connect($dbhost,$dbusr,$dbpassw);
mysql_select_db($dbname);
$dotaz=mysql_query("SELECT mail FROM novinky");
$pocet=mysql_num_rows($dotaz);
echo "<p class='nadpis'>Databáze obsahuje celkem: ".$pocet." záznamů.</p>";
while($polozka=mysql_fetch_array($dotaz)){ 
$predmet=htmlspecialchars($_REQUEST["predmet"]);
$zprava=htmlspecialchars($_REQUEST["novinka"]);
$subject="Novinky z Smycmaweb";
$message="
<style type='text/css'>
.text {
text-align: left;
Color: #000066;
font-family: verdana, sans-serif;
font-size: 12px;
font-weight: bold;
text-decoration: none;
}
.text_c {
text-align: left;
Color: #BC0000;
font-family: verdana, sans-serif;
font-size: 12px;
font-weight: bold;
text-decoration: none;
}
</style>
<p class='text'>Novinky z Smycmaweb</p>
<table>
<tr>
<td width='120'><p class='text'>Co nového:</p></td>
<td><p class='text_c'>".$predmet."</p></td>
</tr>
<tr>
<td width='120'><p class='text'>Zpráva:</p></td>
<td><p class='text_c'>".$novinka."</p></td>
</tr>
</table>";
$headers="MIME-Version: 1.0\n";
$headers.="Content-type: text/html; charset=windows-1250\n";
$headers.="From: Smycmaweb\n";
if(mail($polozka["mail"],$subject,$message,$headers)){
  echo"<p>Na email <i>".$polozka['mail']." </i> byly odeslány informace o novinkách</p>";
}
}
echo "<p class='nadpis'>Novinky rozeslány</p>";
}

?>
<form method="post">
<input name="predmet" value="Testovací">
<br>
<input name="novinka" value="Novinka">
<input type="submit" value="ok" name="ok">
</form>

Zpět do poradny Odpovědět na původní otázku Nahoru