0

我在下面使用这个 PHP 表单 - 如何将其更改为重定向而不是打开显示“已发送消息”的空白页面?

<?php

if(!$_POST) exit;

$email = $_POST['email'];


//$error[] = preg_match('/\b[A-Z0-9._%-]+@[A-Z0-9.-]+\.[A-Z]{2,4}\b/i',
$_POST['email']) ? '' : 'INVALID EMAIL ADDRESS';
if(!eregi("^[a-z0-9]+([_\\.-][a-z0-9]+)*" ."@"."([a-z0-9]+([\.-][a-z0-9]+)*)+"."\\.[a
z]{2,}"."$",$email )){
$error.="Invalid email address entered";
$errors=1;
}
if($errors==1) echo $error;
else{
$values = array ('name','email','message');
$required = array('name','email','message');

$your_email = "laurafoley@mac.com";
$email_subject = "New Message Help Hershey: ".$_POST['subject'];
$email_content = "new message:\n";

foreach($values as $key => $value){
  if(in_array($value,$required)){
    if ($key != 'subject' && $key != 'company') {
      if( empty($_POST[$value]) ) { echo 'PLEASE FILL IN REQUIRED FIELDS';
exit; }
    }
    $email_content .= $value.': '.$_POST[$value]."\n";
  }
}

if(@mail($your_email,$email_subject,$email_content)) {
    echo 'Message sent!'; 
} else {
    echo 'ERROR!';
}
}
?>

我不知道是否只是更改 echo 'Message Sent' 行或如何更改它以便重定向到感谢页面或返回主页

4

1 回答 1

3

你所要做的就是改变你的echo 'Message sent!';线路。

尝试以下操作:

if(@mail($your_email,$email_subject,$email_content)) {
     header("Location: your_page.com/");
} else {
    echo 'ERROR!';
}

您可以header在 PHP 手册的页面中阅读更多相关信息。

于 2013-06-11T20:54:47.073 回答