过去两周,我一直致力于在Cookie中保存页面ID,然后在其他页面中检索它。
最后我解决了它,但现在我还有其他问题我想在我的PHP代码中使用这个id(我在cookie中保存并检索它)。
我知道javascript是客户端代码而php是服务器端代码,但我必须这样做。这个你能帮我吗。
这是我的javascript代码,效果很好,我用这行" + value.favoriteid +"
获得已保存的ID
<script>
/*
* Create cookie with name and value.
* In your case the value will be a json array.
*/
function createCookie(name, value, days) {
var expires = '',
date = new Date();
if (days) {
date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
expires = '; expires=' + date.toGMTString();
}
document.cookie = name + '=' + value + expires + '; path=/';
}
/*
* Read cookie by name.
* In your case the return value will be a json array with list of pages saved.
*/
function readCookie(name) {
var nameEQ = name + '=',
allCookies = document.cookie.split(';'),
i,
cookie;
for (i = 0; i < allCookies.length; i += 1) {
cookie = allCookies[i];
while (cookie.charAt(0) === ' ') {
cookie = cookie.substring(1, cookie.length);
}
if (cookie.indexOf(nameEQ) === 0) {
return cookie.substring(nameEQ.length, cookie.length);
}
}
return null;
}
function eraseCookie(name) {
createCookie(name,"",-1);
}
var faves = new Array();
$(function(){
var favID;
var query = window.location.search.substring(1);
var vars = query.split("&");
for (var i=0;i<vars.length;i++) {
var pair = vars[i].split("=");
var favID = (pair[0]=='ID' ? pair[1] :1)
//alert(favID);
}
$(document.body).on('click','#addTofav',function(){
var fav = {'favoriteid':favID};
faves.push(fav);
var stringified = JSON.stringify(faves);
createCookie('favespages', stringified);
location.reload();
});
var myfaves = JSON.parse(readCookie('favespages'));
if(myfaves){
faves = myfaves;
} else {
faves = new Array();
}
$.each(myfaves,function(index,value){
var element = '<li class="'+index+'"><h4>'+value.favoriteid+'</h4> ';
$('#appendfavs').append(element);
});
});
</script>
&#13;
答案 0 :(得分:2)
在php
方面阅读Cookie,在js
设置之后,这是最容易的事情。
将自动包含从客户端发送给您的任何Cookie 如果variables_order包含&#34; C&#34;,则进入$ _COOKIE自动全局数组。如果 您希望为单个cookie分配多个值,只需添加[]即可 cookie名称。 根据register_globals,可以创建常规PHP变量 来自cookies
这里有一些例子:
<?php
echo $_COOKIE["your cookie name"];
?>
<?php
print_r($_COOKIE);
?>
不建议依赖它们 为了安全起见,通常会关闭此功能。
答案 1 :(得分:1)
如果你已经设法在javascript中保存到cookie,那么在PHP中检索它应该没问题,只需使用$_COOKIE["COKKIE_NAME"]
(你在哪里更改COOKIE_NAME,到你在JS中保存的cookie的名称) )..