[E-mal] Při zadání nového záznamu do databáze odeslat mail – PHP – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu
Reklama
Reklama

[E-mal] Při zadání nového záznamu do databáze odeslat mail – PHP – Fórum – Programujte.com[E-mal] Při zadání nového záznamu do databáze odeslat mail – PHP – Fórum – Programujte.com

 

Hledá se programátor! Plat 1 800 € + bonusy (firma Boxmol.com)
prema
~ Anonymní uživatel
34 příspěvků
15. 2. 2008   #1
-
0
-

Šel by pomocí php udělat takový skript, který při přidání nového záznamu přes formulář do databáze odešle maily s tímto záznamem na maily, které jsou uvedeny v databázi (mysql)?

Nahlásit jako SPAM
IP: 213.211.55.–
Reklama
Reklama
toka0
Stálý člen
15. 2. 2008   #2
-
0
-

Ano sel :-)

Nahlásit jako SPAM
IP: 86.61.165.–
Tomáš Kavalek
pawlik0
Grafoman
15. 2. 2008   #3
-
0
-

Jistěže šel ;-) Co na tom nedokážeš?

Nahlásit jako SPAM
IP: 84.42.152.–
Sa Nata A Na. Howgh
Santas0
Věrný člen
15. 2. 2008   #4
-
0
-

pouzi zakladnu funkciu mail() opis je na php.net

Nahlásit jako SPAM
IP: 195.91.64.–
http://psandtner.sk/blog
toka0
Stálý člen
15. 2. 2008   #5
-
0
-

Asi neco ve stylu, akorat ze misto "Message" das ten zaznam.



$stmt = "SELECT mail FROM users";
$result = db_query($stmt, $link);
while($row = mysql_fetch_object($result)) mail($row->mail, "Subject", "Message");

Nahlásit jako SPAM
IP: 86.61.165.–
Tomáš Kavalek
prema
~ Anonymní uživatel
34 příspěvků
15. 2. 2008   #6
-
0
-

tuhle funkci mail() mam pouzit pri skriptu, cez ktery přidavam zaznamy do databáze?
script pro přidání záznamu do databáze vypadá takto:



$query = "insert into zpravy (autor, text) values ('$autor', '$text');";


netusim kam bych to mel vlozit...

Nahlásit jako SPAM
IP: 213.211.55.–
toka0
Stálý člen
16. 2. 2008   #7
-
0
-

Tak jelikoz chces e-mailem odeslat vlozena data, tak ve skriptu, kde provedes vlozeni do databaze, provedes i odeslani dat, protoze by bylo zbytecne je znovu z databaze "tahat". Takze to co jsi poslal, za tim nejspise existuje mysql_query (v minulem prispevku jsem chybne pouzil db_query, je to ze sady mych vlastnich funkci, cim z jsem te zrejme mystifikoval). Cely kod by tedy mohl vypadat takto:



// Predpokladejme ze $link obsahuje identifikator spojeni s databazi
// Zde vkladas data odeslana formularem do databaze -- tvoje reseni
$query = "insert into zpravy (autor, text) values ('$autor', '$text')";
$result = mysql_query($query, $link);
// Zde nejake osetreni, zda-li probehlo vlozeni uspesne

// A ted jeste odesleme vlozena data na maily
// Jmeno tabulky a nazvy entit si musis samozrejme upravit dle sebe
$stmt = "SELECT mail FROM users";
$result = mysql_query($stmt, $link);
$msq = "Do databaze byly vlozeny tyto informace: " . $autor . " a " . $text;
// A ted projdu vsechny vysledky a na kazdy mail odeslu zpravu
while($row = mysql_fetch_object($result)) mail($row->mail, "Posledni vlozena data do DB", $msg);

Nahlásit jako SPAM
IP: 86.61.165.–
Tomáš Kavalek
prema
~ Anonymní uživatel
34 příspěvků
16. 2. 2008   #8
-
0
-

script jsem upravil podle navodu. Při vložení nové zprávy do DB se odesle mail s předmětem: Posledni vlozena data do DB. V těle zprávy ale nic není - žádná zpráva se do těla nepřipojila.

kod mam tedy takovy:



<?php
include "config.php"; // connect to DB
mysql_query("SET NAMES utf8");

$autor = trim($_REQUEST['autor']);
$text = trim($_REQUEST['text']);

$query = "insert into zpravy (autor, text) values ('$autor', '$text');";

mysql_query($query);


// A ted jeste odesleme vlozena data na maily
$stmt = "SELECT mail FROM uzivatele";
$result = mysql_query($stmt);
$msq = "Do databaze byly vlozeny tyto informace: ".$autor." a ".$text;

// A ted projdu vsechny vysledky a na kazdy mail odeslu zpravu
while($row = mysql_fetch_object($result)) mail($row->mail, "Posledni vlozena data do DB", $msg);

header('Location: zpravy.php');
?>

Nahlásit jako SPAM
IP: 213.211.55.–
prema
~ Anonymní uživatel
34 příspěvků
17. 2. 2008   #9
-
0
-

nevite v cem by mohla byt chyba?
diky

Nahlásit jako SPAM
IP: 213.211.55.–
pawlik0
Grafoman
17. 2. 2008   #10
-
0
-

Jednou tam mas $msq a jednou $msg!

Nahlásit jako SPAM
IP: 84.42.152.–
Sa Nata A Na. Howgh
prema
~ Anonymní uživatel
34 příspěvků
17. 2. 2008   #11
-
0
-

To pawlik : Chlape, diky moc:)
Jede to super. Jen mam problem s češtinou... nezobrazují se v mailech správné znaky - jsou poškozené...
nevite cim bych tohle mohl doladit?
Diky

Nahlásit jako SPAM
IP: 213.211.55.–
insider0
Věrný člen
18. 2. 2008   #12
-
0
-

To prema : kdyz se mrknes na obsah fora php, tak hned na prvni strance jsou asi 3 prispevky resici funkci mail, 2 z nich dokonce diakritiku v mailech :)

Nahlásit jako SPAM
IP: 78.102.32.–
I don't want to see you go,[br] The sky is over[br] Even though we can't afford[br] The sky is over,[br] The sky is over us.[br][br] CIVILIZATION IS OVER
prema
~ Anonymní uživatel
34 příspěvků
18. 4. 2008   #13
-
0
-

Konecne jsem to dodelal.
Problem byl v tom, ze vysledky jsou odesilany v utf a ja je posilal na maily v necem jinym... Po deklaraci utf jede vse v poho.
Lidi, diky moc

$stmt = "SELECT mail FROM maily"; 

$result = mysql_query($stmt);
$msq = $jmeno.": ".$text;

$headers = 'From: mail@google.com'."\r\n";
$headers .= 'Content-type: text/html; charset=UTF-8'."\r\n";

// A ted projdu vsechny vysledky a na kazdy mail odeslu zpravu
while($row = mysql_fetch_object($result)) mail($row->mail, "Nova zprava z webu", $msq, $headers);

Nahlásit jako SPAM
IP: 213.211.55.–
netman920
Super člen
18. 4. 2008   #14
-
0
-

To prema :
to ti teda trvalo :-D
dufam ze si to nerobil v kuse 24hod denne :smile6:

Nahlásit jako SPAM
IP: 195.91.54.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 75 hostů

Podobná vlákna

Vkladani zaznamu z XML do databaze — založil Anonymní uživatel

Chyba pri editaci zaznamu v DB — založil tribalcz

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032016 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý