Váš všechny PHP expetry prosím o pomoc - snad se najde někdo, kdo mi s tím poradí.
Jen zmíním, že jsem to nesčetněkrát zkontroloval, třikrát přepsal a nefunguje .... nevim proč a nikdo mi nechce poradit. Sm¨nad se nějakej dobrák tady nejde ....
<?
$zapati = "\n\n"; //text na závěr dopisu
$zapati .= "==============================================================\n";
$zapati .= "Pokud jste si tento mail nevyžádali, či již\n";
$zapati .= "nechcete nadále zasílat novinky,\n";
$zapati .= "odhlašte se prosím na:\n";
$zapati .= "http://srdce-erinelu.wz.cz/registrace/prihlas_form.php.\n";
$spravce = "srdce-erinelu@post.cz"; //email webmastera
@$spojeni = MySQL_Connect("mysql.webzdarma.cz","srdce-erinelu","moje heslo") or die('Selhání databáze'); //vytvoření připojení k serveru
if (!$spojeni):
{ ?>
<br><br><br><br><br><br><br><br><br>
<center><big><b>Nepodařilo se připojit k databázi.</b></big></center>
<? }
endif;
@$sql = MySQL_Select_DB("srdce-erinelu"); //výběr databáze
if (!sql):
{ ?>
<br><br><br><br><br><br><br><br><br>
<center><big><b>Nepodařilo se vybrat databázi.</b></big></center>
<? }
endif;
@$vyber_email = MySQL_Query("SELECT Email FROM registrace WHERE Novinky LIKE 'Ano'"); //SQL příkaz pro výběr uživatelů
if (!vyber_email):
{ ?>
<br><br><br><br><br><br><br><br><br>
<center><big><b>Nepodařilo se vybrat emaily z databáze.</b></big></center>
<? }
endif;
$dopis = stripslashes($dopis); //odstranění nevhodných znaků
$pocet = MySQL_Num_Rows($vyber_email); //zjištění počtu uživatelů
echo "<b>Počet uživatelů:</b>" . $pocet."<br><br>\n";
while ($vycet = MySQL_Fetch_Array($vyber_email)): //vyčet uživatelů - maily
echo $vycet["Email"]."<br>\n";
endwhile;
$dopis_telo = $dopis . $zapati;
////*// tady bude chyba
while ($adresa = MySQL_Fetch_Array($vyber_email)): //FCE MAIL () PRO ZASÍLÁNÍ NOVINEK
mail ($adresa["Email"], "Novinky na Erinelu", $dopis_telo, "From: ".$spravce);
endwhile;
//*
?>
<br>
<center>
<b>Zpráva:</b>
<br>
<form method="post" action="04010144937.php">
<textarea name="dopis" style="color : rgb(189,80,0);
font-family : Verdana, Arial CE, Arial, Helvetica, sans-serif;
font-weight : normal;
border: 1px solid;
border-color: rgb(189,80,0);
background-color: rgb(239,198,148);" cols="80" rows="15">
</textarea>
<br>
<br>
<input type="submit" style="color : rgb(189,80,0);
border: 1px solid;
font-weight : bold;
background-color: rgb(239,198,145);"
value="Odeslat novinky!">
</form>
</center>
samozřejmě je to tady špatně zformatovaný, kdyby to chtěl nějakej dobrák poslat na mail ve zdrojáku, nechť se mi ozve na paskal2@post.cz
Předem moooc díky
Bohuzel si nespecifikoval CO na tom nefunguje ... pak se chyba tezko hleda ... ale dve veci, kterych jsem si vsim ...
if (!vyber_email):
... asi spis melo vypadat takhle ...
if (!$vyber_email):
... tu vysledkovou sadu fetchujes 2x ... 2x ji prochazis radek po radku, dojdes na konec ... a ??? ... chteo by to se taky nekdy vrati na zacatek (pred tim druhym cyklem while) ...
mysql_data_seek($vyber_email,0);
... jinak bych mel jeste jedno formalni doporuceni ... misto konstrukce ...
if (!vyber_email):
{ ?>
<br><br><br><br><br><br><br><br><br>
<center><big><b>Nepoda?ilo se vybrat emaily z databáze.</b></big></center>
<? }
... by bylo asi elegantnejsi, citelnejsi a efektivnejsi pouzit ...
if (!$vyber_email) echo('
<br><br><br><br><br><br><br><br><br>
<center><big><b>Nepoda?ilo se vybrat emaily z databáze.</b></big></center>
');
... vic po me nechtej :)
Radek
Hm, a taky se mi to zdá dost prasácky napsaný (Prosím nechci začínat žádnou diskusi typu jak psát zdrojáky, bylo to jen IMHO!).
Jinak opravdu zkus hledat zdroják, takhlens ti těžko poradíme!