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 = "[email protected]";

$EmailTo = "[email protected]";

$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
https://forums.phpfreaks.com/topic/231509-php-to-generate-email-from-form/
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 <[email protected]>\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/

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 <[email protected]>');
?>

Archived

This topic is now archived and is closed to further replies.

×
×
  • 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.