944,191 Members | Top Members by Rank

Ad:
  • PHP Discussion Thread
  • Unsolved
  • Views: 42902
  • PHP RSS
May 27th, 2005
0

php mail form - need to redirect to new page

Expand Post »
I found a php mail form online that echos a text success message, but need to redirect it to a new page instead.

I love all the functions in the code except for the text echo.

I tried <input type="hidden" name="next-url" value="test.com">

and <? header(Location: file.php); ?>

but the form redirect is ignored

and the header location gives me an error of not being able to do it because header already exists

Any ideas?

Here is the code.


<html>
<head>
<title>PHP mail Form</title>

<?php
// START NECESSARY MODIFICATIONS

// your name
$recipientname = "YOUR NAME";

// your email
$recipientemail = "YOU@YOURDOMAIN.COM";

// subject of the email sent to you
$subject = "Online-Form Response for $recipientname";

// send an autoresponse to the user?
$autoresponse = "yes";

// subject of autoresponse
$autosubject = "Thank you for your mail!";

// autoresponse message
$automessage = "This is an auto response to let you know that we've successfully received your email sent through our email form. Thanks! We'll get back to you shortly.";

// thankyou displayed after the user clicks "submit"
$thanks = "Thank you for contacting us.<br>We will get back to you as soon as possible.<br>";

// END NECESSARY MODIFICATIONS

?>

</head>
<body>

<?php
if($_POST['submitform']) {

$Name = $HTTP_POST_VARS['Name'];
$Email = $HTTP_POST_VARS['Email'];
$Comments = $HTTP_POST_VARS['Comments'];

// check required fields
$dcheck = explode(",",$require);
while(list($check) = each($dcheck)) {
if(!$$dcheck[$check]) {
$error .= "Missing $dcheck[$check]<br>";
}
}

// check email address
if ((!ereg(".+\@.+\..+", $Email)) || (!ereg("^[a-zA-Z0-9_@.-]+$", $Email))){
$error .= "Invalid email address<br>";}

// display errors
if($error) {
?>
<b>Error</b><br>
<?php echo $error; ?><br>
<a href="#" onClick="history.go(-1)">try again</a>
<?php
}
else
{

$browser = $HTTP_USER_AGENT;
$ip = $REMOTE_ADDR;

// format message
$message = "Online-Form Response for $recipientname:

Name: $Name
Email: $Email

Comments: $Comments

-----------------------------

Browser: $browser
User IP: $ip";

// send mail and print success message
mail($recipientemail,"$subject","$message","From: $Name <$Email>");

if($autoresponse == "yes") {
$autosubject = stripslashes($autosubject);
$automessage = stripslashes($automessage);
mail($Email,"$autosubject","$automessage","From: $recipientname <$recipientemail>");
}

echo "$thanks";
}
}
else {
?>
<form name="contactform" action="<?php echo $PHP_SELF; ?>" method="post">
<input type="hidden" name="require" value="Name,Email,Comments">
<br>
Name <br>
<input name="Name" size="25">
<br>
<br>
E-mail<br>
<input name="Email" size="25">
<br>
<br>
Comments<br>
<textarea name="Comments" rows="5" cols="35"></textarea>
<br>
<br>
<input type="submit" value="Submit" name="submitform">
<input type="reset" value="Reset" name="reset">
</p>
<br>
</form>

<?php } ?>
</body>
</html>
Similar Threads
Reputation Points: 10
Solved Threads: 0
Newbie Poster
tomeemot is offline Offline
1 posts
since May 2005
May 29th, 2005
0

Re: php mail form - need to redirect to new page

I believe that instead of echoing the thank you message, you can have it do a redirect instead.

Change this:
[php]echo "$thanks";[/php]

To this:
[php]header("Location: page_to_redirect_to.php");[/php]
Reputation Points: 10
Solved Threads: 0
Newbie Poster
PatrickE is offline Offline
9 posts
since May 2005
May 31st, 2005
0

Re: php mail form - need to redirect to new page

You may get error message by sending header after the <head> tag. You may want to replace the redirection header with javascript below:


<script language="JavaScript" type="text/JavaScript">
<!--
window.location.href = "http://www.yourdomain.net/yourpage.html";
//-->
</script>


zippee

-------------------------
www.basket2go.net
www.store2go.net
Reputation Points: 10
Solved Threads: 7
Posting Whiz in Training
zippee is offline Offline
294 posts
since Jan 2005
Nov 17th, 2010
0
Re: php mail form - need to redirect to new page
Thank you, zippee, this really helped.
But I don't know how to make it redirect after displaying the page for a second.
Last edited by emodweb; Nov 17th, 2010 at 1:44 pm.
Reputation Points: 10
Solved Threads: 0
Newbie Poster
emodweb is offline Offline
1 posts
since Nov 2010

This thread is more than three months old

No one has posted to this discussion for at least three months. Please let old threads die and do not reply to them unless you feel you have something new and valuable to contribute that absolutely must be added to make the discussion complete. Otherwise, please start a new thread in this forum instead.
Message:
Previous Thread in PHP Forum Timeline: Images not fully rendering
Next Thread in PHP Forum Timeline: rollover of images





About Us | Contact Us | Advertise | Acceptable Use Policy
Forum Index | Build Custom RSS Feed


Follow us on Twitter


© 2011 DaniWeb® LLC