View Single Post
Old 07-24-2013, 07:23 AM  
Dankasaur
So Fucking Fossilized
 
Industry Role:
Join Date: Sep 2011
Posts: 1,432
Quote:
Originally Posted by eMonk View Post
Here's my code:

PHP Code:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Control Panel</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link href="../style.css" rel="stylesheet" type="text/css">
</head>

<body class="text">
<h1>Pending Ads</h1>
<form action="" method="post">

<?php

include("../includes/connect.php");

$query_1 "SELECT id, name, last_updated FROM model WHERE status = 'Pending' ORDER BY last_updated DESC";
$result_1 $db->query($query_1);

$num_results $result_1->num_rows;

echo 
"<p>Number of results found: ".$num_results."</p>";

for (
$i=0$i <$num_results$i++) {
  
$row $result_1->fetch_assoc();
  
$id $row['id'];
  
$name $row['name'];
  
$date $row['last_updated'];

  echo 
"<hr>";
  echo 
"<table width=\"450\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">";
  echo 
"<tr>";
  echo 
"<td><input name=\"checkbox[]\" type=\"checkbox\" id=\"checkbox[]\" value=\"".$id."\"></td>";
  echo 
"<td>";
  echo 
"<b>id:</b> $id<br>";
  echo 
"<b>name:</b> $name<br>";
  echo 
"<b>date:</b> $date<br>";
  echo 
"<a href=\"update.php?id=$id\" target=\"_blank\">Edit</a>";
  echo 
"</td>";
  echo 
"</tr>";
  echo 
"</table>";  
}

?>

<p><hr><input type="submit" name="approve" value="Approve"> <input type="submit" name="delete" value="Delete"></p>

<?php

include('../pear/Mail-1.2.0b1/Mail.php');

$error 0;

if (isset(
$_POST['approve']) && $num_results 0)
{
foreach (
$_POST['checkbox'] as $index => $val)
{
$query_2 "SELECT account_id, name, email, DATE_FORMAT(expiry_date, '%b %e, %Y') AS expiry_date_formatted FROM model WHERE id = $val AND status = 'Pending' ";
$result_2 $db->query($query_2);

$list $result_2->fetch_assoc();
$account_id $list['account_id'];

$query_3 "UPDATE model SET status = 'Active' WHERE id = $val AND status = 'Pending' ";
$result_3 $db->query($query_3);

$password substr(md5(uniqid(rand(),1)),rand(0,21),8);

$query_4 "UPDATE member SET password = sha1('$password') WHERE model_id = $val AND account_id = $account_id ";
$result_4 $db->query($query_4);

// This part isn't sending out emails
$recipients "".$list['email']."";

$headers['From']    = "[email protected]";
$headers['To']      = "".$list['email']."";
$headers['Subject'] = "Hello Hello Hello!";

$body "Hi ".$list['name'].",\n\n" .
        
"Account Number: ".$list['account_id']."\n\n" .
        
"Password: ".$password."\n\n" .
        
"Expiry Date: ".$list['expiry_date_formatted']."\n\n" .
        
"Regards,\n" .
        
"Admin";

$params['sendmail_path'] = "/usr/lib/sendmail";

// Create the mail object using the Mail::factory method
$mail_object =& Mail::factory('sendmail'$params);

$mail_object->send($recipients$headers$body);
}
}
if (
$result_1 && $result_2 && $result_3 && $result_4 && $error == 0)
{
echo 
"<meta http-equiv=\"refresh\" content=\"0;URL=pending-ads.php\">";
}
?>
</form>
</body>
</html>
Why aren't emails being sent out in the foreach loop? I can't seem to figure it out. Any ideas?
Like stated above, do some error handling, and also just use PHP's built in mail() function, it works great. Also it's best to not loop and mail, but to create BCC list by imploding your recipients list and send out that way in one single blast.

If you'd like I can create a custom script for you, or fix this one for $65/hr. Just hit me up. Contact info in signature.
Dankasaur is offline   Share thread on Digg Share thread on Twitter Share thread on Reddit Share thread on Facebook Reply With Quote