It appears you have not yet registered with DEVPPL. To register please click here... (it's fast, easy and free!)

Forum

Log In Sponsors
Board index Programming PHP and MySQL Forum

php mail form - need to redirect to new page

Moderator: Malcolm

php mail form - need to redirect to new page

Postby tomeemot on Fri May 27, 2005 8:31 am

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>
tomeemot
 
Posts: 2
Joined: Fri May 27, 2005 8:24 am

Postby webmaster on Fri May 27, 2005 9:26 am

Hi and welcome to DEVPPL.

Here's a simple redirect script that I use:
Code: Select all
<?
$to = "file.php";
header("Location: $to");
exit;
?>


Maybe it didn't work because you didn't used exit;
Make sure to check out our TNX Review and Link Vault Review
User avatar
webmaster
Site Admin
 
Posts: 2695
Joined: Tue Aug 17, 2004 1:07 pm
Location: Sweden

Postby Kotik on Fri May 27, 2005 9:41 am

webmaster wrote:Hi and welcome to DEVPPL.

Here's a simple redirect script that I use:
Code: Select all
<?
$to = "file.php";
header("Location: $to");
exit;
?>


Maybe it didn't work because you didn't used exit;


Is that a complete code for redirecting to a new page? :shock:
DEVPPL : News Publisher
User avatar
Kotik
1000+ Club
 
Posts: 1086
Joined: Mon Aug 23, 2004 12:25 am
Location: Sweden

Postby tomeemot on Fri May 27, 2005 11:07 am

I tryed to place that code in various places in the files and I came up with an error.

Warning:
Cannot modify header information - headers already sent
tomeemot
 
Posts: 2
Joined: Fri May 27, 2005 8:24 am


Who is online

Users browsing this forum: No registered users and 0 guests