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

当访问一个页面时,我想开始一个会话并存储一个会话variables:

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

然后从另一个页面,我想检查,如果该会话variables已被存储:

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

这段代码对我不起作用。

从这个问题的评论推理,似乎缺乏一个调整session.save_path导致PHP的会话处理程序的这种不正常的行为。 只需指定一个目录(位于文档根目录之外),PHP目前可读写,以解决这个问题。

所有你想要做的是写— session_start(); —–在这两个页面上

 <!-- first page --> <?php session_start(); $_SESSION['myvar'] = 'hello'; ?> <!-- second page --> <?php session_start(); echo $_SESSION['myvar']; // it will print hello ?> 

会议一步一步

  1. 在一切之前定义会话,没有输出应该在那之前, 没有输出

     <?php session_start(); ?> 
  2. 在页面中设置会话,然后在该页面中访问。 例如,这是页面1.php

     <?php //This is page 1 and then we will use session that defined from this page: session_start(); $_SESSION['email']='email@example.com'; ?> 
  3. 2.php中使用和获取会话

      <?php //In this page I am going to use session: session_start(); if($_SESSION['email']){ echo 'Your Email Is Here! :) '; } ?> 

注意 :注释没有输出。

如果第二个页面没有共享访问会话cookie的可能性,则需要使用session_set_cookie_params设置会话cookiepath:

 <?php session_set_cookie_params( $lifetime, '/shared/path/to/files/' ); session_start(); $_SESSION['myvar']='myvalue'; 

 <?php session_set_cookie_params( $lifetime, '/shared/path/to/files/' ); session_start(); echo("1"); if(isset($_SESSION['myvar'])) { echo("2"); if($_SESSION['myvar'] == 'myvalue') { echo("3"); exit; } } 

每次开始会话(适用于PHP 5.2.54版本), session_start()都会创build一个新的会话ID。

这是为我工作的修复程序。

File1.php

 session_id('mySessionID'); //SET id first before calling session start session_start(); $name = "Nitin Hurkadli"; $_SESSION['username'] = $name; 

File2.php

 session_id('mySessionID'); session_start(); $name = $_SESSION['username']; echo "Hello " . $name; 

开始会话:

把下面的代码放在文件的顶部。

 <?php session_start();?> 

存储会话variables:

 <?php $_SESSION['id']=10; ?> 

要检查会话variables中是否存储了数据:

 <?php if(isset($_SESSION['id']) && !empty(isset($_SESSION['id']))) echo “Session id “.$_SESSION['id'].” exist”; else echo “Session not set “;?> 

?>详细在这里http://skillrow.com/sessions-in-php-4/

尝试这个

第一页

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

第二页

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

尝试这个:

 <!-- first page --> <?php session_start(); session_register('myvar'); $_SESSION['myvar'] == 'myvalue'; ?> <!-- second page --> <?php session_start(); echo("1"); if(session_is_registered('myvar')) { echo("2"); if($_SESSION['myvar'] == 'myvalue') { echo("3"); exit; } } ?>