20. marts 2004 - 13:15Der er
14 kommentarer og 1 løsning
Nyhedsbrev der sender til folk i databasen
Hej eksperter, jeg ahr brug for et nyhedsbrev, som selecter fra databasen (tabel navn = "front", hvor den henter feltet "email", og "Irl_name") hvor den skriver det til folk, i toppen f.eks. Hej <?PHP echo $front['Irl_name']; ?> Blah blah blah osv. osv. osv. osv. osv. osv.
Eksempel: Bruger A har mailen a@a.dk og Bruger B har mail b@b.dk
men Bruger A, skal der stå Hej Bruger A som så sendes til (Bruger A's mail) a@a.dk og ved bruger B, skal der ikke stå Bruger A, men derimod Bruger B Den skal kunne sende til alle i hele databasen.
include ("database_config.php"); $conn = mysql_connect("$sqladd", "$dbuser", "$dbpass"); mysql_select_db("$dbname"); $query = mysql_query("select * from front order by id") or die(mysql_error()); while($front = mysql_fetch_array($query)){
// her starte mail sendninge til alle i databasen
$recipient = "$front[email]";
$subject = "$emne";
$message = "Hej $front[Irl_name]<br>";
$message .= "Besked: bla bla bla<br>";
$headers .= "from: $recipient \n";
$headers .= "Content-type: text/html";
mail($recipient, $subject, $message, $headers);
} } ?> <INPUT TYPE="submit" NAME="oksend" VALUE="Start mail sendning">
det her har jeg lige teste og hos mig viker det en rettets ved send kanppen ind i en form <?php if ($oksend){
include ("config.php"); $conn = mysql_connect("$sqladd", "$dbuser", "$dbpass"); mysql_select_db("$dbname"); $query = mysql_query("select * from front order by id") or die(mysql_error()); while($front = mysql_fetch_array($query)){
min virker ikke.... Tabelen, hedder tele2 (som test) og kan ikke få den til at print noget ud heller...
------ SCRIPT START -------- <?php if ($oksend){ echo "Mail sendt!"; include("db.php"); $query = mysql_query("select * from tele2 order by id") or die(mysql_error()); while($front = mysql_fetch_array($query)){
include ("config.php"); $conn = mysql_connect("$sqladd", "$dbuser", "$dbpass"); mysql_select_db("$dbname"); $query = mysql_query("select * from tele2 order by id") or die(mysql_error()); while($brev = mysql_fetch_array($query)){
// her starte mail sendninge til alle i databasen
$recipient = "$brev[email]";
$subject = "$emne";
$message = "Hej $brev[Irl_name]<br>";
$message .= "Besked: bla bla bla<br>";
$headers .= "from: $recipient \n";
$headers .= "Content-type: text/html";
mail($recipient, $subject, $message, $headers);
echo "mailen er sendt til følgende:<br>$brev[email]"; } } ?> <FORM ACTION="" METHOD="post" NAME="mail"> <INPUT TYPE="submit" NAME="oksend" VALUE="Start mail sendning"> </FORM>
det virker 100% fint... tark, men en sidst ting, kan ikke lige få den til at include filen msg.txt altså her:
$message = "HER"; Der hvor der står her ville jeg godt hve den til at include("msg.txt"); atlså ens besked skal man så bare rette der,,, ´men kan jeg ikke,,
så kan du bare gøre sådaner her og så kan du også kigge text igennem en sidste gang ik' :)
og et svar er her HUSK!! at rette de steder hvor jeg har skrevet ditdomæne.dk/dinmail subject = den tekst der skal stå i emnet ved jer persons mail
<?php if ($oksend){
include ("config.php"); $conn = mysql_connect("$sqladd", "$dbuser", "$dbpass"); mysql_select_db("$dbname"); $query = mysql_query("select * from nyhedsbrev order by id") or die(mysql_error()); while($brev = mysql_fetch_array($query)){
// her starte mail sendninge til alle i databasen
// skrive din mail her
$afsender = "dinmail@ditdomæne.dk";
$recipient = "$brev[email]";
$subject = "Nyhedsbrev... fra Ditdomæne";
$message = "Hej $brev[Irl_name]<br>";
//her includer vi en fil der hedder msg.txt
$message .= "Besked: $msgbox <br>";
$headers .= "from: $afsender \n";
$headers .= "Content-type: text/html";
mail($recipient, $subject, $message, $headers);
echo "mailen er sendt til følgende:<br>$brev[email]"; } } ?> <FORM ACTION="" METHOD="post" NAME="mail"> <TEXTAREA WRAP="off" ROWS="8" COLS="40" NAME="msgbox"><?include("msg.txt");?> </TEXTAREA><br> <INPUT TYPE="submit" NAME="oksend" VALUE="Start mail sendning"> </FORM>
vil godt give ekstra points, for hvis du kan lave sådan at der kommer et (billede) "flue-ben" hvis den er modtaget, og hvis den ikke er mdotaget/sket en fejl, skal den vise et billede, et "kryds"... men det jeg vil have den til, er at den skal tjekke om den er modtaget eller om der er sket en fejl, lige nu printer den sådan her_
echo "$user[email] - $user[Irl_name] <img src='ok.jpg'><br />"; men her beholder den jo bare billede,,, og det er ikke fedt, men hvis man kan få den til at tjekke om der er en fejl ved mail og/eller sket fejl, så skal det være et kryds
Det bliver en meget langhåret affære at få den til at se hvor vidt der er noget galt, for det vil komme til at kræve at du får din mailserver og apache server til at arbejde meget mere sammen end de gør nu, du skal simpelthen gøre et eller andet med at du i mailen skriver noget kode der gør at dine modtagere vil sende en mail tilbage når de modtager emailen, så skal du have dit phpscript til at tjekke hvor vidt du har fået en mail med et givent indhold fra alle dine brugere. Som du sikkert kan fornemme vil jeg ikke mene at dette er værd at spille sin tid på, for det kræver virkeligt meget af din server og din kode ....
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.