作者jakevin (真。假凯文)
看板PHP
标题[请益] 似乎是SESSION值 无法跨页传送
时间Wed Sep 1 21:33:40 2010
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='登入' /> ";
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)
1F:→ shadowjohn:Login_finish.php 里面怎没看到 session_start(); ? 09/01 23:02
2F:推 shadowjohn:然後登入错误的话,记得把 session 清掉 09/01 23:04
3F:→ jakevin:session_start(); 已经放在最前面了 我没放上去 09/01 23:34
4F:→ jakevin:目前还是陆陆续续再不同的使用者 发生同样的问题 orz 09/02 14:37
5F:→ dctray:我之前有发生过类似是因为产生session的client端和login的 09/11 10:44
6F:→ dctray:主机位置不一样 当时架构是 前台=>资料处理=>资料库 你可以 09/11 10:46
7F:→ dctray:主机放SESSION的资料夹比对一下有错误和没错误的SESSION 09/11 10:47