Dear friends,

Mailing list installation is giving error,(Php, Mysql)
posted below are 
error message
Script of subscribe and unsubscribe
script to send newsletter.
mysql table structure

Also is there any way I put check box on web page against each email, and 
those which user or I check only newsletter will be send to those and code 
needed 
for same.
------------------
Error message
------------------
Warning: mysql_connect(): Access denied for user: ' @localhost' (Using 
password: YES) in /home2/wwwabcde/public_html/manage.php on line 6
Access denied for user: ' @localhost' (Using password: YES)
--------------------------------------------------------------------------
Script code
--------------------------------------------------------------------------
<?php
//set up a couple of functions
function doDB() {
   global $conn;
   //connect to server and select database; you may need it
   $conn = mysql_connect("localhost", " ", " ") or die(mysql_error());
   mysql_select_db("wwwabcde_agbook1 ",$conn)  or die(mysql_error());
}

function emailChecker($email) {
   global $conn, $check_result;
   //check that email is not already in list
   $check = "select id from subscribers where email = '$email'";
   $check_result = mysql_query($check,$conn) or die(mysql_error());
}

//determine if they need to see the form or not
if ($_POST[op] != "ds") {
   //they do, so create form block
   $display_block = "
   <form method=POST action=\"$_SERVER[PHP_SELF]\">

   <p><strong>Your E-Mail Address:</strong><br>
   <input type=text name=\"email\" size=40 maxlength=150>

   <p><strong>Action:</strong><br>
   <input type=radio name=\"action\" value=\"sub\" checked> subscribe
   <input type=radio name=\"action\" value=\"unsub\"> unsubscribe

   <input type=\"hidden\" name=\"op\" value=\"ds\">

   <p><input type=submit name=\"submit\" value=\"Submit Form\"></p>
   </form>";

} else if (($_POST[op] == "ds") && ($_POST[action] == "sub")) {
    //trying to subscribe; validate email address
   if ($_POST[email] == "") {
       header("Location: manage.php");
       exit;
   }

   //connect to database
   doDB();

   //check that email is in list
   emailChecker($_POST[email]);

   //get number of results and do action
   if (mysql_num_rows($check_result) < 1) {
        //add record
        $sql = "insert into subscribers values('', '$_POST[email]')";
        $result = mysql_query($sql,$conn) or die(mysql_error());
        $display_block = "<P>Thanks for signing up!</P>";
   } else {
       //print failure message
       $display_block = "<P>You're already subscribed!</P>";
   }
} else if (($_POST[op] == "ds") && ($_POST[action] == "unsub")) {
   //trying to unsubscribe; validate email address
   if ($_POST[email] == "") {
       header("Location: manage.php");
       exit;
   }


   //connect to database
   doDB();

   //check that email is in list
   emailChecker($_POST[email]);

   //get number of results and do action
   if (mysql_num_rows($check_result) < 1) {
       //print failure message
       $display_block = "<P>Couldn't find your address!</P>
       <P>No action was taken.</P>";
   } else {
       //unsubscribe the address
       $id = mysql_result($check_result, 0, "id");
       $sql = "delete from subscribers where id = '$id'";
       $result = mysql_query($sql,$conn) or die(mysql_error());
       $display_block = "<P>You're unsubscribed!</p>";
   }
}
?>
<HTML>
<HEAD>
<TITLE>Subscribe/Unsubscribe</TITLE>
</HEAD>
<BODY>
<h1>Subscribe/Unsubscribe</h1>
<?php echo "$display_block"; ?>
</BODY>
</HTML>
------------------------------------------------------------------------------
--
script which brings up user interface to send newsletter
------------------------------------------------------------------------------

<?php
if ($_POST[op] != "send") {
   //haven't seen the form, so show it
   print "
   <HTML>
   <HEAD>
   <TITLE>Send a Newsletter</TITLE>
   </HEAD>
   <BODY>
   <h1>Send a Newsletter</h1>
   <form method=\"post\" action=\"$_SERVER[PHP_SELF]\">
   <P><strong>Subject:</strong><br>
   <input type=\"text\" name=\"subject\" size=30></p>
   <P><strong>Mail Body:</strong><br>
   <textarea name=\"message\" cols=50 rows=10 wrap=virtual></textarea>
   <input type=\"hidden\" name=\"op\" value=\"send\">
   <p><input type=\"submit\" name=\"submit\" value=\"Send It\"></p>
   </FORM>
   </BODY>
   </HTML>";

} else if ($_POST[op] == "send") {
    //want to send form, so check for required fields
    if (($_POST[subject] =="") || ($_POST[message] == "")) {
       header("Location: sendmymail.php");
       exit;
   }

   //connect to database
   $conn = mysql_connect("localhost", " asifqureshi", "asif") or 
die(mysql_error());
   mysql_select_db("wwwabcde_agbook1 ",$conn)  or die(mysql_error());

   //get emails from subscribers list
   $sql = "select email from subscribers";
   $result = mysql_query($sql,$conn) or die(mysql_error());

   //create a From: mailheader
   $headers = "From: Your Mailing List <[EMAIL PROTECTED]>\n";

   //loop through results and send mail
   while ($row = mysql_fetch_array($result)) {
       set_time_limit(0);
       $email = $row['email'];
       mail("$email", stripslashes($_POST[subject]), 
stripslashes($_POST[message]), $headers);
       print "newsletter sent to: $email<br>";
   }
}
?>


------------------------------------------------------------------------------
-------------------
mysql structure
-------------------------------
    mysql> create table subscribers(
     id     int(11)     No  null primary key    auto_increment                  
        
     email  varchar(150)      unique not null
      );
        


Reply via email to