Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/237.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP保持重定向而不保存会话_Php_Session_Redirect_Cookies_Verification - Fatal编程技术网

PHP保持重定向而不保存会话

PHP保持重定向而不保存会话,php,session,redirect,cookies,verification,Php,Session,Redirect,Cookies,Verification,好的,我创建了一个年龄门,它从表单fine运行年龄计算,但是一旦它开始使用重定向,事情就变得疯狂了。首先,当我在本地主机上加载verify.php页面时,当我填写年龄信息后点击提交按钮时,它首先重新加载页面。然后我再做一次,重定向就成功了?当我访问外部网站时,它会起作用,但当我真正获得正确的年龄验证时,它会将我带到index.php,但index.php会将我再次重定向到verify.php页面,直到浏览器开始抱怨重定向cookie问题。我不明白为什么它至少暂时不创建会话 所以我在verify.

好的,我创建了一个年龄门,它从表单fine运行年龄计算,但是一旦它开始使用重定向,事情就变得疯狂了。首先,当我在本地主机上加载verify.php页面时,当我填写年龄信息后点击提交按钮时,它首先重新加载页面。然后我再做一次,重定向就成功了?当我访问外部网站时,它会起作用,但当我真正获得正确的年龄验证时,它会将我带到index.php,但index.php会将我再次重定向到verify.php页面,直到浏览器开始抱怨重定向cookie问题。我不明白为什么它至少暂时不创建会话

所以我在verify.php表单页面中有php,所以在这里它都在同一个页面上

VERIFY.PHP

<?php
session_start();

if(isset($_SESSION['verifyok']))
{
header("location: index.php");
    exit(0);
}
if(isset($_SESSION['verifyfail']))
{
header("location: http://www.centurycouncil.org/");
    exit(0);
}

if($_POST)
{
$remember = $_REQUEST ['remember'];
$day = $_POST ['day'];
$month = $_POST ['month'];
$year = $_POST ['year'];
$country = $_POST ['country'];

$birthday = mktime(0,0,0,$month,$day,$year);
$difference = time() - $birthday;
$age = floor($difference / 31556926);

if($age >= 21)
{
    $_SESSION ['verifyok'] = 1;
    header ("location: index.php");
            exit(0);
}
else
{
    $_SESSION ['verifyfail'] = 0;
    header("loaction: http://www.centurycouncil.org/");
            exit(0);
}
if($remember == 'save')
{
    setcookie("verifyok", 1,mktime(0,0,0,01,01,date("Y")+30));
    $_SESSION ['verified'] = 1;
    header("location: index.php");
    exit(0);
}
}
?>

INDEX.PHP

<?php
session_start();

if(!isset($_SESSION['verifyok'])){
header("location: verify.php");
exit;
}
?>


提前感谢您的支持

为什么要在每个
标题()上退出?
?请尝试在页面顶部手动设置会话的值,我确信您的代码在某些时候是无效的。