Avatar billede chatonline Nybegynder
24. august 2004 - 13:57 Der er 13 kommentarer og
1 løsning

Send e-mail via. MYSQL informationer

Hej,
jeg har en lang bruger liste hvor at tabellen ser sådan ud:
id  rang  user  password  navn  email 

Det script jeg søger skal virke således, at når jeg har skrevet titel og tekst i nogle text felter og trykker udfør. Så skal scriptet sende en e-mail til alle på bruger listen.
Avatar billede chatonline Nybegynder
24. august 2004 - 16:10 #2
Ja, det hjalp en del. Har fundet frem til dette stykke script:


mysql_connect($sql_host,$sql_user,$sql_passwd)or die (mysql_error());
mysql_select_db($db)or die (mysql_error());
$result = mysql_query(\"SELECT * FROM adresseliste\");
while ($row = mysql_fetch_array($result)){
mail($row[\"email\"],\"$vedr\",$besked,\"From: nyheder@ThotsNet.dk\");
}

jeg er ikke en haj til php og mysql. Men kan se at denne går ind i adresseliste og sender mail's. Men kan ikke finde ud af om den sender til alle i adresselisten og $vedr er titel.
Avatar billede hmortensen Nybegynder
24. august 2004 - 16:31 #3
Det gør den og vedr er titel.

du kan evt. kigge på:
http://dk2.php.net/manual/en/function.mail.php
Avatar billede chatonline Nybegynder
24. august 2004 - 16:42 #4
Okay, nu hedder tabellen users og der er disse felter i:
id  rang  user  password  navn  email 

Dvs. at den skal ind og tage alle e-mail adresser fra email og putte ind i $row[\"email\"]

Men hvordan får jeg den til det? Det skal lige siges, at det er ikke alle brugerne der har udfyldt e-mail.
Avatar billede hmortensen Nybegynder
24. august 2004 - 16:52 #5
Noget i den her retning skulle kunne gøre det:

mysql_connect($sql_host,$sql_user,$sql_passwd)or die (mysql_error());
mysql_select_db($db)or die (mysql_error());

$result = mysql_query("SELECT email FROM users WHERE email LIKE '%@%'");
while ($row = mysql_fetch_array($result)){
    mail($row["email"],$titel,$besked,"From: din@email.dk");
}
Avatar billede chatonline Nybegynder
24. august 2004 - 17:06 #6
<?php
        $side = "..";
        require "$side/funcs.php";
  $side_titel = "Søgeresultat";
        $hvor = "<b>" . $side_titel . "</b>";
        include "$side/includes/header.php";
?>
<?
mysql_connect($sql_host,$sql_user,$sql_passwd)or die (mysql_error());
mysql_select_db($db)or die (mysql_error());

$result = mysql_query("SELECT email FROM users WHERE email LIKE '%@%'");
while ($row = mysql_fetch_array($result)){
    mail($row["email"],$titel,$besked,"From: din@email.dk");
}
?>

Kan det gøre det tror du?
Men den skal vel have en side hvor informationerne kommer fra.
Avatar billede hmortensen Nybegynder
24. august 2004 - 17:08 #7
Har du en side hvor du har formen til at skrive titel og tekst i ?
Avatar billede chatonline Nybegynder
24. august 2004 - 17:09 #8
Nej, men kan lige lave en..
Avatar billede chatonline Nybegynder
24. august 2004 - 17:13 #9
<form method="post" action="send.php" name="send">
<table width="50%" cellspacing="1" cellpadding="2" class="tabelBox">
<tr class="tr">
<td align="center">
Skriv meddelse:</td></tr>
<tr><td align="center">
<table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse; border-width: 0" bordercolor="#111111" width="100%" id="AutoNumber1">
  <tr>
    <td width="21%" style="border-style: none; border-width: medium">Titel:</td>
    <td width="79%" style="border-style: none; border-width: medium">
    <input type="text" name="$titel" size="20"></td>
  </tr>
  <tr>
    <td width="21%" style="border-style: none; border-width: medium">Besked:</td>
    <td width="79%" style="border-style: none; border-width: medium">
    <textarea rows="2" name="$besked" cols="20"></textarea></td>
  </tr>
</table>
</td>
</tr>
<tr><td align="center">
<input class="rbutton" type="submit" value="Udfør" /></td>
</tr></table></form>
Avatar billede hmortensen Nybegynder
24. august 2004 - 17:22 #10
Så laver du en side som denne der hedder send.php:
<?php
$sql_host    =    "ip";
$sql_user    =    "brugernavn";
$sql_passwd    =    "kodeord";
$db        =    "database";
$ur_email    =    "din@email.dk";

mysql_connect($sql_host,$sql_user,$sql_passwd)or die (mysql_error());
mysql_select_db($db)or die (mysql_error());

$result = mysql_query("SELECT email FROM users WHERE email LIKE '%@%'");
while ($row = mysql_fetch_array($result)){
    mail($row["email"],$_POST["titel"],$_POST["besked"],"From: ".$ur_email);
}
?>

Du skal lige rette i din form. Der skal ikke $ foran navnet på felterne.
Avatar billede chatonline Nybegynder
24. august 2004 - 17:35 #11
Yes! Det virker bare 100% Tak for hjælpen! Tilføj lige svar..
Avatar billede hmortensen Nybegynder
24. august 2004 - 17:44 #12
Det var så lidt
Avatar billede chatonline Nybegynder
24. august 2004 - 17:46 #13
Tror der er lidt problemer, har lige kontaktet en som også er på listen men han har ikke fået den mail som jeg sendte med scriptet.
Avatar billede chatonline Nybegynder
24. august 2004 - 17:53 #14
Virker alligevel, han fik den :-)
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester