mail () emails uit DB gebruiken
Weer een vraagje :p. Ik heb een database met verschillende email adressen. Ik wil nu met de functie mail() een email verzenden naar al die adressen. de variabele $to moet al die adressen bevatten naar wie het bericht moet gestuurd worden. Maar hoe krijg ik al die email adressen daar in? Maw hoe stuur ik 1 bericht naar al die adressen uit men db?
Heb je het aanmeldscript ook?
haal de emails uit de database, en zet ze in een while lus en in de while lus stuur je per opgehaald email adres, daar een email heen.
Moet ik die lus laten verlopen volgens een id of gaat ie automatisch verschuiven van rij?
En gebruik geen TO maar gewoon een BCC...
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
<?
ini_set('display_errors', 1);
error_reporting(E_ALL);
$error1 = "U heeft geen onderwerp opgegeven!";
$error2 = "U heeft geen bericht ingegeven!";
$error3 = "Er kon geen verbinding gelegd worden met de database!";
$error4 = "Kon de database niet selecteren!";
$error5 = "Kon geen gegevens uit de database halen!";
$error6 = "Kon de mail niet versturen!";
$message1 = "E-mail werd succesvol verzonden!";
include 'db_settings.php';
if ($_SERVER['REQUEST_METHOD'])
{
if (!empty ($_POST['subject'])
{
if (!empty ($_POST['message'])
{
mysql_connect($hostname, $user, $password) or die($error3);
mysql_select_db($db) or die($error4);
$row_number = "0";
$row ="0";
$max_rows = mysql_num_rows or die ($error4);
while ($row_number != $max_rows)
{
$row_number = ++;
$sql = "SELECT email FROM newsletter LIMIT $row , '1'";
$to = mysql_query($sql) or die ($error5);
$sender = "[email protected]";
$name = "Beuckelaere Tom";
$headers .= "From: '".$name."' <'".$sender"'>\\n";
$headers .= "X-Sender: <'".$sender."'>\\n";
$headers .= "X-Priority: 1\\n";
$headers .= "Reply-To: <'".$sender."'>\\n";
$headers .= "Return-Path: <'".$sender."'>\\n";
$headers .= "Content-Type: text/html; charset=iso-8859-1\\n";
mail($to, $subject, $message, $headers); or die ($error6);
$row = ++;
}
}
else
{
echo $message1;
}
}
else
{
echo $error2;
}
}
else
{
echo $error1;
}
?>
ini_set('display_errors', 1);
error_reporting(E_ALL);
$error1 = "U heeft geen onderwerp opgegeven!";
$error2 = "U heeft geen bericht ingegeven!";
$error3 = "Er kon geen verbinding gelegd worden met de database!";
$error4 = "Kon de database niet selecteren!";
$error5 = "Kon geen gegevens uit de database halen!";
$error6 = "Kon de mail niet versturen!";
$message1 = "E-mail werd succesvol verzonden!";
include 'db_settings.php';
if ($_SERVER['REQUEST_METHOD'])
{
if (!empty ($_POST['subject'])
{
if (!empty ($_POST['message'])
{
mysql_connect($hostname, $user, $password) or die($error3);
mysql_select_db($db) or die($error4);
$row_number = "0";
$row ="0";
$max_rows = mysql_num_rows or die ($error4);
while ($row_number != $max_rows)
{
$row_number = ++;
$sql = "SELECT email FROM newsletter LIMIT $row , '1'";
$to = mysql_query($sql) or die ($error5);
$sender = "[email protected]";
$name = "Beuckelaere Tom";
$headers .= "From: '".$name."' <'".$sender"'>\\n";
$headers .= "X-Sender: <'".$sender."'>\\n";
$headers .= "X-Priority: 1\\n";
$headers .= "Reply-To: <'".$sender."'>\\n";
$headers .= "Return-Path: <'".$sender."'>\\n";
$headers .= "Content-Type: text/html; charset=iso-8859-1\\n";
mail($to, $subject, $message, $headers); or die ($error6);
$row = ++;
}
}
else
{
echo $message1;
}
}
else
{
echo $error2;
}
}
else
{
echo $error1;
}
?>
Help me even verder, want ik zit vast, waar zitten er fouten en wat kan er worden verbeterd, en hoe werk je met die bcc? dat weet ik niet.
thx
Parse error: syntax error, unexpected '{' in /home/compudesk/domains/computer-desk.be/public_html/newsletter/news_handler.php on line 18
Tel je haakjes! Op regels 17 en 19 missen de )-haakjes.
Notice: Use of undefined constant mysql_num_rows - assumed 'mysql_num_rows' in /home/compudesk/domains/computer-desk.be/public_html/newsletter/news_handler.php on line 27
Kon geen gegevens uit de database halen!
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
<?
ini_set('display_errors', 1);
error_reporting(E_ALL);
$error1 = "U heeft geen onderwerp opgegeven!";
$error2 = "U heeft geen bericht ingegeven!";
$error3 = "Er kon geen verbinding gelegd worden met de database!";
$error4 = "Kon de database niet selecteren!";
$error5 = "Kon geen gegevens uit de database halen!";
$error6 = "Kon de mail niet versturen!";
$message1 = "E-mail werd succesvol verzonden!";
include 'db_settings.php';
if ($_SERVER['REQUEST_METHOD'])
{
if (!empty ($_POST['subject']))
{
if (!empty ($_POST['message']))
{
mysql_connect($hostname, $user, $password) or die($error3);
mysql_select_db($db) or die($error4);
$row_number = "0";
$row ="0";
$max_rows = mysql_num_rows or die ($error4);
while ($row_number != $max_rows)
{
$row_numer = $row_number ++;
$sql = "SELECT email FROM newsletter LIMIT $row , '1'";
$to = mysql_query($sql) or die ($error5);
$sender = "[email protected]";
$name = "Beuckelaere Tom";
$headers .= "From: '".$name."' <'".$sender."'>\\n";
$headers .= "X-Sender: <'".$sender."'>\\n";
$headers .= "X-Priority: 1\\n";
$headers .= "Reply-To: <'".$sender."'>\\n";
$headers .= "Return-Path: <'".$sender."'>\\n";
$headers .= "Content-Type: text/html; charset=iso-8859-1\\n";
mail($to, $subject, $message, $headers) or die ($error6);
$row = $row ++;
}
}
else
{
echo $message1;
}
}
else
{
echo $error2;
}
}
else
{
echo $error1;
}
?>
ini_set('display_errors', 1);
error_reporting(E_ALL);
$error1 = "U heeft geen onderwerp opgegeven!";
$error2 = "U heeft geen bericht ingegeven!";
$error3 = "Er kon geen verbinding gelegd worden met de database!";
$error4 = "Kon de database niet selecteren!";
$error5 = "Kon geen gegevens uit de database halen!";
$error6 = "Kon de mail niet versturen!";
$message1 = "E-mail werd succesvol verzonden!";
include 'db_settings.php';
if ($_SERVER['REQUEST_METHOD'])
{
if (!empty ($_POST['subject']))
{
if (!empty ($_POST['message']))
{
mysql_connect($hostname, $user, $password) or die($error3);
mysql_select_db($db) or die($error4);
$row_number = "0";
$row ="0";
$max_rows = mysql_num_rows or die ($error4);
while ($row_number != $max_rows)
{
$row_numer = $row_number ++;
$sql = "SELECT email FROM newsletter LIMIT $row , '1'";
$to = mysql_query($sql) or die ($error5);
$sender = "[email protected]";
$name = "Beuckelaere Tom";
$headers .= "From: '".$name."' <'".$sender."'>\\n";
$headers .= "X-Sender: <'".$sender."'>\\n";
$headers .= "X-Priority: 1\\n";
$headers .= "Reply-To: <'".$sender."'>\\n";
$headers .= "Return-Path: <'".$sender."'>\\n";
$headers .= "Content-Type: text/html; charset=iso-8859-1\\n";
mail($to, $subject, $message, $headers) or die ($error6);
$row = $row ++;
}
}
else
{
echo $message1;
}
}
else
{
echo $error2;
}
}
else
{
echo $error1;
}
?>
Gewijzigd op 01/01/1970 01:00:00 door Tom Beuckelaere
Hier ga je de mist in, er mist een ;
Installeer eens een goede editor, dan krijg je direct een foutmelding. Eclipse doet wonderen.
Weet niemand hier verder een antwoord op?
mysql_num_rows is een functie dus met ().
Warning: Wrong parameter count for mysql_num_rows() in /home/compudesk/domains/computer-desk.be/public_html/newsletter/news_handler.php on line 28
Kon aantal rijen niet ophaleni!
Wat nu gedaan?
een resource, klinkt me niet echt bekend in de oren sorry, kmoet nog bijleren :s. Wat bedoel je er precies mee?
Net gekeken op php.net, ik begrijp het wat je bedoeld. ff proberen.
En gebruik eens een goede editor! Scheelt je honderden uren debuggen! En dan overdrijf ik niet...
$res is nu een resource (volgens mij)
Heb je BTW de pagina zelf gescript?
De pagina heb ik volledig zelf gescript. En een editor ga ik binnenkort eens hale:d.
Nu heb ik onderstaande code en krijg ik de error, dat hij geen gegevens uit men db kan halen. Dit is een error in de lus.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
<?
ini_set('display_errors', 1);
error_reporting(E_ALL);
$error1 = "U heeft geen onderwerp opgegeven!";
$error2 = "U heeft geen bericht ingegeven!";
$error3 = "Er kon geen verbinding gelegd worden met de database!";
$error4 = "Kon de database niet selecteren!";
$error5 = "Kon geen gegevens uit de database halen!".mysql_error();
$error6 = "Kon de mail niet versturen!";
$error7 = "Kon aantal rijen niet ophaleni!";
$message1 = "E-mail werd succesvol verzonden!";
include 'db_settings.php';
if ($_SERVER['REQUEST_METHOD'])
{
if (!empty ($_POST['subject']))
{
if (!empty ($_POST['message']))
{
mysql_connect($hostname, $user, $password) or die($error3);
mysql_select_db($db) or die($error4);
$row_number = "0";
$row ="0";
$count= mysql_query ("SELECT * FROM newsletter");
$max_rows= mysql_num_rows ($count) or die ($error7);
while ($row_number != $max_rows)
{
$row_numer = $row_number ++;
$sql = "SELECT email FROM newsletter LIMIT '".$row."' , '1'";
$to = mysql_query($sql) or die ($error5);
$sender = "[email protected]";
$name = "Beuckelaere Tom";
$headers .= "From: '".$name."' <'".$sender."'>\\n";
$headers .= "X-Sender: <'".$sender."'>\\n";
$headers .= "X-Priority: 1\\n";
$headers .= "Reply-To: <'".$sender."'>\\n";
$headers .= "Return-Path: <'".$sender."'>\\n";
$headers .= "Content-Type: text/html; charset=iso-8859-1\\n";
mail($to, $subject, $message, $headers) or die ($error6);
$row = $row ++;
}
}
else
{
echo $message1;
}
}
else
{
echo $error2;
}
}
else
{
echo $error1;
}
?>
ini_set('display_errors', 1);
error_reporting(E_ALL);
$error1 = "U heeft geen onderwerp opgegeven!";
$error2 = "U heeft geen bericht ingegeven!";
$error3 = "Er kon geen verbinding gelegd worden met de database!";
$error4 = "Kon de database niet selecteren!";
$error5 = "Kon geen gegevens uit de database halen!".mysql_error();
$error6 = "Kon de mail niet versturen!";
$error7 = "Kon aantal rijen niet ophaleni!";
$message1 = "E-mail werd succesvol verzonden!";
include 'db_settings.php';
if ($_SERVER['REQUEST_METHOD'])
{
if (!empty ($_POST['subject']))
{
if (!empty ($_POST['message']))
{
mysql_connect($hostname, $user, $password) or die($error3);
mysql_select_db($db) or die($error4);
$row_number = "0";
$row ="0";
$count= mysql_query ("SELECT * FROM newsletter");
$max_rows= mysql_num_rows ($count) or die ($error7);
while ($row_number != $max_rows)
{
$row_numer = $row_number ++;
$sql = "SELECT email FROM newsletter LIMIT '".$row."' , '1'";
$to = mysql_query($sql) or die ($error5);
$sender = "[email protected]";
$name = "Beuckelaere Tom";
$headers .= "From: '".$name."' <'".$sender."'>\\n";
$headers .= "X-Sender: <'".$sender."'>\\n";
$headers .= "X-Priority: 1\\n";
$headers .= "Reply-To: <'".$sender."'>\\n";
$headers .= "Return-Path: <'".$sender."'>\\n";
$headers .= "Content-Type: text/html; charset=iso-8859-1\\n";
mail($to, $subject, $message, $headers) or die ($error6);
$row = $row ++;
}
}
else
{
echo $message1;
}
}
else
{
echo $error2;
}
}
else
{
echo $error1;
}
?>