PHP-无法重定向新访问者

PHP-无法重定向新访问者,php,html,Php,Html,如果访问者未登录,我试图将索引页重定向到登录页 (INDEX.PHP) 您在检查$\u session变量后启动会话。您应该调用页面顶部的session_start() 如果他们没有登录,您不会让他们做任何事情。只需会话_start()。您可以将标题位置添加到条件的第一部分 if (!isset($_SESSION)) { session_set_cookie_params(86400); session_start(); // do something here, l

如果访问者未登录,我试图将索引页重定向到登录页

(INDEX.PHP)


您在检查$\u session变量后启动会话。您应该调用页面顶部的session_start()

如果他们没有登录,您不会让他们做任何事情。只需会话_start()。您可以将标题位置添加到条件的第一部分

if (!isset($_SESSION)) {
    session_set_cookie_params(86400);
    session_start();

    // do something here, like redirect...
    header('Location: '.$newURL);
    die();
}
else
{
    header('Location: '.$newURL);
    die();
}
但这样做没有多大意义。我不得不假设,在这种情况下,您所做的不仅仅是重定向或设置会话。见约翰·康德的评论

也许你的意思更像这样

session_start();
if (empty($_SESSION)) {
    session_set_cookie_params(86400);
    header('Location: '.$newURL);
    die();
}

由于几个原因,您的方法被禁用。为每个人启动一个会话,然后当有人通过身份验证时,设置一个特殊的会话变量。检查一下。你能举个例子吗?我已经用一个例子回答了这个问题。我只希望他们在没有登录的情况下被重定向到$newURL。看起来它将始终执行重新更新的DirectUpdate。仅当$\u会话为空时,此操作才会重定向。
session_start();
if (empty($_SESSION)) {
    session_set_cookie_params(86400);
    header('Location: '.$newURL);
    die();
}
<?php
session_start();
session_set_cookie_params(86400);
if (!isset($_SESSION['logged_in'])) {
    header('Location: '.$newURL);
    die();
}