Jump to content

send email to array


searls03

Recommended Posts

Ok I have a code for email here:

<?php
if($_POST['submit']){
$to = "$member[email]";
	// Change this to your site admin email
	$from = "announcements@troop78.infiniteserve.com";
	$subject = "You have a new message waiting on your dashboard!";
	//Begin HTML Email Message where you need to change the activation URL inside
	$message = 'Hello, You have a new message awaiting on your dashboard.  Please login with your userid to see more.  Thank you.';
	// end of message
	$headers = "From: $from\r\n";
	$headers .= "Content-type: text/html\r\n";
	$to = "$to";
	// Finally send the activation email to the member
	mail($to, $subject, $message, $headers);
	// Then print a message to the browser for the joiner 


}
	?>

then I have a list of recipients for messages.  This code will select who will post a message on the user's dashboard.  the ultimate goal is that an email will be sent out to whoever is selected too......so that they know there is a message.  here is the code.....I don't know if it is written properly:

<?php    
    
    $select = mysql_query("SELECT * FROM members") or die(mysql_error());
    while ($member = mysql_fetch_array($select)) {
        echo '<input type="checkbox" name="user[]" value="'.$member[name].'"><input type="hidden" name="email[]" value="'.$member[email].'">'.$member[name].'<br>';
    }
    
?>

Link to comment
Share on other sites

Something like this?

 

if(isset($_REQUEST['task'])) {
   case 'email_recipients':
        $result = email_recipients($_REQUEST['member_emails']);
         //add error checking
         print '<h3>Emails sent out successfully</h3>';
   break;
}


function email_recipients($email_array) {
  if(is_array($email_array)) {
   $headers = //blah;
   $subject = blah;
   $from = blah;
    foreach($email_array as $recip_email) {
         mail($recip_email, etc);
    }

  }
}

print '
<form action = "" method = "post" >';

$res = mysql_query("SELECT * FROM members") or die(mysql_error());
while ($member = mysql_fetch_array($res)) {
    print '<input type = "checkbox" name = "member_emails[]" value = "'.$member['email'].'" /> '.$member['email'].' <br/>';
}

print '
<input type = "hidden" name = "task" value = "email_recipients" />

<input type = "submit" value = "submit" />
</form>';

Link to comment
Share on other sites

You'd be better off using BCC headers if you're going to do a mass email.  Calling the mail() function X amount of times will just make your script X times slower.

 

BCC stands for Blind Carbon Copy if you didn't already know.  if you want the other users to see all the subscribers then just use CC

so for instance, with your code

    foreach($email_array as $recip_email) {
         $headers .= "\r\nBCC:" . $recip_email . "\r\n";
    }

 

Then just put the headers variable in your ONE mail function.

 

 

Link to comment
Share on other sites

I get an error saying unexpected t_CASE on line 59......

 

<?php
session_start(); // Must start session first thing
/* 
Created By Adam Khoury @ www.flashbuilding.com 
-----------------------June 20, 2008----------------------- 
*/
// Here we run a login check
if (!isset($_SESSION['id'])) { 
   echo 'Please <a href="/login.php">log in</a> to access your account';
   exit(); 
}

//Connect to the database through our include 
include_once "connect_to_mysql.php";
// Place Session variable 'id' into local variable
$userid = $_SESSION['id'];
?>
<?php
// Query member data from the database and ready it for display
$sql = mysql_query("SELECT * FROM members WHERE userid='$userid' LIMIT 1");
while($row = mysql_fetch_array($sql)){
$name = $row["name"];
$phone = $row["phone"];
$username = $row["username"];
$address = $row["address"];
$city = $row["city"];
$state = $row["state"];
$zip = $row["zip"];
$cell = $row["cell"];
$email = $row["email"];
$accounttype = $row["accounttype"];
$rank = $row["rank"];
$badges = $row["badges"];
}
?>
<?php
if ($_POST[user]){
    foreach ($_POST[user] as $key => $value){
    
    // [..] code that adds the message to the database

        $content = $_POST['content'];
        $from = $_POST['from'];
        $subject = $_POST['title'];
    
    $query ="insert into messages(title, content, recipient, from1) VALUES ('$subject', '$content', '$value','$from')";



mysql_query($query) or die('Error, query failed');



}
}
?>
<?php
if(isset($_REQUEST['task'])) {
   case 'email_recipients':
        $result = email_recipients($_REQUEST['member_emails']);
         //add error checking
         print '<h3>Emails sent out successfully</h3>';
   break;
}


function email_recipients($email_array) {
  if(is_array($email_array)) {
   $headers = //blah;
   $subject = blah;
   $from = blah;
    foreach($email_array as $recip_email) {
         mail($recip_email, etc);
    }

  }
}

print '
<form action = "" method = "post" >';

$res = mysql_query("SELECT * FROM members") or die(mysql_error());
while ($member = mysql_fetch_array($res)) {
    print '<input type = "checkbox" name = "member_emails[]" value = "'.$member['email'].'" /> '.$member['email'].' <br/>';
}

print '
<input type = "hidden" name = "task" value = "email_recipients" />

<input type = "submit" value = "submit" />
</form>';

	?>
<!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"><!-- InstanceBegin template="/Templates/template2.dwt.php" codeOutsideHTMLIsLocked="false" -->
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<!-- InstanceBeginEditable name="doctitle" -->
<title>Untitled Document</title>
<!-- InstanceEndEditable -->
<style type="text/css">


body {
background-image: url(button/boyscout1.png);
background-repeat: no-repeat;
position: relative;
}
#menu {
position:relative;
left:160px;
top:0px;
width:931px;
height:59px;
z-index:19;

}
#menu #MenuBar1 li a {
color: #000;
border-top-style: outset;
border-right-style: outset;
border-bottom-style: outset;
border-left-style: outset;
width: 100px;
}

#status {
position:relative;
left:16px;
top:180px;
width:124px;
height:44px;
z-index:14;
}


</style>
<script src="SpryAssets/SpryMenuBar.js" type="text/javascript"></script>
<script type="text/javascript">
function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}
</script>
<!-- InstanceBeginEditable name="head" -->


<style type="text/css">

#editregion {
position:absolute;
left:-8px;
top:272px;
width:1293px;
height:51px;
z-index:1;
clear: none;
float: none;
}

body {
background-image: url(file:///Macintosh HD/Users/aaron/Downloads/memberSystemBasic 4/button/boyscout1.png);
background-repeat: no-repeat;
position: relative;
}
#menu {
position:relative;
left:160px;
top:0px;
width:931px;
height:59px;
z-index:19;

}
#menu #MenuBar1 li a {
color: #000;
border-top-style: outset;
border-right-style: outset;
border-bottom-style: outset;
border-left-style: outset;
width: 100px;
}

#status {
position:relative;
left:16px;
top:180px;
width:124px;
height:44px;
z-index:14;
}


</style>
<script src="SpryAssets/SpryMenuBar.js" type="text/javascript"></script>
<script src="Scripts/tiny_mce/tiny_mce.js" type="text/javascript"></script>
<script type="text/javascript">
function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}
</script>
<style type="text/css">
body {
background-image: url(button/boyscout1.png);
}
</style>
<link href="SpryAssets/SpryMenuBarHorizontal.css" rel="stylesheet" type="text/css" />
<style type="text/css">
#logout {
position:relative;
left:0px;
top:0pxpx;
width:134px;
height:38px;
z-index:20;
font-weight: bold;
font-size: 24px;
}
#logout a {
color: #000;
}


#status {
text-align: center;
}
#logout1 {
position:absolute;
left:1071px;
top:191px;
width:224px;
height:61px;
z-index:2;
}
#menu2 {
position:absolute;
left:-1px;
top:172px;
width:497px;
height:92px;
z-index:20;
}
#footer {
position:fixed;
left:-10px;
top:0px2
width:1290px;
height:63px;
z-index:200;
color: #000;
background-color: #000;
right: 0px;
bottom: 0px;
}
</style>
<script type="text/xml">
<!--
<oa:widgets>
  <oa:widget wid="2204022" binding="#postContent" />
</oa:widgets>
-->
</script>
<!-- InstanceEndEditable -->
<!-- InstanceParam name="id" type="text" value="apDiv6" -->
<link href="SpryAssets/SpryMenuBarHorizontal.css" rel="stylesheet" type="text/css" />
<style type="text/css">
#logout {
position:relative;
left:0px;
top:0pxpx;
width:134px;
height:38px;
z-index:20;
font-weight: bold;
font-size: 24px;
}
#logout a {
color: #000;
}


#status {
text-align: center;
}
#logout1 {
position:absolute;
left:1071px;
top:191px;
width:224px;
height:61px;
z-index:2;
}
#menu2 {
position:absolute;
left:-1px;
top:172px;
width:497px;
height:92px;
z-index:20;
}

    * {
    padding: 0;
    }
    html, body {
    height: 100%;
    }
    .wrapper {
    min-height: 100%;
    height: auto !important;
   height: 100%;
   padding: 0 auto -4em;
   }
   .footer, .push {
   height: 4em;
   clear: both;
   
   }

</style>
</head>
<body>
<div id="menu2"><div id="menu">
  <ul id="MenuBar1" class="MenuBarHorizontal">
    <li><a href="myprofile.php">My Profile</a>    </li>
    <li><a href="register.php">Register</a></li>
    <li><a href="dashboard.php">Dashboard</a>    </li>
    <li><a href="news.php">News</a></li>
    <?php if ($accounttype == "Admin") {
?>
    <li><a href="membermanager.php">Scout Manager</a></li>
    <li><a href="eventmanager.php">Event Manager</a></li>
    <li><a href="newsmanager.php">News Manager</a></li>
  </ul><?php
}
?><?php if ($accounttype == "Scout Master") {
?>
    <li><a href="membermanager.php">Scout Manager</a></li>
    <li><a href="eventmanager.php">Event Manager</a></li>
    <li><a href="newsmanager.php">News Manager</a></li>
  </ul><?php
}
?>
</div></div>
<div id="logout1"><div id="logout"><a href="logout.php">Logout</a></div></div>
<div id="status"><?php echo "$accounttype"; ?>
  <br /><?php echo "$name"; ?>
  <p> </p>
</div><br /><br /><br /><br /><br /><br /><br /><br /><br />
<br />
<br />


<!-- InstanceBeginEditable name="EditRegion3" -->
<form id="form1" name="form1" method="post" action="newmess.php">
   <center> <table width="323" border="0" cellspacing="2" cellpadding="2">
      <tr>
        <th width="58" scope="col">Subject:
        <label for="subject"></label></th>
        <td width="245" scope="col"><input type="text" name="title" id="subject" /></td>
      </tr>
      <tr>
        <th> </th>
        <td>
       </td>
      </tr>
      <tr>
        <th>
          Recipient(s):<br /></th>
        <td><?php    
    
    $select = mysql_query("SELECT * FROM members") or die(mysql_error());
    while ($member = mysql_fetch_array($select)) {
        echo '<input type="checkbox" name="user[]" value="'.$member[name].'"><input type="hidden" name="email[]" value="'.$member[email].'">'.$member[name].'<br>';
    }
    
?></td>
      </tr>
      <tr>
        <td><label for="content2">Content:</label></td>
        <td><script type="text/javascript">
// BeginOAWidget_Instance_2204022: #postContent

tinyMCE.init({
	// General options
	mode : "exact",
	elements : "postContent",
	theme : "advanced",
	skin : "default",
	plugins : "pagebreak,style,layer,table,save,advhr,advimage,advlink,emotions,iespell,inlinepopups,insertdatetime,preview,media,searchreplace,print,contextmenu,paste,directionality,fullscreen,noneditable,visualchars,nonbreaking,xhtmlxtras,template,wordcount,advlist,autosave",

	// Theme options
	theme_advanced_buttons1 : "save,newdocument,print,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,media,|,forecolor,backcolor,|,insertdate,inserttime,",
	theme_advanced_buttons3 : "hr,cite,abbr,acronym,del,ins,sub,sup,visualchars,nonbreaking,charmap,emotions,ltr,rtl,|,code,preview,fullscreen,help,cleanup,removeformat,|,styleprops,attribs,",
	theme_advanced_buttons4 : "tablecontrols,visualaid,|,insertlayer,moveforward,movebackward,absolute,visualaid,|,template,pagebreak,restoredraft,",
	theme_advanced_toolbar_location : "top",
	theme_advanced_toolbar_align : "left",
	theme_advanced_statusbar_location : "bottom",
	theme_advanced_resizing : true,

	// Example content CSS (should be your site CSS)
	content_css : "/css/editor_styles.css",

	// Drop lists for link/image/media/template dialogs, You shouldn't need to touch this
	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",

	// Style formats: You must add here all the inline styles and css classes exposed to the end user in the styles menus
	style_formats : [
		{title : 'Bold text', inline : 'b'},
		{title : 'Red text', inline : 'span', styles : {color : '#ff0000'}},
		{title : 'Red header', block : 'h1', styles : {color : '#ff0000'}},
		{title : 'Example 1', inline : 'span', classes : 'example1'},
		{title : 'Example 2', inline : 'span', classes : 'example2'},
		{title : 'Table styles'},
		{title : 'Table row 1', selector : 'tr', classes : 'tablerow1'}
	]
});

// EndOAWidget_Instance_2204022
        </script>
          <!-- Textarea gets replaced with TinyMCE, remember HTML in a textarea should be encoded -->
          <textarea id="postContent" name="content" rows="15" style="width:80%"></textarea></td>
      </tr>
      <tr>
        <td><input type="hidden" name="from" id="from" value='<?php echo $name; ?>' /></td>
        <td><input type="submit" name="submit" id="submit" value="Post" /></td>
      </tr>
    </table></center>
    <p> </p>
    <p> </p>
    <p> </p>
    <p> </p>
  </form>
<!-- InstanceEndEditable -->
<div class="push"></div></div>
<div class="footer"><?php if($accounttype == "Admin"){include_once "footer-ad.php";}else if($accounttype == "Scout Master"){ include_once "footer-ad.php";} else if($accounttype == "Scout") {
include_once "footer-sc.php"; 
}
?>
</div>

<script type="text/javascript">
var MenuBar1 = new Spry.Widget.MenuBar("MenuBar1", {imgDown:"../SpryAssets/SpryMenuBarDownHover.gif", imgRight:"../SpryAssets/SpryMenuBarRightHover.gif"});
</script>
</body>
<!-- InstanceEnd --></html>

 

is this the way I would set the code up?

Link to comment
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.