如何在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主机”]