[請益] 似乎是SESSION值 無法跨頁傳送

看板PHP作者 (真。假凱文)時間15年前 (2010/09/01 21:33), 編輯推噓1(106)
留言7則, 3人參與, 最新討論串1/1
Login.php <?php if (isset($_SESSION['userid'])){ echo "<p>hi ".$_SESSION['username']."你好阿!!</p>";?> <form name='formlogout' method='post' action='logout.php'> <input type='submit' name='button' value='登出' /> </form> <form name='formupdate' method='post' action='update_user.php'> <input type='submit' name='button' value='修改會員資料' /> </form> ?> <?php }else{ echo "<form name='formlogin' method='post' action='connect.php'>"; echo "密碼:<input type='password' name='pw' size='17'/><br/>"; echo "<input type='submit' name='button' value='登入' />&nbsp;&nbsp;"; echo "</form>"; }?> Login_finish.php <?php $id = $_POST['id']; $pw = md5($_POST["pw"]); $result = mysql_query($sql); $row = @mysql_fetch_assoc($result); if (md5($id)==$row['userno'] && $pw == $row['password']){ $_SESSION['username'] = $row['username']; $_SESSION['userid'] = $row['userid']; echo '登入完成!'; echo '<meta http-equiv=REFRESH CONTENT=2;url=Login.php>'; }else{ echo '登入失敗!<br/>'; echo '<meta http-equiv=REFRESH CONTENT=1;url=Login.php>'; } ?> 狀況是 Login.php 地方我會判斷是否有沒有取得到 $_SESSION['userid'] 有取得userid 表示登入成功 顯示可以 登出跟修正會員資料的按鈕 沒取得userid 就顯示 帳號密碼的輸入框 跟登入按鈕 請朋友幫我測試 大概10人會有 1人遇到 登入成功後 又還是繼續顯示帳號密碼輸入框 跟登入按鈕 研判是 有取得userid 但沒辦法傳回SESSION 的值過去 PHP.ini 已經設定 SESSION是 auto_star 而且每一頁最前端也有 session_star() 了 請問這樣的問題要怎麼解決呢?? 感謝板友幫忙!! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.124.75.85 ※ 編輯: jakevin 來自: 140.124.75.85 (09/01 21:34)

09/01 23:02, , 1F
Login_finish.php 裡面怎沒看到 session_start(); ?
09/01 23:02, 1F

09/01 23:04, , 2F
然後登入錯誤的話,記得把 session 清掉
09/01 23:04, 2F

09/01 23:34, , 3F
session_start(); 已經放在最前面了 我沒放上去
09/01 23:34, 3F

09/02 14:37, , 4F
目前還是陸陸續續再不同的使用者 發生同樣的問題 orz
09/02 14:37, 4F

09/11 10:44, , 5F
我之前有發生過類似是因為產生session的client端和login的
09/11 10:44, 5F

09/11 10:46, , 6F
主機位置不一樣 當時架構是 前台=>資料處理=>資料庫 妳可以
09/11 10:46, 6F

09/11 10:47, , 7F
主機放SESSION的資料夾比對一下有錯誤和沒錯誤的SESSION
09/11 10:47, 7F
文章代碼(AID): #1CVbOtpw (PHP)
文章代碼(AID): #1CVbOtpw (PHP)