Registration that sends details to two e-mails

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • abramfas
    New Member
    • May 2013
    • 9

    Registration that sends details to two e-mails

    Code:
    <?php
    if(isset($_POST['email'])) {
        
    	require_once 'functions.php';
        // EDIT THE 2 LINES BELOW AS REQUIRED
        $email_to = "bolarinwaab@gmail.com";
        $email_subject = "Registration Information";
         
         
        function died($error) {
            // your error code can go here
            echo "We are very sorry, but there were error(s) found with the form you submitted. ";
            echo "These errors appear below.<br /><br />";
            echo $error."<br /><br />";
            echo "Please go back and fix these errors.<br /><br />";
            die();
        }
         
        // validation expected data exists
        if(
    	!isset($_POST['tittle']) ||
    	!isset($_POST['surname']) ||
            !isset($_POST['firstname']) ||
    		!isset($_POST['noofchildren']) ||
    		!isset($_POST['email']) ||
    		!isset($_POST['phoneno']) || 
    		!isset($_POST['residentialaddress']) ||
    		!isset($_POST['state']) ||
    		!isset($_POST['country']) ||
            !isset($_POST['yearofgrad']) ||
            !isset($_POST['department']) ||
    		!isset($_POST['company']) ||
            !isset($_POST['attendance'])) {
            died('We are sorry, but there appears to be a problem with the form you submitted.');       
        }
        $tittle=$_POST['tittle'];
        $firstname = $_POST['surname']; // required
        $lastname = $_POST['firstname']; // required
    	$midname=$_post['middlename'];
    	//$status=$_post['maritalstatus'];
    	$children=$_post['noofchildren'];
        $email= $_POST['email']; // required
        $phoneno = $_POST['phone']; // not required
    	$address = $_POST['residentialaddress']; // not required
    	$state = $_POST['state']; // not required
    	$country = $_POST['country']; // not required
    	$yearofgrad = $_POST['yearofgrad']; //required
    	$department = $_POST['department']; // not required
    	$company = $_POST['company']; // not required
    	$attendace = $_POST['attendance']; // not required
     
         
        $error_message = "";
        $email_exp = '/^[A-Za-z0-9._%-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}$/';
      if(!preg_match($email_exp,$email)) {
        $error_message .= 'The Email Address you entered does not appear to be valid.<br />';
      }
        $string_exp = "/^[A-Za-z .'-]+$/";
      if(!preg_match($string_exp,$firstname)) {
        $error_message .= 'The Surname you entered does not appear to be valid.<br />';
      }
      if(!preg_match($string_exp,$lastname)) {
        $error_message .= 'The Firstname you entered does not appear to be valid.<br />';
      }
       /*if(!preg_match($string_exp,$midname)) {
        $error_message .= 'The Middlename you entered does not appear to be valid.<br />';
      }*/
       /*if(!preg_match($string_exp,$status)) {
        $error_message .= 'The Marital Status you entered does not appear to be valid.<br />';
      }*/
      
       if(!preg_match($string_exp,$address)) {
        $error_message .= 'The Residential Address you entered does not appear to be valid.<br />';
      }
      
       if(!preg_match($string_exp,$department)) {
        $error_message .= 'The Department name you entered does not appear to be valid.<br />';
      }
      if(strlen($company) < 2) {
        $error_message .= 'The Company Name you entered do not appear to be valid.<br />';
      }
      if(strlen($error_message) > 0) {
        died($error_message);
      }
        $email_message = "Form details below.\n\n";
         
        function clean_string($string) {
          $bad = array("content-type","bcc:","to:","cc:","href");
          return str_replace($bad,"",$string);
        }
          $email_message .= "Tittle: ".clean_string($tittle)."\n";
          $email_message .= "Surname: ".clean_string($surname)."\n";
          $email_message .= "Firstname: ".clean_string($firstname)."\n";
    	  $email_message .= "Middlename: ".clean_string($middlename)."\n";
    	  //$email_message .= "Marital Status: ".clean_string($maritalstatus)."\n";
    	  $email_message .= "No of Children: ".clean_string($noofchildren)."\n";
          $email_message .= "Email: ".clean_string($email_from)."\n";
          $email_message .= "Telephone: ".clean_string($phoneno)."\n";
          $email_message .= "Residential Address: ".clean_string($residentialaddress)."\n";
    	  $email_message .= "State: ".clean_string($state)."\n";
          $email_message .= "Country: ".clean_string($country)."\n";
          $email_message .= "Year Of Graduation: ".clean_string($yearofgrad)."\n";
          $email_message .= "Department: ".clean_string($department)."\n";
          $email_message .= "Company: ".clean_string($company)."\n";
    	  $email_message .= "Attendace: ".clean_string($attendace)."\n";
         
         //Call the email function to perform the mail sending
         sendGMail($email_message, $email_subject, $email_to);
    	 
    // create email headers
    /*$headers = 'From: '.$email_from."\r\n".
    'Reply-To: '.$email_from."\r\n" .
    'X-Mailer: PHP/' . phpversion();
    @mail($email_to, $email_subject, $email_message, $headers);  */
    
    ?>
     
    <!-- include your own success html here -->
     
    Thank you for contacting us. We will be in touch with you very soon.
     
    <?php
    }
    ?>
    I have tried using this code but it seems not to be sending the mail @ all... I need your help guys thanks.
    Last edited by Rabbit; May 31 '13, 04:37 PM. Reason: Please use code tags when posting code.
  • Luuk
    Recognized Expert Top Contributor
    • Mar 2012
    • 1043

    #2
    There is a 'CODE'-tag, please us it..... ;)

    At line #3: you write: "require_on ce 'functions.php' ;"
    The contents of 'functions.php' are needed to know what this line does: line #??: "sendGMail($ema il_message, $email_subject, $email_to);"

    You probably just need to enable error notifications, see here to know why this fails....

    Comment

    • abramfas
      New Member
      • May 2013
      • 9

      #3
      Code:
      <?php
      	//Function to send email via smtp
          function sendMail($message, $subject, $recipient)
      	{
      		require_once('class.phpmailer.php');
      		//include("class.smtp.php"); // optional, gets called from within class.phpmailer.php if not already loaded
      		
      		$mail = new PHPMailer(true); // the true param means it will throw exceptions on errors, which we need to catch
      		
      		$mail->IsSMTP(); // telling the class to use SMTP
      		
      		try {
      			$mail->Host       = "mail.yourdomain.com"; // SMTP server
      			$mail->SMTPDebug  = 2;                     // enables SMTP debug information (for testing)
      			$mail->SMTPAuth   = true;                  // enable SMTP authentication
      			$mail->Host       = "mail.yourdomain.com"; // sets the SMTP server
      			$mail->Port       = 26;                    // set the SMTP port for the GMAIL server
      			$mail->Username   = "yourname@yourdomain"; // SMTP account username
      			$mail->Password   = "yourpassword";        // SMTP account password
      			$mail->AddAddress('whoto@otherdomain.com', 'John Doe');
      			$mail->SetFrom('name@yourdomain.com', 'First Last');
      			$mail->AddReplyTo('name@yourdomain.com', 'First Last');
      			$mail->Subject = 'PHPMailer Test Subject via mail(), advanced';
      			$mail->AltBody = 'To view the message, please use an HTML compatible email viewer!'; // optional - MsgHTML will create an alternate automatically
      			$mail->MsgHTML($message);
      			$mail->Send();
      			echo "Message Sent OK</p>\n";
      		} catch (phpmailerException $e) {
      		  	echo $e->errorMessage(); //Pretty error messages from PHPMailer
      		} catch (Exception $e) {
      		  	echo $e->getMessage(); //Boring error messages from anything else!
      		}
      	}
      	//Function to send email via gmail account
      	function sendGMail($message, $subject, $recipient)
      	{
      		require_once('lib/phpmailer/class.phpmailer.php');		
      		$mail = new PHPMailer(true); // the true param means it will throw exceptions on errors, which we need to catch		
      		$mail->IsSMTP(); // telling the class to use SMTP		
      		try {
      		 // $mail->Host       = "mail.yourdomain.com"; // SMTP server
      		  	$mail->SMTPDebug  = 2;                     // enables SMTP debug information (for testing)
      		  	$mail->SMTPAuth   = true;                  // enable SMTP authentication
      		  	$mail->SMTPSecure = "ssl";                 // sets the prefix to the servier
      		  	$mail->Host       = "smtp.gmail.com";      // sets GMAIL as the SMTP server
      		  	$mail->Port       = 465;                   // set the SMTP port for the GMAIL server
      		  	$mail->Username   = "bolarinwaab@gmail.com";  // GMAIL username
      		  	$mail->Password   = "password";            // GMAIL password
      		  	$mail->AddAddress($recipient, '');
      		  	$mail->SetFrom('accoutid@gmail.com', 'name of account');
      		  	//$mail->AddReplyTo('accountid@gmail.com', 'name of account');
      		  	$mail->Subject = $subject;
      		  	$mail->AltBody = 'To view the message, please use an HTML compatible email viewer!';
      		  	$mail->MsgHTML($message);
      		  	$mail->Send();
      		} catch (phpmailerException $e) {
      		  	echo $e->errorMessage(); //Pretty error messages from PHPMailer
      		} catch (Exception $e) {
      		  	echo $e->getMessage(); //Boring error messages from anything else!
      		}
      	}
      ?>

      Hi luuk this is the fuction.php file
      Last edited by Rabbit; Jun 2 '13, 04:53 AM. Reason: Please use code tags when posting code. Second warning.

      Comment

      • Oralloy
        Recognized Expert Contributor
        • Jun 2010
        • 988

        #4
        abramfas,

        Will you please use [CODE] tags, so that we can read your code as you wrote it, rather than with spaces compressed?

        This is a BB Code list, so you can see all of the tags and how to use them.

        Thanks,
        Oralloy

        Comment

        Working...