看板 PHP 關於我們 聯絡資訊
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)
shadowjohn:Login_finish.php 裡面怎沒看到 session_start(); ? 09/01 23:02
shadowjohn:然後登入錯誤的話,記得把 session 清掉 09/01 23:04
jakevin:session_start(); 已經放在最前面了 我沒放上去 09/01 23:34
jakevin:目前還是陸陸續續再不同的使用者 發生同樣的問題 orz 09/02 14:37
dctray:我之前有發生過類似是因為產生session的client端和login的 09/11 10:44
dctray:主機位置不一樣 當時架構是 前台=>資料處理=>資料庫 妳可以 09/11 10:46
dctray:主機放SESSION的資料夾比對一下有錯誤和沒錯誤的SESSION 09/11 10:47