cookie值接受不到。。。。急急急!!!!

ni88yy 2008-01-31 05:39:18
我的php5的 在php4下多ok的。
下面是logo.php代码
<?
session_start();
require("config.php");
$conn=mysql_connect($host,$namesql,$passsql);
mysql_select_db($lib,$conn);
mysql_query("Set Names 'gb2312' ");
$username= $_SESSION['user_name'];
$password=$_SESSION['user_pwd'];
$sql="Select * From adminuser where NAME ='".$username."' limit 0,1";
//die($sql);
$rs = mysql_query($sql);
$row = mysql_fetch_object($rs);
//echo $row->NAME."<br>";
//echo $row->PWD."<br>";
//die($_SESSION["verifycode"]);

if($_SESSION["verifycode"]!=$_POST['loginvalue']){
?>
<script language="javascript">alert("验证码错误,请重新输入");location.href="index.php";</script>
<?
}

if( $row->NAME==$username)
{//有此人时
if( $row->PWD==$password){
//存在此用户时
setcookie('loginlim',$row->LIM);
setcookie('loginpwd',$row->PWD);
setcookie('loginid',$row->ID);
setcookie('loginname',$row->NAME);
//$loginpwd=$_COOKIE['loginpwd'];
// $loginid=$_COOKIE['loginid'];
?>
<script language=javascript>alert("合法登陆");location.href='main.php';</script>
<?


}else {
die('用户名或密码错误');

}
}
else{
die('用户名或密码错误');
}


?>



下面是接收的mian.php代码
<?

$loginlim=$_cookie['loginlim'];
if($loginlim=="" || $loginlim==null){ echo "<meta http-equiv='refresh' content='0; url=index.htm'>"; }
else{

?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>管理中心</title>
</head>

<frameset rows="*" cols="185,*" framespacing="0" frameborder="NO" border="">
<frame src="left.php" name="leftFrame" scrolling="yes">
<frame src="right.php" name="mainFrame">
</frameset>
<noframes><body>

</body></noframes>

<? } ?>
</html>
...全文
200 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
joycheney 2008-02-17
  • 打赏
  • 举报
回复
注意php手册上的这样一段话:
摘自setcookie的解释:

当 cookie 被设置后,便可以在其它页面通过 $_COOKIE 或 $HTTP_COOKIE_VARS 数组取得其值。需要注意的是,autoglobals 的 $_COOKIE 形式适用于 PHP 4.1.0 或更高版本。而 $HTTP_COOKIE_VARS 则从 PHP 3 起就可以使用。Cookie 的值也会被保存到 $_REQUEST 数组中。

注: 如果 PHP 的选项 register_globals 被设为 on 的话,cookie 的值仍然会被斌到变量内。在下面的例子中,$TestCookie 会被注册,但是仍然推荐使用 $_COOKIE 数组。



我认为还是register_globals的问题,你尽可能使用

$_COOKIE['loginlim'] = $row-> LIM;

来代替setcookie吧
ni88yy 2008-02-17
  • 打赏
  • 举报
回复
echo $_COOKIE['loginname']
怎么echo不出来啊。。。
ni88yy 2008-02-10
  • 打赏
  • 举报
回复
我浏览器没关过啊啊。
就是传值转传不 过去。。不知道怎么回事情。
烦死了。。
张吉Jerry 2008-02-07
  • 打赏
  • 举报
回复
setcookie( string $name [, string $value [, int $expire ]])
设置$expire为time()+秒数,否则cookie将在浏览器关闭后失效。
建议你目前的情况直接用session,cookie多用来实现“一段时间不用登录”的功能。
ni88yy 2008-02-03
  • 打赏
  • 举报
回复
print_r($_COOKIE)

有值的但还是会跳转。。
是$row-> LIM问题?
这个echo不出来。。
ni88yy 2008-02-01
  • 打赏
  • 举报
回复
这么写setcookie("loginlim","1234567","/",HOSTDOMAIN);我一直这么用,HOSTDOMAIN就是你的域名
还是接不到值怎么回事了。。

求助。。。
blackice8 2008-02-01
  • 打赏
  • 举报
回复
这么写setcookie("loginlim","1234567","/",HOSTDOMAIN);我一直这么用,HOSTDOMAIN就是你的域名
剑心永远OK 2008-02-01
  • 打赏
  • 举报
回复
在 setcookie('loginlim',$row-> LIM);
改为setcookie('loginlim','1324567');

再在main.php里面看能不能获取到值
swingcoder 2008-02-01
  • 打赏
  • 举报
回复
setcookie('loginlim',$row-> LIM);
echo $row-> LIM." <br> "; //debug

注意下$row->LIM取出来的是大写字段名吗。不要管main.php,先保证能setcookie。然后在main.php第一行print_r($_COOKIE);看有没有取得。
ni88yy 2008-02-01
  • 打赏
  • 举报
回复
大虾门帮帮忙哦。
我太菜了。搞不定
ni88yy 2008-02-01
  • 打赏
  • 举报
回复
是不是浏览器cookie功能关闭了呀?
没有关啊。

使用cookie也同样需要session_start()的吧,或者把session_id传进去
还是不行。。其他机子上也不行。真不 知道怎么回事。。
在php4上可以的。php5上就不可以老是跳转掉了。。
太菜了。大虾门帮个忙哦。
unlive 2008-02-01
  • 打赏
  • 举报
回复
使用cookie也同样需要session_start()的吧,或者把session_id传进去。
unlive 2008-02-01
  • 打赏
  • 举报
回复
是不是浏览器cookie功能关闭了呀?
ni88yy 2008-02-01
  • 打赏
  • 举报
回复
main.php里就是获不到值。怎么回事情了。。
ni88yy 2008-01-31
  • 打赏
  • 举报
回复
还是不行啊
swingcoder 2008-01-31
  • 打赏
  • 举报
回复
main.php的$_cookie要用大写.
ni88yy 2008-01-31
  • 打赏
  • 举报
回复
怎么没人啊

21,887

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧