Jump to content

PHP Form AutoResponder


casmoedesigns

Recommended Posts

Ok..... I'm stuck on something here. I have a form for a client of mine and he wants the form to be able to grab the email the users input into the form, and then be able to send an auto response to that email inputted.

 

I've figured out how to make it work, but I just cant get the php code to grab the email put in by the user.

 

This is what I have:

 

<?php

//--------------------------Set these paramaters--------------------------

 

// Subject of email sent to you.

$subject = 'First Saturdays Guestlist';

 

// Your email address. This is where the form information will be sent.

$emailadd = 'guestlist@thefirstsaturdays.com';

 

// Where to redirect after form is processed.

$url = 'http://www.google.com';

 

// Makes all fields required. If set to '1' no field can not be empty. If set to '0' any or all fields can be empty.

$req = '0';

 

// Email address put into Email Field<br />

$email_field = "Email"; <--------(If I put my email address here it works, so I just need the code that goes here to grab the email the users put in on the form)

// --------------------------Do not edit below this line--------------------------

$auto_respond_subject = 'Thank you for contacting us!';

$auto_respond_body = "Thank you getting in touch with us!\nWe aim to respond to all enquiries within 24hours etc etc \n = line break";

mail($email_field, $auto_respond_subject, $auto_respond_body);

$text = "Results from form:\n\n";

$space = ' ';

$line = '

';

foreach ($_POST as $key => $value)

{

if ($req == '1')

{

if ($value == '')

{echo "$key is empty";die;}

}

$j = strlen($key);

if ($j >= 20)

{echo "Name of form element $key cannot be longer than 20 characters";die;}

$j = 20 - $j;

for ($i = 1; $i <= $j; $i++)

{$space .= ' ';}

$value = str_replace('\n', "$line", $value);

$conc = "{$key}:$space{$value}$line";

$text .= $conc;

$space = ' ';

}

mail($emailadd, $subject, $text, 'From: '.$emailadd.'');

echo '<META HTTP-EQUIV=Refresh CONTENT="0; URL='.$url.'">';

?>

Link to comment
Share on other sites

Sorry about that.....

 

Here is my form code:

 

<CODE>

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />

<title>Untitled Document</title>

<style type="text/css">

<!--

.style1 {font-family: Calibri}

-->

</style>

</head>

 

<body>

<form id="form1" name="form1" method="post" action="http://www.thefirstsaturdays.com/CasimerTestWork.php">

  <table width="25%" border="0">

    <tr>

      <td width="31%"><div align="right"><span class="style1">Name:</span></div></td>

      <td width="69%"><label>

        <input name="Name" type="text" class="style1" id="Name" size="30" />

      </label></td>

    </tr>

    <tr>

      <td><div align="right"><span class="style1">Email:</span></div></td>

      <td><label>

        <input name="Email" type="text" class="style1" id="Email" size="30" />

      </label></td>

    </tr>

    <tr>

      <td> </td>

      <td><div align="right">

        <label>

        <input name="Submit2" type="reset" class="style1" value="Reset" />

        <input name="Submit" type="submit" class="style1" value="Submit" />

        </label>

      </div></td>

    </tr>

  </table>

</form>

</body>

</html>

</CODE>

Link to comment
Share on other sites

so change

 

$email_field = "Email";

 

to

 

$email_field = $_POST["Email"];

 

 

and you done :)

 

 

Thank you, that worked! ;D Now my problem is when the person receives an email back from us, the address says "nobody@aurora.dnsprotect.com". Is there any way to change that to say "guestlist@thefirstsaturdays.com"?

Link to comment
Share on other sites

wrong use of variables in your mail form:

(and I organized the code some)

<?php
//--------------------------Set these paramaters--------------------------

// Subject of email sent to you.
$subject = 'First Saturdays Guestlist';

// Your email address. This is where the form information will be sent.
$emailadd = 'guestlist@thefirstsaturdays.com';

// Where to redirect after form is processed.
$url = 'http://www.google.com';

// Makes all fields required. If set to '1' no field can not be empty. If set to '0' any or all fields can be empty.
$req = '0';

// Email address put into Email Field

$email_field = $_POST["Email"]; //<--------(If I put my email address here it works, so I just need the code that goes here to grab the email the users put in on the form)

// --------------------------Do not edit below this line--------------------------
$auto_respond_subject = 'Thank you for contacting us!';
$auto_respond_body = "Thank you getting in touch with us!\nWe aim to respond to all enquiries within 24hours etc etc \n = line break";
mail($email_field, $auto_respond_subject, $auto_respond_body);
$text = "Results from form:\n\n";
$space = ' ';
$line = '
';
foreach ($_POST as $key => $value)
{
if ($req == '1')
{
	if ($value == '')
	{
		echo "$key is empty";
		die;
	}
}
$j = strlen($key);
if ($j >= 20)
{
	echo "Name of form element $key cannot be longer than 20 characters";
	die;
}
$j = 20 - $j;
for ($i = 1; $i <= $j; $i++)
{
	$space .= ' ';
}
$value = str_replace('\n', "$line", $value);
$conc = "{$key}:$space{$value}$line";
$text .= $conc;
$space = ' ';
}
mail($email_field, $subject, $text, "From: $emailadd");
echo '<META HTTP-EQUIV=Refresh CONTENT="0; URL='.$url.'">';
?>

Link to comment
Share on other sites

I was thinking, maybe you guys werent understanding what I was looking for. I am asking how do I change the email address that the user will see. In other words, if my buddy went to the form, typed in his name and email address, the autoresponder would hit my server then bounce something back to his email box. What I need to change is the email address that appears in his email box. Right now it is saying "nobody@aurora.dnsprotect.com". That is wrong! The subject field is right but not the email that is bouncing back. Can you guys please help. Thanks!!!!  :)

 

Here is my PhP Code:

<?php
//--------------------------Set these paramaters--------------------------

// Subject of email sent to you.
$subject = 'First Saturdays Guestlist'; 

// Your email address. This is where the form information will be sent. 
$emailadd = 'guestlist@thefirstsaturdays.com'; 

// Where to redirect after form is processed. 
$url = 'http://www.google.com'; 

// Makes all fields required. If set to '1' no field can not be empty. If set to '0' any or all fields can be empty.
$req = '0'; 

// Email address put into Email Field<br />
$email_field = $_POST["Email"];

// --------------------------Do not edit below this line--------------------------<br />
$auto_respond_subject = 'First Saturdays Guest List!';
$auto_respond_body = "Thank you! Your request to be on the Guest List has been recieved.";
mail($email_field, $auto_respond_subject, $auto_respond_body);  
$text = "Results from form:\n\n"; 
$space = ' ';
$line = '
';
foreach ($_POST as $key => $value)
{
if ($req == '1')
{
if ($value == '')
{echo "$key is empty";die;}
}
$j = strlen($key);
if ($j >= 20)
{echo "Name of form element $key cannot be longer than 20 characters";die;}
$j = 20 - $j;
for ($i = 1; $i <= $j; $i++)
{$space .= ' ';}
$value = str_replace('\n', "$line", $value);
$conc = "{$key}:$space{$value}$line";
$text .= $conc;
$space = ' ';
}
mail($emailadd, $subject, $text, 'From: guestlist@thefirstsaturdays.com');
echo '<META HTTP-EQUIV=Refresh CONTENT="0; URL='.$url.'">';
?>

Link to comment
Share on other sites

Hey guys, I've finally figured it out myself. lol

 

All I had to do was add this:

$headers = "From: guestlist@thefirstsaturdays.com\r\nReply-To: guestlist@thefirstsaturdays.com";
mail($email_field, $auto_respond_subject, $auto_respond_body, $headers);

 

So the complete code, with everything working correctly is:

<?php
//--------------------------Set these paramaters--------------------------

// Subject of email sent to you.
$subject = 'First Saturdays Guestlist'; 

// Your email address. This is where the form information will be sent. 
$emailadd = 'guestlist@thefirstsaturdays.com'; 

// Where to redirect after form is processed. 
$url = 'http://www.thefirstsaturdays.com'; 

// Makes all fields required. If set to '1' no field can not be empty. If set to '0' any or all fields can be empty.
$req = '0'; 

// Email address put into Email Field.
$email_field = $_POST["Email"];

// --------------------------Do not edit below this line--------------------------<br />
$auto_respond_subject = 'First Saturdays Guest List!';
$auto_respond_body = "Thank you! Your request to be on the Guest List has been received.";
$headers = "From: guestlist@thefirstsaturdays.com\r\nReply-To: guestlist@thefirstsaturdays.com";
mail($email_field, $auto_respond_subject, $auto_respond_body, $headers);  
$text = "Results from form:\n\n"; 
$space = ' ';
$line = '
';
foreach ($_POST as $key => $value)
{
if ($req == '1')
{
if ($value == '')
{echo "$key is empty";die;}
}
$j = strlen($key);
if ($j >= 20)
{echo "Name of form element $key cannot be longer than 20 characters";die;}
$j = 20 - $j;
for ($i = 1; $i <= $j; $i++)
{$space .= ' ';}
$value = str_replace('\n', "$line", $value);
$conc = "{$key}:$space{$value}$line";
$text .= $conc;
$space = ' ';
}
mail($emailadd, $subject, $text, 'From: guestlist@thefirstsaturdays.com');
echo '<META HTTP-EQUIV=Refresh CONTENT="0; URL='.$url.'">';
?>

 

Hopefully this thread will help others..............  ;D

Link to comment
Share on other sites

  • 2 weeks later...

If you have a form on your website, just put the location of the php file on your server in the form tag. OR if you're using Dreamweaver, locate the form tag, click in it, and on the bottom you should see a box called "Action", Put the php file location in that box.

 

It will transmit any information that is in the form. Just be sure to change the emails because I dont want to be getting any from your website. lol

 

could you pleeeeeeeease tell me where should i put this php code exactly in my site to have an auto responder,thanks in advance,but please hurry up as i need it badly:)

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.