phpcookiejs
㈠ php如何获取js的cookie
根据页面执行流程,是在服务端执行了$sectionId = $_COOKIE['name']; 后,HTML才会下载到浏览器,这时候才会执行页面上的JS脚本并设置cookie,所以在下一次刷新页面的时候才会获取到cookie的值。
㈡ php能否和javascript共同使用一个cookie
当然能,本来COOKIE就是这样的。
不过,你用JS设置的COOKIE,只有在页面刷新的时候PHP才能收到。
当然,你用PHP设置的COOKIE,JS一下就能收到。
㈢ 请问怎么用js读取php写的cookie啊 感谢。
在.net里面,写到客户端的时候先把Cookies的值 UrlEncode一下
在js里面读出来的时候,先用 unescape 反解码一下
---------.NET
System.Web.HttpCookie cUName = new System.Web.HttpCookie("userName", Server.UrlEncode(user.username));
---------JS
userId=unescape(arr[1]);
-----------
Server是个服务器对象。
如果你不在Page里面使用的话,可以用
System.Web.HttpUnility.UrlEncode 来代替
至于那个英文的,因为英文本身就不存在编码问题。
关于编码和解码的问题,不妨多尝试尝试。必要时手动看一下Cookies里面的内容判断是哪个阶段出的问题。
㈣ php和js都有设置cookie的函数,有什么区别吗会冲突吗具体用在哪里啊
cookie是用在客户端的存数据的,应该没什么大的区别,只是形式方式不同罢了,cookie一旦存储了通过js和php都可以使用。
至于冲突是不会有的,cookie是有作用域的,在作用域相同的情况下,新值覆盖旧值。
㈤ php js跨域请求,并设置cookies
首先要说的是,阁下的问题看起颇费神,中文英文符号混杂,大小写混杂,让阅读者看起相当吃力。
其次,你跨域,JS不能使用POST和GET请求的,这是浏览器安全规则,不过可以使用其它办法来获得类似结果。
JS跨域,POST可以通过提交隐藏表单至隐藏框架页来得到请求结果。而GET请求则可以在目标地址后面加上要请求的GET参数然后抓取目标页的所有网页内容,再通过正则处理获得结果;也可以使用JSON来获取(详情请自行学习JSON,很简单的)。
阁下的问题,只是获取COOKIE时间,那么可以直接通过JS抓取目标页或JSON获得。而B域名的cookies.php,完全不需要访问index.php来获得上一个COOKIE的时间,因为它们是同一个站,index.php能访问到的COOKIE,cookies.php也能访问到。
B域名的cookies.php参考如下(仅供参考,具体请根据自己情况另行写代码):
if(isset($_COOKIE["user"]))//
$time=$_COOKIE["user"];//
else
$time=0;//
$_COOKIE["user"]=time();
echo$time;
//或输出JSON,请自行学习
终上,仅是提供一个思路,更多的还是要靠阁下自行摸索学习。
另外,这种跨域请求,建议使用JSON,因为它简单方便。当你学会了,就表示你会写接口和使用接口了(虽然这个只是最简单的接口)。当然除了JSON还可以使用XML,只是性能稍差一些,也不错
㈥ 用js弄cookie好还是用php弄cookie好呢
一般都会使用PHP设置COOKIE,PHP设置COOKIE比较方便,也实用。 用js设置COOKIE就要看你在哪种情况下使用哪种方式才方便了。
㈦ 请问js如何读取php设置的cookie,另外这个cookie是不是所有页面都可以访问
不是,你用过cookie的话就知道有【作用路径】这个词吧,意思就是只能在指定的路径访问,路径的终点指向的是文件夹,所以设置了访问路径后只能在指定目录(包括其下的文件夹)访问。默认设置的路径是'/',意思是整个网站。
JS读取php设置的cookie和读取普通的cookie是一样的。
㈧ php怎么获取cookie呢
PHP 的 $_COOKIE 变量用于取回 cookie 的值。
例子:
在下面的实例中,我们取回了名为 "user" 的 cookie 的值,并把它显示在了页面上:
<?php
echo$_COOKIE["user"];
print_r($_COOKIE);
?>
同时可以用setcookie() 函数设置 cookie。
语法:
setcookie(name, value, expire, path, domain);
在下面的例子中,我们将创建名为 "user" 的 cookie,并为它赋值 "Alex Porter"。我们也规定了此 cookie 在一小时后过期:
<?php
setcookie("user","AlexPorter",time()+3600);
?>
当删除 cookie 时,您应当使过期日期变更为过去的时间点。
删除的实例:
<?php
//
setcookie("user","",time()-3600);
?>
㈨ php读取JS写入的COOKIE,怎么读取
<!DOCTYPEscriptPUBLIC"-//W3C//DTDHTML4.01Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
<head>
<metahttp-equiv="Content-Type"content="text/html;charset=utf-8"/>
</head>
<body>
<?php
header("content-type:text/html;charset=utf-8");
//在PHP中设置COOKIE
setcookie("phpCookie","我是PHP产生的Cookie",time()+3600);
?>
<scriptlanguage="javascript">
//JavaScript中设定Cookie值
functionsetCookie(name,value)
{
varDays=1/1440;//此cookie将被保存30天
varexp=newDate();//newDate("December31,9998");
exp.setTime(exp.getTime()+Days*24*60*60*1000);
document.cookie=name+"="+escape(value)+";expires="+exp.toGMTString();
}
//JS取JS保存的cookie
functiongetCookie2(name)
{vartemp=name+"=";
vartempLen=temp.length;
varcookieLen=document.cookie.length;
vari=0;
while(i<cookieLen){
varj=i+tempLen;
if(document.cookie.substring(i,j)==temp){
returngetCookieVal(j);
}
i=document.cookie.indexOf("",i)+1;
if(i==0)break;
}
returnnull;
}
//辅助
functiongetCookieVal(offset){
varendstr=document.cookie.indexOf(";",offset);
if(endstr==-1){
endstr=document.cookie.length;
}
returnunescape(document.cookie.substring(offset,endstr));
}
//js取PHP保存的Cookie值
functiongetCookie(sName)
{
varaCookie=document.cookie.split(";");
for(vari=0;i<aCookie.length;i++){
varaCrumb=aCookie[i].split("=");
if(encodeURIComponent(sName)==aCrumb[0])
returndecodeURIComponent(aCrumb[1]);
}
returnnull;
}
</script>
<script>
//显示经过解码的PHP设置的COOKIE
alert(getCookie("phpCookie"));
//使用JavaScript设置COOKIE值
setCookie("jsCookie","我是JavaScript产生的Cookie");
alert(getCookie2("jsCookie"));
</script>
<?php
//显示JavaScript设置的COOKIE的
if(isset($_COOKIE["jsCookie"]))
echourldecode($_COOKIE["jsCookie"]);
echo"<br/>";
echo$_COOKIE["phpCookie"];
?>
</body></html>
㈩ 如何用js删除php生成的cookie
var cookiecheck = '<?php echo $_COOKIE['cookiename'];?>';
先说明下这个吧
该php语句的作用在于获得cookie名为'cookiename'的cookie值,假设为[cookiename],然后输出该值。
由于在php是服务器解析,所以它会在js被执行之前生成,最后你的静态页面上显示出来的就是:
var cookiecheck=[cookiename];
再 你的代码我看过了 是有效的 我注意到你的“感叹号”不是英文格式,是打错还是?
测试代码如下:
<?php
SetCookie("name","this is my cookie");
?>
<script type="text/javascript">
function getCookie(name)
{
var arr = document.cookie.match(new RegExp("(^| )"+name+"=([^;]*)(;|$)"));
if(arr != null) return unescape(arr[2]);
return null;
}
// 判断是否已经登录
if(!getCookie("name"))
{
alert('失败');
}else{
alert(getCookie("name"));
}
</script>