Beste webmasters,
Ik heb vroeger eens een nieuwsbrief script gekocht en wil deze nu gebruiken
maar als ik mijn mailing verzend ontvangen de mensen 2x de mail
ik zie echt niet wat er misloopt kunnen jullie me helpen?
Met dank
PHP Code:
<?php
include_once('includes/conn.inc.php');
$server = 'mijnwebsiteurl'; // Domein waar script bevind.
function email($to, $subject, $content, $server, $hash)
{
$from = 'emailadresvanadministrator'; // E-mail
$path = './template.html';
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=utf-8' . "\r\n";
$headers .= 'To: ' . $to . '' . "\r\n";
$headers .= 'From: ' . $from . '' . "\r\n";
$template = file_get_contents($path);
$template = str_replace('{{content}}',$content,$template);
$template = str_replace('{{footer}}','U kunt afmelden door middel van deze link: ' . $server . '/signoff.php?code=' . $hash,$template);
if(mail($to,$subject,$template,$headers))
{
return true;
}
else
{
return false;
}
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>brief</title>
<style type="text/css">
<!--
body
{
background: #F7F7F7;
font-family: Verdana, Geneva, sans-serif;
font-size: 14px;
color: #333;
}
h2
{
border-bottom: 2px solid #ccc;
width: 500px;
}
input
{
font-family: Verdana, Geneva, sans-serif;
font-size: 14px;
color: #333;
padding: 3px;
}
fieldset, legend
{
border: 0;
padding: 0;
margin: 0;
}
fieldset
{
margin-bottom: 10px;
}
-->
</style>
<!-- TinyMCE -->
<script type="text/javascript" src="/demo-nieuwsbrief/tinymce/jscripts/tiny_mce/tiny_mce.js"></script>
<script type="text/javascript">
tinyMCE.init({
// General options
mode : "textareas",
theme : "advanced",
plugins : "pagebreak,style,layer,table,save,advhr,advimage,advlink,emotions,iespell,insertdatetime,preview,media,searchreplace,print,contextmenu,paste,directionality,fullscreen,noneditable,visualchars,nonbreaking,xhtmlxtras,template,inlinepopups,autosave",
// Theme options
theme_advanced_buttons1 : "save,newdocument,|,bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull,|,styleselect,formatselect,fontselect,fontsizeselect",
theme_advanced_buttons2 : "cut,copy,paste,pastetext,pasteword,|,search,replace,|,bullist,numlist,|,outdent,indent,blockquote,|,undo,redo,|,link,unlink,anchor,image,cleanup,help,code,|,insertdate,inserttime,preview,|,forecolor,backcolor",
theme_advanced_buttons3 : "tablecontrols,|,hr,removeformat,visualaid,|,sub,sup,|,charmap,emotions,iespell,media,advhr,|,print,|,ltr,rtl,|,fullscreen",
theme_advanced_buttons4 : "insertlayer,moveforward,movebackward,absolute,|,styleprops,|,cite,abbr,acronym,del,ins,attribs,|,visualchars,nonbreaking,template,pagebreak,restoredraft",
theme_advanced_toolbar_location : "top",
theme_advanced_toolbar_align : "left",
theme_advanced_statusbar_location : "bottom",
theme_advanced_resizing : true,
// Example word content CSS (should be your site CSS) this one removes paragraph margins
content_css : "css/word.css",
// Drop lists for link/image/media/template dialogs
template_external_list_url : "lists/template_list.js",
external_link_list_url : "lists/link_list.js",
external_image_list_url : "lists/image_list.js",
media_external_list_url : "lists/media_list.js",
});
</script>
<!-- /TinyMCE -->
<script>
//==========================================
// Check All boxes
//==========================================
function CheckAll(fmobj)
{
for (var i=0;i<fmobj.elements.length;i++)
{
var e = fmobj.elements[i];
if ((e.name != 'allbox') && (e.type=='checkbox') && (!e.disabled))
{
e.checked = fmobj.allbox.checked;
}
}
}
//==========================================
// Check all or uncheck all?
//==========================================
function CheckCheckAll(fmobj)
{
var TotalBoxes = 0;
var TotalOn = 0;
for (var i=0;i<fmobj.elements.length;i++)
{
var e = fmobj.elements[i];
if ((e.name != 'allbox') && (e.type=='checkbox'))
{
TotalBoxes++;
if (e.checked)
{
TotalOn++;
}
}
}
if (TotalBoxes==TotalOn)
{
fmobj.allbox.checked=true;
}
else
{
fmobj.allbox.checked=false;
}
}
</script>
</head>
<body>
<h2>Nieuwsbrief versturen</h2>
<?php
$juist = true;
if(isset($juist))
{
if($_SERVER['REQUEST_METHOD'] == 'POST')
{
if(isset($_POST['subject']) && empty($_POST['subject']))
{
echo '<b>Je onderwerp is leeggelaten, <a href="/massmail.php">ga terug</a>.</b>';
}
elseif(isset($_POST['message']) && empty($_POST['message']))
{
echo '<b>Je bericht is leeggelaten, <a href="/massmail.php">ga terug</a>.</b>';
}
elseif(!ctype_alnum(str_replace(' ', '', $_POST['subject'])))
{
echo '<b>Je onderwerp heeft geen geldige charackers, <a href="/massmail.php">ga terug</a>.</b>';
}
else
{
if(!isset($_POST['delAnn']))
{
echo '<b>Er moet wel een bericht naar iemand toe worden gestuurd, <a href="/massmail.php">ga terug</a>.</b>';
}
else
{
foreach($_POST['delAnn'] as $id => $user)
{
$query = $mysqli->query("SELECT * FROM users WHERE id='" . $user . "'");
if(mysqli_num_rows($query) > 0)
{
$emails = '';
$row = mysqli_fetch_assoc($query);
email($row['realname'] . ' <' . $row['email'] . '>', $_POST['subject'], $_POST['message'], $server, $row['hash']);
sleep(1);
echo 'Mail verstuurd naar ' . $row['email'] . '.<br />';
}
}
echo '<br /><b>U heeft met success iedereen een e-mail verstuurd, <a href="/massmail.php">ga terug</a>.</b>';
}
}
}
else
{
?>
<form name="trackunread" id="form" method="post" action="">
<table style="margin-bottom: 10px; border-bottom: 2px solid #ccc;" width="500" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><input style="border:inset 1px;" name="allbox" type="checkbox" value="Check All" onclick="CheckAll(document.trackunread);" /></td>
<td><b>Naam</b></td>
<td><b>E-mail</b></td>
</tr>
<tr>
<td></td>
<td> </td>
<td> </td>
</tr>
<?php
$query = $mysqli->query("SELECT * FROM users");
if(mysqli_num_rows($query) > 0)
{
while($row = mysqli_fetch_assoc($query))
{
?>
<tr>
<td><input class="boxes" type="checkbox" id="check<?php echo $row['id']; ?>" value="<?php echo $row['id']; ?>" name="delAnn[]" /></td> </td>
<td width="150"><label for="check<?php echo $row['id']; ?>"><?php echo $row['realname']; ?></label></td>
<td><?php echo $row['email']; ?></td>
</tr>
<?php
}
}
?>
- Nieuwsbrief verzend 2x
-
06-03-2012, 18:16 #1
- Berichten
- 40
- Lid sinds
- 13 Jaar
Nieuwsbrief verzend 2x
-
-
06-03-2012, 19:00 #2
- Berichten
- 118
- Lid sinds
- 18 Jaar
Re: Nieuwsbrief verzend 2x
Dit is niet alles. Wat is de inhoud van de pagina, waar de nieuwsbrief vanaf wordt verstuurd.
Zet deze code
PHP Code:print_r($_POST['delAnn']);
PHP Code:else
{
if(!isset($_POST['delAnn']))
{
dus:
PHP Code:{
print_r($_POST['delAnn']);
if(!isset($_POST['delAnn']))
{
PHP Code://email($row['realname
PS: code beetje opgeschoond;
PHP Code:<?php
include_once('includes/conn.inc.php');
$server = 'mijnwebsiteurl'; // Domein waar script bevind.
function email($to, $subject, $content, $server, $hash)
{
$from = 'emailadresvanadministrator'; // E-mail
$path = './template.html';
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=utf-8' . "\r\n";
$headers .= 'To: ' . $to . '' . "\r\n";
$headers .= 'From: ' . $from . '' . "\r\n";
$template = file_get_contents($path);
$template = str_replace('{{content}}',$content,$template);
$template = str_replace('{{footer}}','U kunt afmelden door middel van deze link: ' . $server . '/signoff.php?code=' . $hash,$template);
if(mail($to,$subject,$template,$headers))
{
return true;
}
else
{
return false;
}
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>brief</title>
<style type="text/css">
<!--
body
{
background: #F7F7F7;
font-family: Verdana, Geneva, sans-serif;
font-size: 14px;
color: #333;
}
h2
{
border-bottom: 2px solid #ccc;
width: 500px;
}
input
{
font-family: Verdana, Geneva, sans-serif;
font-size: 14px;
color: #333;
padding: 3px;
}
fieldset, legend
{
border: 0;
padding: 0;
margin: 0;
}
fieldset
{
margin-bottom: 10px;
}
-->
</style>
<!-- TinyMCE -->
<script type="text/javascript" src="/demo-nieuwsbrief/tinymce/jscripts/tiny_mce/tiny_mce.js"></script>
<script type="text/javascript">
tinyMCE.init({
// General options
mode : "textareas",
theme : "advanced",
plugins : "pagebreak,style,layer,table,save,advhr,advimage,advlink,emotions,iespell,insertdatetime,preview,media,searchreplace,print,contextmenu,paste,directionality,fullscreen,noneditable,visualchars,nonbreaking,xhtmlxtras,template,inlinepopups,autosave",
// Theme options
theme_advanced_buttons1 : "save,newdocument,|,bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull,|,styleselect,formatselect,fontselect,fontsizeselect",
theme_advanced_buttons2 : "cut,copy,paste,pastetext,pasteword,|,search,replace,|,bullist,numlist,|,outdent,indent,blockquote,|,undo,redo,|,link,unlink,anchor,image,cleanup,help,code,|,insertdate,inserttime,preview,|,forecolor,backcolor",
theme_advanced_buttons3 : "tablecontrols,|,hr,removeformat,visualaid,|,sub,sup,|,charmap,emotions,iespell,media,advhr,|,print,|,ltr,rtl,|,fullscreen",
theme_advanced_buttons4 : "insertlayer,moveforward,movebackward,absolute,|,styleprops,|,cite,abbr,acronym,del,ins,attribs,|,visualchars,nonbreaking,template,pagebreak,restoredraft",
theme_advanced_toolbar_location : "top",
theme_advanced_toolbar_align : "left",
theme_advanced_statusbar_location : "bottom",
theme_advanced_resizing : true,
// Example word content CSS (should be your site CSS) this one removes paragraph margins
content_css : "css/word.css",
// Drop lists for link/image/media/template dialogs
template_external_list_url : "lists/template_list.js",
external_link_list_url : "lists/link_list.js",
external_image_list_url : "lists/image_list.js",
media_external_list_url : "lists/media_list.js",
});
</script>
<!-- /TinyMCE -->
<script>
//==========================================
// Check All boxes
//==========================================
function CheckAll(fmobj)
{
for (var i=0;i<fmobj.elements.length;i++)
{
var e = fmobj.elements[i];
if ((e.name != 'allbox') && (e.type=='checkbox') && (!e.disabled))
{
e.checked = fmobj.allbox.checked;
}
}
}
//==========================================
// Check all or uncheck all?
//==========================================
function CheckCheckAll(fmobj)
{
var TotalBoxes = 0;
var TotalOn = 0;
for (var i=0;i<fmobj.elements.length;i++)
{
var e = fmobj.elements[i];
if ((e.name != 'allbox') && (e.type=='checkbox'))
{
TotalBoxes++;
if (e.checked)
{
TotalOn++;
}
}
}
if (TotalBoxes==TotalOn)
{
fmobj.allbox.checked=true;
}
else
{
fmobj.allbox.checked=false;
}
}
</script>
</head>
<body>
<h2>Nieuwsbrief versturen</h2>
<?php
if($_SERVER['REQUEST_METHOD'] == 'POST')
{
if(isset($_POST['subject']) && empty($_POST['subject']))
{
echo '<b>Je onderwerp is leeggelaten, <a href="/massmail.php">ga terug</a>.</b>';
}
elseif(isset($_POST['message']) && empty($_POST['message']))
{
echo '<b>Je bericht is leeggelaten, <a href="/massmail.php">ga terug</a>.</b>';
}
elseif(!ctype_alnum(str_replace(' ', '', $_POST['subject'])))
{
echo '<b>Je onderwerp heeft geen geldige charackers, <a href="/massmail.php">ga terug</a>.</b>';
}
else
{
if(!isset($_POST['delAnn']))
{
echo '<b>Er moet wel een bericht naar iemand toe worden gestuurd, <a href="/massmail.php">ga terug</a>.</b>';
}
else
{
foreach($_POST['delAnn'] as $id => $user)
{
$query = $mysqli->query("SELECT DISTINCT COUNT(*) AS amount,email FROM users WHERE id='" . $user . "' GROUP BY email");
$row = mysqli_fetch_array($query);
if($row[amount] ==1){
email($row['realname'] . ' <' . $row['email'] . '>', $_POST['subject'], $_POST['message'], $server, $row['hash']);
echo 'Mail verstuurd naar ' . $row['email'] . '.<br />';
}
}
echo '<br /><b>U heeft met success iedereen een e-mail verstuurd, <a href="/massmail.php">ga terug</a>.</b>';
}
}
}
else
{
?>
<form name="trackunread" id="form" method="post" action="">
<table style="margin-bottom: 10px; border-bottom: 2px solid #ccc;" width="500" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><input style="border:inset 1px;" name="allbox" type="checkbox" value="Check All" onclick="CheckAll(document.trackunread);" /></td>
<td><b>Naam</b></td>
<td><b>E-mail</b></td>
</tr>
<tr>
<td></td>
<td> </td>
<td> </td>
</tr>
<?php
$query = $mysqli->query("SELECT id,email,realname FROM users");
while($row = mysqli_fetch_assoc($query))
{
?>
<tr>
<td><input class="boxes" type="checkbox" id="check<?php echo $row['id']; ?>" value="<?php echo $row['id']; ?>" name="delAnn[]" /></td> </td>
<td width="150"><label for="check<?php echo $row['id']; ?>"><?php echo $row['realname']; ?></label></td>
<td><?php echo $row['email']; ?></td>
</tr>
<?php
}
}
?>
-
06-03-2012, 20:34 #3
- Berichten
- 40
- Lid sinds
- 13 Jaar
Re: Nieuwsbrief verzend 2x
beste alvast bedankt
PHP Code:if(!isset($_POST['delAnn']))
{
echo '<b>Er moet wel een bericht naar iemand toe worden gestuurd, <a href="nieuwsbrief.php">ga terug</a>.</b>';
}
else
{
foreach($_POST['delAnn'] as $id => $user)
{
$query = $mysqli->query("SELECT * FROM mailusers WHERE id='" . $user . "'");
if(mysqli_num_rows($query) > 0)
{
$emails = '';
$row = mysqli_fetch_assoc($query);
//email($row['realname'] . ' <' . $row['email'] . '>', $_POST['subject'], $_POST['message'], $server, $row['hash']);
sleep(1);
echo 'Mail verstuurd naar ' . $row['email'] . '.<br />';
}
}
echo '<br /><b>U heeft met success naar deze mensen een e-mail verstuurd.</b>';
}
}
}
else
{
?>
alvast bedankt
-
07-03-2012, 00:38 #4
- Berichten
- 118
- Lid sinds
- 18 Jaar
Re: Nieuwsbrief verzend 2x
Lees nog een keer mijn post :)
Plaats een
- + Advertentie
- + Onderwerp
Marktplaats
Webmasterforum
- Websites algemeen
- Sitechecks
- Marketing
- Domeinen algemeen
- Waardebepaling
- CMS
- Wordpress
- Joomla
- Magento
- Google algemeen
- SEO
- Analytics
- Adsense
- Adwords
- HTML / XHTML
- CSS
- Programmeren
- PHP
- Javascript
- JQuery
- MySQL
- Ondernemen algemeen
- Belastingen
- Juridisch
- Grafisch ontwerp
- Hosting Algemeen
- Hardware Info
- Offtopic