尝试通过foreach loop
内的while loop
设置这些Cookie时出错。我得到的错误是...... Notice: A non well formed numeric value encountered in
php脚本:
while($row = mysql_fetch_array($sql)){
$path = "/";
$expire = time() + 2592000;
$expire = date("Y-m-d h:i:s",$expire);
$c = array(
md5('id')=>$row['id'],
md5('name')=>$row['u'],
md5('sex')=>$row['s'],
md5('country')=>$row['co'],
md5('state')=>$row['st'],
md5('city')=>$row['ci'],
md5('timezone')=>$row['ti']
);
foreach($c as $name=>$value){
setcookie($name,$value,$expire,$path);
}
echo "Logging you in! <img src=\"source/image/50gl.gif\"><br>";
}
答案 0 :(得分:4)
$expire
应该是一个int。你有一个字符串。这条线是不必要的,问题的原因是:
$expire = date("Y-m-d h:i:s",$expire);
您可能会注意到expire参数采用Unix时间戳,而不是日期格式Wdy,DD-Mon-YYYY HH:MM:SS GMT,这是因为PHP在内部执行此转换。
答案 1 :(得分:0)
setCookie()的第3个参数“expire”需要一个整数但你要证明日期字符串。 这是一个Unix时间戳,因此是自纪元以来的秒数。 所以,评论 // $ expire = date(“Y-m-d h:i:s”,$ expire);
然后它会正常工作。