问题描述
我创建了一个时事通讯,我想在提交表单后重定向 我的 PHP 将电子邮件保存到 MysqL 服务器但没有重定向到新页面 这里我的 PHP 代码是
<?PHP
include_once("Config.PHP");
$email_access = new Config();
if(isset($_POST['email_data_values'])){
$n_email = $_POST['email_data_values'];
$email = $email_access->htmlfilter($n_email);
if(preg_match('/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/',$email)){
$email_field['email'] = $email;
$email_check = $email_access->email_exits("email",$email_field);
$redirect_url = "https://www.rambletravels.in/win/";
if($email_check){
$insert = $email_access->insert("email",$email_field);
if($insert){
echo "You email is Registered Speen to Win Prize ";
header("Location: $redirect_url");
}
else{
echo "Not Subscribed";
return false;
}
}
else{
echo "You Have Already entered For Prize";
return false;
}
}
else{
if(!preg_match('/^(([^<>()\[\]\\.,$email)){
echo "Please Enter a Valid Email";
return false;
}
}
}
?>
解决方法
在 echo
之前不能有输出 header
。
有关 php.net