Autor Zpráva
Erixx
Profil
Zdravím,
poradí někdo , jak dostat emailovout adresu nahrnou v MYSQL do formuláře, na který mají být e-maily odesílány?
Děkuji

<h3>Odeslání e-mailu</h3>

<?

$predmet = $_POST['predmet'];
$email = $_POST['email'];
$spam = $_POST['spam'];
$zprava = $_POST['zprava'];

if ($predmet!="" and $email!="" and $zprava!="" and $spam=="4918")
{
Mail("









require 'db.php';
    @$vysledek = MySQL_Query('SELECT * FROM email ORDER BY poradi DESC');
      //SQL příkaz
      if (!$vysledek):
          echo '<p>Error! Na stránce se vyskytla chyba! Zkuste svůj požadavek zopakovat. ';
             break;
      endif;
      while ($data = MySQL_Fetch_Array($vysledek)){
			
     echo '".$data[email]."'; 

             }

} while (false);








",  $predmet, $zprava, "From: " . $email);
echo "<P>Váš e-mail <I><font color='red'>byl úspěšně odeslán!</font></I> Děkujeme Vám za Váš zájem!</P>";
}
else
{
echo "<P>Váš e-mail bohužel <I><font color='red'>nebyl odeslán!</font></I> Kontrola e-mailu hlásí, že <I><font color='red'>nebyly vyplněny, případně byly vyplněny nesprávně všechny povinné údaje</font></I>.<BR>";
echo "<BR>Stiskněte prosím tlačítko Zpět a napište Vaši zprávu znovu.</P>";
}


?>
Alphard
Profil
while ($data = MySQL_Fetch_Array($vysledek)){
            
   mail($data['email'], $predmet, $zprava);
Erixx
Profil
Pokusil jsem se to dát dokupy, ale bud mi to píše parse error, případně se mi na email odešlou prázdná data
nebo viz tento script data se odešlou na email zadaný v databázi správně, ale nemužu přijít jak ošetřit ty spodní podmínky + kontrolu vyplnění políček, s původnímy script nefungoval.
Prosím o radu


<?
$predmet = $_POST['predmet'];
$email = $_POST['email'];
$spam = $_POST['spam'];
$zprava = $_POST['zprava'];
if ($predmet!="" and $email!="" and $zprava!="" and $spam=="4918")


require 'db.php';
    @$vysledek = MySQL_Query('SELECT * FROM email ORDER BY poradi DESC');
      //SQL příkaz
      if (!$vysledek):
          echo ' Na stránce se vyskytla chyba! ';
             break;
      endif;
      while ($data = MySQL_Fetch_Array($vysledek)){

   mail($data['email'], $predmet, $zprava, "From: " . $email);


echo "Váš e-mail byl úspěšně odeslán!";

echo "Váš e-mail nebyl odeslán!</I>.<BR>";

}

?>
Alphard
Profil
Blok za if není v závorkách { a }.
AM_
Profil
Erixx:
@$vysledek
zavináč pryč

echo "Váš e-mail byl úspěšně odeslán!";
>
echo "Váš e-mail nebyl odeslán!</I>.<BR>";
tohle je evidentní nesmysl, přece nebudeš vypisovat zároveň, že se mail odeslal i neodeslal. Navíc to pokaždé vypíše nespárované </I>.

Kód odsazuj od kraje dle vnořených bloků programu { }, ne jak se ti zrovna zachce.

if ($predmet!="" and $email!="" and $zprava!="" and $spam=="4918")
>
>
require 'db.php';
pokud jsou splněny podmínky, načteš db.php, pokud ne, tak db.php vynecháš a spustíš zbytek skriptu? hloupé, ne?

Pořádně si pročti a promysli, jak jsem ti to opravil, pokud ty chyby nepochopíš, bylo to zhola k ničemu...
<?php //používej raději plnou notaci <?php
$predmet = $_POST['predmet'];
$email = $_POST['email'];
$spam = $_POST['spam'];
$zprava = $_POST['zprava'];
if ($predmet!="" and $email!="" and $zprava!="" and $spam=="4918") {
    require 'db.php';
    $vysledek = MySQL_Query('SELECT * FROM email ORDER BY poradi DESC'); //výpisy chyb se nepotlačují - chyby se neschovávají, ale řeší!
    //--- SQL příkaz --- k čemu takový komentář? pokud někdo nepozná SQL příkaz, zřejmě nemá vůbec smysl, aby kód četl
    if (!$vysledek){
        echo ' Na stránce se vyskytla chyba! ';
        //cituji manuál: break ends execution of the current for, foreach, while, do-while or switch structure. ty přeci v žádné z těchto struktur nejsi, tak kde bereš break?
        die(); //alternativa - ukončí vykonávání skriptu
    } //opraveno, sry
    while ($data = MySQL_Fetch_Array($vysledek)){
        if (mail($data['email'], $predmet, $zprava, "From: " . $email)){ //tady musí být nějaká podmínka, jinak to nedává smysl
            echo "Email na adresu {$data['email']} byl úspěšně odeslán.<BR>";
        } else {
            echo "Na adresu {$data['email']} se nepodařilo e-mail odeslat!<BR>"; //tvůj !. (vykřičník tečka), to je nové české interpunkční znaménko? co znamená?
        }
    }
}
?>
Alphard
Profil
[#5] AM
Podmínka na 10. řádku je otevřená { a uzavřená endif;
Erixx
Profil
Ahoj, díky oběma za cenné rady.

Am_: Ja vím že jsem tam měl nesmysly, ale pořád mi to házelo chyby a nakoenc jsem musel odstranit i ty podmínky, jinak jsme to nemohl rozchodit.
Ty chyby jako .!...</I>...
Ve scriptu jsem měl více věcí, tady jsem ho zkrátil a přehlídl tam nějaké tyhle zbytky.
Prostudoval jsem ten tvůj script a vyzkousel, emaily jsou se spojením s mysql funkční - paráda, pouze je někde chba v ošetření podmínky, pokud nezadám všechny povinné údaje
if ($predmet!="" and $email!="" and $zprava!="" and $spam=="4918")


, příkaz se provede ale hláška
  echo "Na adresu {$data['email']} se nepodařilo e-mail odeslat!";


se nevypíše. Nevíš chybu?

Případně jak by se udělala kontrola zadaných údajů pomocí javascriptu přímo při odesílání emailu pomocí vyskakovacích alertboxů?

script:


<table cellpadding=3 cellspacing=0 border=0><p>
<form action="page.php?id=540" method="post">
<tr>
    <td valign="top"><p>Předmět zprávy *</b></td>
    <td><select size="1" input name="predmet">
	<option value="Posta z vaseho webu - nebyl vyplnen predmet zpravy"> -Zvolte předmět zprávy- </option>
	<option value="Posta z vaseho webu">Odeslat libovolný dotaz</option>
	
	<option value="Posta z vaseho webu - Pripominka k webovym strankam">Odeslat připomínku k webovým stránkám</option>
      </select></td>
  </tr>

 

  <tr>
    <td valign="top"><p>Kontaktní e-mail *</p></td>
    <td><input type="text" name="email" size="25" value=""></td>
  </tr>



  <tr>
  <tr>
    <td valign="top"><p>Opište kód *<IMG SRC="4918.gif" border="0" weight=50 height=30></p></td>
    <td><input type="text" name="spam" size="25" value=""></td>
  </tr>



  <tr>
    <td valign="top"><p>Zde napište vaši zprávu *</p></td>
    <td><textarea name="zprava" rows="6" cols="35"></textarea></td>
  </tr>


  <tr>
    <td valign="top"></td>
    <td><input type="submit" value="Odeslat formulář!"> <input type="reset" value="Vymazat údaje!"></td>
  </tr>

</form>
</table>


děkuju za radu
Erixx
Profil
Tak už jsem to dal dokupy včetně kontrol a alert boxů.
Díky za předchozí pomoc se scriptíky :)

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