很多站长朋友们都不太清楚php生成cookie,今天小编就来给大家整理php生成cookie,希望对各位有所帮助,具体内容如下:
本文目录一览: 1、 php获取cookie后怎么使用 2、 我制作网页时,我用PHP在登录页面生成了cookie,可是我只cookie保存了一个数据,$_CO 3、 php设置好cookie如何在html中读出cookie 4、 php 创建cookie 时为什么会默认生成httponly 5、 如何用PHP创建和使用session cookie变量 6、 php不能生成cookie php获取cookie后怎么使用php获取cookie使用方法:
cookie和session都可以暂时保存在多个页面中使用的变量,但是它们有本质的差别。cookie存放在客户端浏览器中,session保存在服务器上。它们之间的联系是session ID一般保存在cookie中。
cookie工作原理
当客户访问某个网站时,在PHP中可以使用setcookie函数生成一个cookie,系统经处理把这个cookie发送到客户端并保存在c:Documents and Settings用户名\Cookies目录下。cookie是HTTP标头的一部分,因此setcookie函数必须在任何内容送到浏览器之前调用。这种限制与header()函数一样。当客户再次访问该网站时,浏览器会自动把c:Documents and Settings用户名\Cookies目录下与该站点对应的cookie发送到服务器,服务器则把从客户端传来的cookie将自动地转化成一个PHP变量。
通过$_COOKIE['xxx']读取客户端发来的cookie。
创建 cookie
通过 setcookie() 函数来创建一个 cookie ,成功返回 TRUE ,否则返回 FALSE 。
语法:
bool setcookie( string name [, string value [, int expire [, string path [, string domain ]]]] )
参数说明:
name cookie 名称
value 可选,cookie 值
expire 可选,过期时间,时间戳格式
path 可选,服务器端有效路径,/ 表示整个域名有效,默认为当前设置 cookie 时页面的路径
domain 可选,该 cookie 有效的域名
<?php
setcookie("username", "nostop", time()+3600); //设置了一个名称为 username 的cookie,其值为 xiaoli ,并在1小时候后过期。如果时间也被省略,cookie 将会在会话结束后(一般是浏览器关闭)失效。
?>
cookie 会以一定格式被存储在用户计算机特定位置。
<?php
setcookie("username", "nostop", time()+3600, "/", ".example测试数据"); //在example测试数据 域名的 / 路径下该 cookie 都有效(即全站有效)。
?>
读取 cookie
PHP 内置了 $_COOKIE 变量以访问设置的 cookie 值。
例子:
<?php
echo $_COOKIE["username"]; //nostop
?>
销毁 cookie
可以通过设置 cookie 过期时间为以前的时间点来销毁一个 cookie :
<?php
setcookie("username", "", time()-3600);
?>
cookie注意事项
1、SetCookie()之前不能有任何html输出,就是空格,空白行都不行。
2、SetCookie()后,你在当前页调用echo $_COOKIE["name"]不会有输出。必须刷新或到下一个页面在过期之前才可以看到Cookie值。
3、由于 cookie 信息存储于用户的计算机中,那么就有可能伪造或修改 cookie 从而造成 cookie 欺骗,一般可以对 cookie 的值进行加密来预防欺骗。读取 cookie 的时候,对 cookie 解密即可。
4、Cookie是保存在客户端的,用户禁用了Cookie,你的Cookie自然也就没作用啦!
<?php
setcookie('username','nostop',time()+3600); //创建cookie
if(isset($_COOKIE["username"])){ //使用isset()函数检测cookie变量是否已经被设置
echo "您好!".$_COOKIE["username"]; //您好!nostop 读取cookie
}else{
echo "请登陆";
}
?>
我制作网页时,我用PHP在登录页面生成了cookie,可是我只cookie保存了一个数据,$_COdefine的常量怎么会保存到cookie里面?你可以考虑用session,只有服务器能拿到session的值,用户是拿不到的
php设置好cookie如何在html中读出cookiePHP生成cookie,HTML页面使用JavaScript即可读取。操作示例如下:
<?php
//首先php生成cookie;
//demo.php
//?开启session
session_start();
$name="baiduzhidao";
setcookie("cname",$name,time()+3600,"/");
?>
2.HTML页面读取;
//index.html
<!DOCTYPE?html?PUBLIC?"-//W3C//DTD?XHTML?1.0?Transitional//EN"?"
<html?xmlns="
<head>
<meta?http-equiv="Content-Type"?content="text/html;?charset=utf-8"?/>
<title>JS读取cookie示例</title>
<style>
body{?font-size:14px;?line-height:22px;?font-family:"微软雅黑",?Verdana,?Geneva,?sans-serif;}
input,textarea{?font-family:"微软雅黑",?Verdana,?Geneva,?sans-serif;?padding:3px;?font-size:12px;?}
h3{?clear:both;}
li{?padding:2px?0;?list-style:none;}
</style>
<script?type="text/javascript">
function?get_cookie(cookieName){
????//判断cookie是否存在
????if?(document.cookie.length>0){
????????pos=document.cookie.indexOf(cookieName?+?"=")
????????if?(pos!=-1){?
????????????pos=pos?+?cookieName.length+1?
????????????last=document.cookie.indexOf(";",pos)
????????????if?(last==-1)?last=document.cookie.length
????????????return?unescape(document.cookie.substring(pos,last))
????????}?
????}
????return?"cookie不存在!";
}
</script>
</head>
<body>
<input?type="button"?value="获取cookie"?onclick="alert(get_cookie('cname'));"/>
</body>
</html>
php 创建cookie 时为什么会默认生成httponly首先看下php.ini是不是默认配置了httponly.
session.cookie_httponly = On
然后看看是否有页面设置了默认配置,
ini_set("session.cookie_httponly", 1);
一般没有配置但是却带了httponlhy一般情况是其 他地方有修改,要么是默认配置文件,要么是在初始化文件里面修改的。
如何用PHP创建和使用session cookie变量cookie,session 是WEB应用程序保持用户状态的方法
cookie是保存的客户端的信息,由客户端连接服务器时发送到服务器的。
session是保存在服务端的信息,从这个角度session相对cookie更安全
当会话创建时服务器返回给客户端一个加密后的session id以标识用户身份,session id 一般保存在cookie当cookie不可用时由URL传递。
例如实例:
<?php
// session start
session_start(); // 开始一个会话,如果要使用session程序最前面一定要加上这句
$_SESSION['user_id'] = ‘123′;//给一个session 变量赋值,如果该变量不存在即创建
echo $_SESSION['user_id'];//访问 session变量
$_SESSION = array();//清空所有session变量
session_destroy();//清除会话ID
// session end
// cookie start
setcookie(’user_id’,123);//创建一个cookie变量user_id=123
echo $_COOKIE['user_id'];//访问 cookie变量 和变通变量一样
setcookie(’user_id’,0,time()-1);//删除cookie变量
// codie end
// 该代码不可运行,只是将所有使用方法在这里列出,实际应该不同功能在不同页面使用,将在下面的例子中演示
?>
希望可心帮到你!!!
php不能生成cookie建议你把那句生成不了贴出来就好了
贴出来那个多干嘛
生成不了cookie?
怎么生成不了? 你不会在生成完马上在当前页调用吧?
cookie 只能在生成后的下一个任何页面调用
说说qiafen33的观点 :不是每种东西都用session的,客户端要是禁止了cookie,服务端也没辙,除非sessionID用url,也就sessionID特殊。再说“同时cookie 必须在html输出之前设置否则生成不了。 ” 这一句也不成立,使用ob_start(),通过输出缓冲,可以在输出后在设置cookie,具体用法见手册,话多了。
关于php生成cookie的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。
查看更多关于php生成cookie php生成器的详细内容...