作者lulumay (噜噜米)
看板PHP
标题[请益] session传值问题
时间Tue Sep 12 15:37:02 2006
想请教一下大家
目前我用了两个session变数
分别是
$_SESSION['level'];
$_SESSION['organization'];
这两个变数是在使用者登入後,用来储存身份等级及所属处室用的
======问题来了=======
现在我碰到的问题是
登入後 我按了其他的连结
当我echo $_SESSION['level']时都没有问题
可是只要echo $_SESSION['organization']就有bug
单纯echo $_SESSION['organization'] OK!!
但是加上後面的程序码之後就不显示了
甚至是第一次连结过去还可以照常显示
但按了重新整理
$_SESSION['organization']的内容就不见了
我有检查过是不是session_start()、session_register()的问题
但似乎也不是错在这
猜想不到问题到底会是出在哪里
所以想请教一下有经验的高手指点一下
附上有问题的网页原始码..
login.php //在此宣告两个session变数的内容
====
<?php
session_start();
include("db.php"); //开启资料库
$id=$_POST["id"];
$ps=$_POST["password"];
$rr=mysql_query("select * from user Where id='$id' and password='$ps'") ;
$total=mysql_num_rows($rr);
if($total<1){
echo "帐号或密码错误!";
}else{
list($no,$id,$password,$name,$level,$class)=mysql_fetch_row($rr);
$_SESSION['level']=$level;
$_SESSION['organization']=$class;
echo $_SESSION['level']; //自我测试session是否可运作-->>OK
echo $_SESSION['organization']; //自我测试session是否可运作-->>OK
include("index.php");
}
?>
index.php //登入後的主选单,接下来的动作是要到news/news.php里去新增公告
=====
<form name="form1" method="post">
管理者首页 <br>
<a href="news/news.php">最新公告</a> <br>
</form>
news.php
=====
<?php
session_start();
//session_register();
echo $_SESSION['level']; //测试呼叫session-->OK
echo $_SESSION['organization']; //测试呼叫session-->没出现
改成$_SESSION["organization"]後第一次连结会出现
但重新整理後又消失
include("../db.php");
$result=mysql_query("select * from news order by no desc");
?>
<form name="form1" method="post">
<center>
<table border=1>
<tr><td>公告日期</td><td>公告主旨</td><td>公告单位</td></tr>
<?
while(list($no,$object,$message,$connect,$organization,$date,$download)=mysql_fetch_row($result)){
echo "<tr><td>$date</td><td><a href=news_show.php?no=$no
target=_blank>$object</a></td><td>$organization</td></tr>";
}
if($_SESSION['level']==2){
echo "<a href=news_create.php>新增公告</a>";
echo $_SESSION['organization'];<---测试呼叫session-->没出现
}
?>
</table>
</form>
---
麻烦大家提供宝贵的意见了..谢谢!!
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.111.141.249
1F:推 pttkazu:你要不要把全部['']改成双引号呢? 试看看(我也是新手@@) 09/12 15:38
2F:推 pttkazu:或是把每个有用到session的部分都加上ob_start()? 09/12 15:42
3F:推 lulumay:还是同样的结果 ~"~a 09/13 09:15
4F:推 pttkazu:看完你的程式後你的FORM要不要删掉试看看呢? 09/14 01:00
5F:→ pttkazu:好像没用到的感觉 09/14 01:00
6F:推 lulumay:我找到解决方法了 只是原由还是不太清楚 09/14 08:41
7F:→ lulumay:我把check.php里的$_SESSION['organization']=$class 09/14 08:42
8F:→ lulumay:改成$_SESSION['class']=$class就行了..~"~a 09/14 08:43
9F:→ lulumay:谢谢你的帮忙^^~ 09/14 08:44