jjfletcher90 Posted July 16, 2011 Share Posted July 16, 2011 Hello all... Need your help please! Is it possible to have the website administrator receive an email that a customer has registered for my Members Area? Is this accomplished with the Register.php file or is this only done through the MYSQL Database? The customer is sent an email of the event - yet the admin has to go to the database manually to see if someone has registered ... not very efficient... Here is my Register.PHP file ... <? include 'db.php'; // Define post fields into simple variables $first_name = $_POST['first_name']; $last_name = $_POST['last_name']; $email_address = $_POST['email_address']; $username = $_POST['username']; $info = $_POST['info']; /* Let's strip some slashes in case the user entered any escaped characters. */ $first_name = stripslashes($first_name); $last_name = stripslashes($last_name); $email_address = stripslashes($email_address); $username = stripslashes($username); $info = stripslashes($info); /* Do some error checking on the form posted fields */ if((!$first_name) || (!$last_name) || (!$email_address) || (!$username)){ echo 'You did not submit the following required information! <br />'; if(!$first_name){ echo "First Name is a required field. Please enter it below.<br />"; } if(!$last_name){ echo "Last Name is a required field. Please enter it below.<br />"; } if(!$email_address){ echo "Email Address is a required field. Please enter it below.<br />"; } if(!$username){ echo "Desired Username is a required field. Please enter it below.<br />"; } include 'join_form.html'; // Show the form again! /* End the error checking and if everything is ok, we'll move on to creating the user account */ exit(); // if the error checking has failed, we'll exit the script! } /* Let's do some checking and ensure that the user's email address or username does not exist in the database */ $sql_email_check = mysql_query("SELECT email_address FROM users WHERE email_address='$email_address'"); $sql_username_check = mysql_query("SELECT username FROM users WHERE username='$username'"); $email_check = mysql_num_rows($sql_email_check); $username_check = mysql_num_rows($sql_username_check); if(($email_check > 0) || ($username_check > 0)){ echo "Please fix the following errors: <br />"; if($email_check > 0){ echo "<strong>Your email address has already been used by another member in our database. Please submit a different Email address!<br />"; unset($email_address); } if($username_check > 0){ echo "The username you have selected has already been used by another member in our database. Please choose a different Username!<br />"; unset($username); } include 'join_form.html'; // Show the form again! exit(); // exit the script so that we do not create this account! } /* Everything has passed both error checks that we have done. It's time to create the account! */ /* Random Password generator. We'll generate a random password for the user and encrypt it, email it and then enter it into the db. */ function makeRandomPassword() { $salt = "abchefghjkmnpqrstuvwxyz0123456789"; srand((double)microtime()*1000000); $i = 0; while ($i <= 7) { $num = rand() % 33; $tmp = substr($salt, $num, 1); $pass = $pass . $tmp; $i++; } return $pass; } $random_password = makeRandomPassword(); $db_password = md5($random_password); // Enter info into the Database. $info2 = htmlspecialchars($info); $sql = mysql_query("INSERT INTO users (first_name, last_name, email_address, username, password, info, signup_date) VALUES('$first_name', '$last_name', '$email_address', '$username', '$db_password', '$info2', now())") or die (mysql_error()); if(!$sql){ echo 'There has been an error creating your account. Please contact the webmaster.'; } else { $userid = mysql_insert_id(); // Let's mail the user! $subject = "Membership Area"; $message = "Dear $first_name $last_name, Thank you for registering at our website, http://www.website.com! You are two steps away from logging in and accessing our exclusive members area. To activate your membership, please click here: http://www.website.com/members/Members_ ... b_password Once you activate your memebership, you will be able to login with the following information: Username: $username Password: $random_password Thanks! The Webmaster This is an automated response, please do not reply!"; mail($email_address, $subject, $message, "From: Webmaster<[email protected]>\nX-Mailer: PHP/" . phpversion()); echo 'Your membership access is now being created and will be completed within minutes - information will be emailed to you with your activation instructions! If you have any additional questions please call XXX-XXX-XXXX'; } ?> Thanks... John Link to comment https://forums.phpfreaks.com/topic/242141-sending-email-to-admin-once-customer-registers-help/ Share on other sites More sharing options...
Jeffro Posted July 16, 2011 Share Posted July 16, 2011 Hi John, I may be the worst php guy around, so if nothing else, I'll provide a bump for you. I just added the following to my post.php page (accessed after the user hits submit on the form): mail('[email protected]', 'My subject', 'the message', null,'[email protected]'); I stuck it right before doing the db insert and I confirmed that it shot me an email. So maybe I'm misunderstanding you, but using this and simply substituting variables in there should do the trick? Kind regards, Link to comment https://forums.phpfreaks.com/topic/242141-sending-email-to-admin-once-customer-registers-help/#findComment-1243561 Share on other sites More sharing options...
TeNDoLLA Posted July 16, 2011 Share Posted July 16, 2011 How can this Jeffro's example work at all(?) You are giving NULL as 4th parameter which is the place for the email headers. And according to php's manual you MUST give atleast the From: <[email protected]> header. Link to comment https://forums.phpfreaks.com/topic/242141-sending-email-to-admin-once-customer-registers-help/#findComment-1243564 Share on other sites More sharing options...
Jeffro Posted July 16, 2011 Share Posted July 16, 2011 How can this Jeffro's example work at all(?) You are giving NULL as 4th parameter which is the place for the email headers. And according to php's manual you MUST give atleast the From: <[email protected]> header. It uses the additional_parameters parameter. http://php.net/manual/en/function.mail.php .....tested it, and it worked. I'm giving it the -f (from) paramater right after the NULL. This TeNDoLLA can try it and see. Link to comment https://forums.phpfreaks.com/topic/242141-sending-email-to-admin-once-customer-registers-help/#findComment-1243565 Share on other sites More sharing options...
TeNDoLLA Posted July 16, 2011 Share Posted July 16, 2011 Yeah noticed, forget what I said above. Link to comment https://forums.phpfreaks.com/topic/242141-sending-email-to-admin-once-customer-registers-help/#findComment-1243566 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.