如何在PHP中重定向?
在过去的一个小时里,我一直在网上搜索,但没有一个解决方案对我有效 我的注册或登录功能都不会重定向 在设置标题之前,我不会做任何回音 我当前的代码:如何在PHP中重定向?,php,redirect,Php,Redirect,在过去的一个小时里,我一直在网上搜索,但没有一个解决方案对我有效 我的注册或登录功能都不会重定向 在设置标题之前,我不会做任何回音 我当前的代码: <?php require_once($_SERVER["DOCUMENT_ROOT"].'/Model/User/UserDto.php'); require_once($_SERVER["DOCUMENT_ROOT"].'/Model/FacadeFactory.php'); $action = $_GET['ac
<?php
require_once($_SERVER["DOCUMENT_ROOT"].'/Model/User/UserDto.php');
require_once($_SERVER["DOCUMENT_ROOT"].'/Model/FacadeFactory.php');
$action = $_GET['action'];
$action();
function signUp() {
$email = $_POST['email'];
$password = $_POST['password'];
$userDto = new UserDto($email, $password);
FacadeFactory::getDomainFacade()->signUp($userDto);
FacadeFactory::getDomainFacade()->login($userDto);
$location = sprintf("Location: %s%s",$_SERVER["HTTP_HOST"], "/View/Dashboard");
header($location);
exit();
}
function login() {
$email = $_POST['email'];
$password = $_POST['password'];
$userDto = new UserDto($email, $password);
FacadeFactory::getDomainFacade()->login($userDto);
$location = sprintf("Location: %s%s",$_SERVER["HTTP_HOST"], "/View/Dashboard");
ob_start();
header($location);
exit();
}
?>
$\u服务器[“HTTP\u主机”]
在您的头('Location:')中是不必要的。
。您可以省略它,使用标题(“位置:/View/Dashboard”)代码>和设置错误报告(E\u ALL)时代码>和ini\u集('display\u errors',1)代码>,您不会收到关于“已发送邮件头”的警告?请删除退出()另外,打印$location中的内容。实际上,退出是正常的。永远无法触及,但它不会伤害你。在重定向后退出/返回实际上是一种最佳实践。这将确保header()
中的错误不允许您的代码继续运行,即使它不应该继续。@Joey:您可以在重定向中使用http\U主机/“视图/仪表板”可以正常工作。在本地系统中测试时,有时未设置$u服务器[“HTTP\U主机”]