test1.php
<?
session_start();
$Name='jeff';
session_register("Name");
header("location:test2.php");
?>test2.php
<?
session_start();
echo $Name."**********";
?>
<?
session_start();
$Name='jeff';
session_register("Name");
header("location:test2.php");
?>test2.php
<?
session_start();
echo $Name."**********";
?>
$Name='jeff';
两名话的顺序应该换一下顺序
$Name='jeff';
session_register("Name");
$Name='jeff';
两句话的位置换一下
<?
session_start();
echo $_SESSION['Name']."**********";
?>
<?
session_start();
echo $_SESSION['Name']."**********";
?>
<?
session_start();
$_SESSION['Name']='jeff';
header("location:test2.php");
?>test2.php
<?
session_start();
echo $_SESSION['Name']."**********";
?>
test1.php
<?
session_start();
session_register("Name");
$Name='jeff';
header("location:test2.php");
?>test2.php
<?
session_start();
echo $Name."**********";
?>在test2.php中就只输出**********,我现在在客户处,应该怎样调试啊!!!
我的情况也和你一样的,就是传递不了变量
echo "<a href=test2.php>kkk</a>";
就可以正常显示:jeff**********
非得要通过超级连接才能把session的值传过去。
这到底是怎么回事?我真的很搞不清楚session的生命期即有效期。是不是一定要从注册的页面开始,通过注册页面的超级连接才使session有效?唉,我都被session搞胡涂了,session不是从注册那一刻开始知道浏览器结束都有效的吗?
为了这个事情我都搞了好多天了,再解决不了,我都没什么兴趣了。
还有,我写了2个测试php程序:
a.php:
<?
ob_start();
session_start();
session_register('cc');
$cc=10;
echo "<a href=bbb.php>bbb</a>";
?>b.php:
<?
session_start();
$cc++;
echo "cc ".$cc;
?>
当我按历史后退回到a.php时,再点击aaa,结果,再url上看到的PHPSESSID于之前的不一样了,是不是证明了session没有效了,然后再重新注册一个?那如果我想保持唯一的PHPSESSID,比如用来标识某一次唯一的用户,那怎么办?真的搞的一塌胡涂。然后我在b.php的echo "cc ".$cc;后面加上echo "<a href=aaa.php>aaa</a>"; 连接到aaa.php,然后再点击bbb,可以看到这时候url上的PHPSESSID就保持了跟上一次一样的值。所以,我一直搞不清楚session到低是怎样用的。
请各位赐教