我的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> 怎么没人啊main.php的$_cookie要用大写.还是不行啊在 setcookie('loginlim',$row-> LIM);
改为setcookie('loginlim','1324567');
再在main.php里面看能不能获取到值这么写setcookie("loginlim","1234567","/",HOSTDOMAIN);我一直这么用,HOSTDOMAIN就是你的域名这么写setcookie("loginlim","1234567","/",HOSTDOMAIN);我一直这么用,HOSTDOMAIN就是你的域名 数据挖掘研究院
还是接不到值怎么回事了。。
求助。。。main.php里就是获不到值。怎么回事情了。。
是不是浏览器cookie功能关闭了呀?使用cookie也同样需要session_start()的吧,或者把session_id传进去。是不是浏览器cookie功能关闭了呀?
没有关啊。
使用cookie也同样需要session_start()的吧,或者把session_id传进去
还是不行。。其他机子上也不行。真不 知道怎么回事。。
在php4上可以的。php5上就不可以老是跳转掉了。。
太菜了。大虾门帮个忙哦。大虾门帮帮忙哦。
我太菜了。搞不定setcookie('loginlim',$row-> LIM);
echo $row-> LIM." <br> "; //debug
注意下$row-> LIM取出来的是大写字段名吗。不要管main.php,先保证能setcookie。然后在main.php第一行print_r($_COOKIE);看有没有取得。print_r($_COOKIE)
有值的但还是会跳转。。
是$row-> LIM问题?
这个echo不出来。。setcookie( string $name [, string $value [, int $expire ]]) 数据挖掘实验室
设置$expire为time()+秒数,否则cookie将在浏览器关闭后失效。
建议你目前的情况直接用session,cookie多用来实现“一段时间不用登录”的功能。我浏览器没关过啊啊。
就是传值转传不 过去。。不知道怎么回事情。
烦死了。。echo $_COOKIE['loginname']
怎么echo不出来啊。。。注意php手册上的这样一段话:
摘自setcookie的解释:
- PHP code
- 当 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的问题,你尽可能使用
- PHP code
- $_COOKIE["loginlim"] = $row-> LIM;
来代替setcookie吧

