当访问一个页面时,我想开始一个会话并存储一个会话变量:
<?php
session_start();
$_SESSION['myvar']='myvalue';
?>
然后从另一个页面,我想检查是否已存储该会话变量:
<?php
session_start();
echo("1");
if(isset($_SESSION['myvar']))
{
echo("2");
if($_SESSION['myvar'] == 'myvalue')
{
echo("3");
exit;
}
}
?>
此代码对我不起作用。
答案 0 :(得分:22)
在所有内容之前定义会话,之前不应输出 NO OUTPUT
<?php
session_start();
?>
在页面中设置会话,然后您可以访问该页面。例如,这是第1.pp页
<?php
//This is page 1 and then we will use session that defined from this page:
session_start();
$_SESSION['email']='email@example.com';
?>
在 2.php
中使用和获取会话 <?php
//In this page I am going to use session:
session_start();
if($_SESSION['email']){
echo 'Your Email Is Here! :) ';
}
?>
注意 :评论没有输出。
答案 1 :(得分:14)
你要做的就是写--- session_start(); -----两页......
<!-- first page -->
<?php
session_start();
$_SESSION['myvar'] = 'hello';
?>
<!-- second page -->
<?php
session_start();
echo $_SESSION['myvar']; // it will print hello
?>
答案 2 :(得分:7)
从评论到这个问题的推理,似乎缺乏调整后的session.save_path导致PHP会话处理程序的这种不当行为。只需指定一个存在的目录(在文档根目录之外),并且PHP既可读也可写,以解决此问题。
答案 3 :(得分:1)
如果第二页没有对会话cookie的共享访问权限,则需要使用session_set_cookie_params设置会话cookie路径:
<?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;
}
}
答案 4 :(得分:0)
试试这个
第一页
<?php
session_start();
$_SESSION['myvar']='myvalue';
?>
第二页
<?php
session_start();
echo $_SESSION['myvar'];
?>
答案 5 :(得分:-1)
每次启动会话(适用于PHP 5.2.54版)时,session_start()
都会创建一个新的会话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;
答案 6 :(得分:-1)
开始会话:
将以下代码放在文件顶部。
<?php session_start();?>
存储会话变量:
<?php $_SESSION['id']=10; ?>
检查数据是否存储在会话变量中:
<?php if(isset($_SESSION['id']) && !empty(isset($_SESSION['id'])))
echo “Session id “.$_SESSION['id'].” exist”;
else
echo “Session not set “;?>
答案 7 :(得分:-5)
试试这个:
<!-- 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;
}
}
?>