如何跨页面使用存储和使用会话变量?

当访问一个页面时,我希望启动一个会话并存储一个会话变量:

<?php
  session_start(); 
  $_SESSION['myvar']='myvalue';?>

然后,从另一页中,我想检查会话变量是否已经存储:

<?php
    session_start();
    echo("1");
    if(isset($_SESSION['myvar']))
    {
        echo("2");
       if($_SESSION['myvar'] == 'myvalue')
       {
           echo("3");
           exit;
       }
    }
    ?>

这个代码对我不起作用。


慕姐4208626
浏览 424回答 3
3回答

BIG阳

从对这个问题的评论来看,似乎缺乏一个经过调整的问题。会话.保存路径导致PHP会话处理程序的这种错误行为。只需指定一个存在的目录(在文档根目录之外),PHP就可以读取和写入该目录来修复这个问题。

UYOU

会话一步在定义会话之前,任何输出都不应该在此之前,无输出<?php session_start();?>在页面中设置会话,然后访问该页面。例如,这是第1.php页<?php&nbsp;&nbsp;&nbsp;//This&nbsp;is&nbsp;page&nbsp;1&nbsp;and&nbsp;then&nbsp;we&nbsp;will&nbsp;use&nbsp;session&nbsp;that&nbsp;defined&nbsp;from&nbsp;this&nbsp;page: &nbsp;&nbsp;&nbsp;&nbsp;session_start(); &nbsp;&nbsp;&nbsp;&nbsp;$_SESSION['email']='email@example.com';?>中的会话使用和获取2.php&nbsp;<?php//In&nbsp;this&nbsp;page&nbsp;I&nbsp;am&nbsp;going&nbsp;to&nbsp;use&nbsp;session: &nbsp;&nbsp;session_start(); &nbsp;&nbsp;if($_SESSION['email']){ &nbsp;&nbsp;echo&nbsp;'Your&nbsp;Email&nbsp;Is&nbsp;Here!&nbsp;&nbsp;:)&nbsp;'; &nbsp;&nbsp;} &nbsp;?>注注释没有输出。

开心每一天1111

在第二个页面没有对会话cookie的共享访问的可能性中,您需要使用会话集cookie参数:<?php session_set_cookie_params(&nbsp;$lifetime,&nbsp;'/shared/path/to/files/'&nbsp;);session_start();$_SESSION['myvar']='myvalue';和<?php session_set_cookie_params(&nbsp;$lifetime,&nbsp;'/shared/path/to/files/'&nbsp;);session_start();echo("1");if(isset($_SESSION['myvar'])){ &nbsp;&nbsp;&nbsp;&nbsp;echo("2"); &nbsp;&nbsp;&nbsp;if($_SESSION['myvar']&nbsp;==&nbsp;'myvalue') &nbsp;&nbsp;&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo("3"); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exit; &nbsp;&nbsp;&nbsp;}}
打开App,查看更多内容
随时随地看视频慕课网APP