【发布时间】:2015-09-03 15:51:37
【问题描述】:
我有一个联系表格,验证完成后,我希望它重定向到另一个 messageSent.php 文件。我认为使用 include 会起作用,但这只会添加有关联系人页面的整个页面。
我读到使用 header() 函数来重定向页面。但所有示例都显示使用实时站点 url 位置。我的文件都是内部的,我正在本地测试。
如何正确调用 header() 函数以重定向到我的根文件夹中的页面?
PHP:
if(!empty($_POST)){
$POST = filter_post($_POST);
$invoice = array_splice($POST,3,1);
$MSG = check_empty($POST);
$email = test_input($_POST["email"]);
if(!array_filter($MSG)){
if(!filter_var($email, FILTER_VALIDATE_EMAIL)){
$MSG[] = "Invalid Email Format (test@provider.com)";
}
else{
$POST['invoice'] = $invoice['invoice'];
if(send_mail($POST)){
include '/Users/orobosaenagbare/Dropbox/Websites/Se7en Service/messageSent.php';
}
else{
$MSG[] = "Email Failed";
}
}
}
}
【问题讨论】:
-
你用
header('Location: path');发送的路径可以是相对的:header('Location: messageSent.php'); -
完美运行。谢谢!
-
但是一旦我把它全部上线,像“localhost:8888/contact.php”这样的网址就不能通用了。只是想尽量减少和错误的道路。 @Popnoodles
-
通常使用每个安装唯一的配置文件,其中包含主机名等内容(也可以使用
$_SERVER['HTTP_HOST']接收) -
@samlev 如果它是不同的文件夹/子怎么办?例如。我的登录名是 site.com/login,但如果我输入 Location: home 然后它会尝试登录/home