Jump to content

PHP to generate email from form


trillodigital

Recommended Posts

Hi, I'm quite new to PHP so please forgive me if this is a bit simple!

 

I have a form on my website, which uses PHP to generate an email to me, the recipient. It works, but there are two new modifications I need help with.

 

First of all, I want the PHP to generate a 'thank you' email to the person who has submitted the email. Please could somebody show me the code, and where to add it?

 

Secondly, I want the email to come through to me from the email address of the person submitting the form (i.e. replacing the donotreply email address currently). Again, could somebody please show me how to do that?

 

Many thanks in advance

 

Here's the code:

 

<?php

// Website Contact Form Generator

// http://www.tele-pro.co.uk/scripts/contact_form/

// This script is free to use as long as you

// retain the credit link

 

// get posted data into local variables

$EmailFrom = "donotreply@simplyskillsgroup.co.uk";

$EmailTo = "robin@trillodigital.co.uk";

$Subject = "Simply Skills Franchise Application";

$name = Trim(stripslashes($_POST['name']));

$surname = Trim(stripslashes($_POST['surname']));

$telephone = Trim(stripslashes($_POST['telephone']));

$email = Trim(stripslashes($_POST['email']));

$dob = Trim(stripslashes($_POST['dob']));

$add1 = Trim(stripslashes($_POST['add1']));

$add2 = Trim(stripslashes($_POST['add2']));

$add3 = Trim(stripslashes($_POST['add3']));

$town = Trim(stripslashes($_POST['town']));

$postcode = Trim(stripslashes($_POST['postcode']));

$where = Trim(stripslashes($_POST['where']));

$employment = Trim(stripslashes($_POST['employment']));

$trade = Trim(stripslashes($_POST['trade']));

$drive = Trim(stripslashes($_POST['drive']));

$crb = Trim(stripslashes($_POST['crb']));

$firstaid = Trim(stripslashes($_POST['firstaid']));

$protect = Trim(stripslashes($_POST['protect']));

$convict = Trim(stripslashes($_POST['convict']));

$coach = Trim(stripslashes($_POST['coach']));

$other = Trim(stripslashes($_POST['other']));

$faca = Trim(stripslashes($_POST['faca']));

$other2 = Trim(stripslashes($_POST['other2']));

$other3 = Trim(stripslashes($_POST['other3']));

$hear = Trim(stripslashes($_POST['hear']));

$confirm = Trim(stripslashes($_POST['confirm']));

 

// validation

$validationOK=true;

if (Trim($email)=="") $validationOK=false;

if (!$validationOK) {

print "<meta http-equiv=\"refresh\" content=\"0;URL=http://clientzone.trillodigital.co.uk/simplyskills/error.html\">";

exit;

}

 

// prepare email body text

$Body = "";

$Body .= "PERSONAL DETAILS";

$Body .= "\n";

$Body .= "\n";

$Body .= "First Name: ";

$Body .= $name;

$Body .= "\n";

$Body .= "\n";

$Body .= "Surname: ";

$Body .= $surname;

$Body .= "\n";

$Body .= "\n";

$Body .= "Contact Number: ";

$Body .= $telephone;

$Body .= "\n";

$Body .= "\n";

$Body .= "Email: ";

$Body .= $email;

$Body .= "\n";

$Body .= "\n";

$Body .= "Date of Birth: ";

$Body .= $dob;

$Body .= "\n";

$Body .= "\n";

$Body .= "Address Line 1: ";

$Body .= $add1;

$Body .= "\n";

$Body .= "\n";

$Body .= "Address Line 2: ";

$Body .= $add2;

$Body .= "\n";

$Body .= "\n";

$Body .= "Address Line 3: ";

$Body .= $add3;

$Body .= "\n";

$Body .= "\n";

$Body .= "Town or City: ";

$Body .= $town;

$Body .= "\n";

$Body .= "\n";

$Body .= "Post Code: ";

$Body .= $postcode;

$Body .= "\n";

$Body .= "\n";

$Body .= "\n";

$Body .= "FRANCHISE DETAILS";

$Body .= "\n";

$Body .= "\n";

$Body .= "Where in the United Kingdom would you like to operate a Simply Skills franchise: ";

$Body .= $where;

$Body .= "\n";

$Body .= "\n";

$Body .= "Your current employment or business: ";

$Body .= $employment;

$Body .= "\n";

$Body .= "\n";

$Body .= "In a position to trade within: ";

$Body .= $trade;

$Body .= "\n";

$Body .= "\n";

$Body .= "Driving licence: ";

$Body .= $drive;

$Body .= "\n";

$Body .= "\n";

$Body .= "Enhanced CRB disclosure (within 3 years): ";

$Body .= $crb;

$Body .= "\n";

$Body .= "\n";

$Body .= "Current first-aid qualification (within 3 years): ";

$Body .= $firstaid;

$Body .= "\n";

$Body .= "\n";

$Body .= "Child protection training (within 3 years): ";

$Body .= $protect;

$Body .= "\n";

$Body .= "\n";

$Body .= "Any convictions that would affect your ability to work within schools: ";

$Body .= $convict;

$Body .= "\n";

$Body .= "\n";

$Body .= "\n";

$Body .= "EXPERIENCE";

$Body .= "\n";

$Body .= "\n";

$Body .= "Highest football coaching qualification: ";

$Body .= $coach;

$Body .= "\n";

$Body .= "\n";

$Body .= "Other football coaching qualifications: ";

$Body .= $other;

$Body .= "\n";

$Body .= "\n";

$Body .= "Member of the Football Association Coaches Association: ";

$Body .= $faca;

$Body .= "\n";

$Body .= "\n";

$Body .= "Other sports/disciplines you are qualified to deliver: ";

$Body .= $other2;

$Body .= "\n";

$Body .= "\n";

$Body .= "Personal qualities and experience that you feel is beneficial to operating a Simply Skills franchise: ";

$Body .= $other3;

$Body .= "\n";

$Body .= "\n";

$Body .= "\n";

$Body .= "How did you hear about Simply Skills: ";

$Body .= $hear;

$Body .= "\n";

$Body .= "\n";

$Body .= "Confirm all information provided is correct: ";

$Body .= $confirm;

 

// send email

$success = mail($EmailTo, $Subject, $Body, "From: <$EmailFrom>");

 

// redirect to success page

if ($success){

print "<meta http-equiv=\"refresh\" content=\"0;URL=http://clientzone.trillodigital.co.uk/simplyskills/thankyou.html\">";

}

else{

print "<meta http-equiv=\"refresh\" content=\"0;URL=http://clientzone.trillodigital.co.uk/simplyskills/error.html\">";

}

?>

Link to comment
Share on other sites

http://php.net/manual/en/function.mail.php

 

I have used the mail function a fair bit for simple emails. Very easy to use. Here is a sample email:

<?php
$msg_non_html = "
Thank you for you payment\r\r\n
All the best, mysite\n";

$msg_html = "
Thank you for you payment<br/><br/>
All the best";

$boundary = uniqid('np');

$to = "email address to send to";

$subject = "Thank you";

$headers = "MIME-Version: 1.0\r\n";
$headers .= "From: mysite payment page <mysite@mysite.com>\r\n";
$headers .= "nReply-To: no-reply@mysite\r\n";
$headers .= "Content-Type: multipart/alternative;boundary=" . $boundary . "\r\n";

$message = "\r\n\r\n--" . $boundary . "\r\n";
$message .= "Content-type: text/plain;charset=utf-8\r\n\r\n";
$message .= $msg_non_html;

$message .= "\r\n\r\n--" . $boundary . "\r\n";
$message .= "Content-type: text/html;charset=utf-8\r\n\r\n";
$message .= $msg_html;

$message .= "\r\n\r\n--" . $boundary . "--";

mail("$to", "$subject", "$message", "$headers");
?>

 

 

For anything more complex might be best using the http://phpmailer.worxware.com/

Link to comment
Share on other sites

add another mail function before the meta element

if ($success){
mail('recipient','title', 'body');
print "<meta http-equiv=\"refresh\" content=\"0;URL=http://clientzone.trillodigital.co.uk/simplyskills/thankyou.html\">";
}

 

and send it from another mail adress, well, it doesn't send the email actually from another adress, it just shows it, but this is how to do it

<?php
mail('test@localhost', 'Test', 'Message', 'From: Another mail address <something@somthing.com>');
?>

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.