作者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