我是cookie操作的新手
答案 0 :(得分:5)
这适用于Javascript:
function createCookie( name,value,days)
{
if ( days)
{
var date = new Date( );
date.setTime( date.getTime( )+( days*24*60*60*1000));
var expires = "; expires="+date.toGMTString( );
}
else var expires = "";
document.cookie = name+"="+value+expires+"; path=/";
}
function readCookie( name)
{
var nameEQ = name + "=";
var ca = document.cookie.split( ';');
for( var i=0;i < ca.length;i++)
{
var c = ca[i];
while ( c.charAt( 0)==' ') c = c.substring( 1,c.length);
if ( c.indexOf( nameEQ) == 0) return c.substring( nameEQ.length,c.length);
}
return null;
}
function eraseCookie( name)
{
createCookie( name,"",-1);
}
这适用于php,setcookie
答案 1 :(得分:1)
用PHP读取cookie也很容易:
$ cookie_value = $ _COOKIE ['cookie_name'];
答案 2 :(得分:1)
我理解问题是如何检测浏览器和服务器端的Cookie功能?和如何在两侧设置和读取Cookie?
所以答案是:
首先,您检测到navigator.cookieEnabled
启用的Cookie。如果是false
,则您在document.cookie
上设置Cookie以确保它不起作用。
function are_cookies_enabled()
{
var cookieEnabled = (navigator.cookieEnabled) ? true : false;
if (typeof navigator.cookieEnabled == "undefined" && !cookieEnabled)
{
document.cookie="testcookie";
cookieEnabled = (document.cookie.indexOf("testcookie") != -1) ? true : false;
}
return (cookieEnabled);
}
您只需阅读环境变量即可检测Cookie功能。 这是php脚本:
# start session
session_start();
# create constant
define("IS_COOKIES",count($_COOKIE)? true:false);
# example of using constant
if(IS_COOKIES){
# do something cookie related
}
这是perl脚本:
#!/usr/bin/perl -w
print "Content-Type: text/plain\n\n";
if( !defined( $ENV{'HTTP_COOKIE'} ) )
{
print "You have cookies DISABLED";
}
else
{
print "You have cookies ENABLED";
}
经过验证的跨浏览器方式是使用jquery.cookie插件。
你包括脚本插件:
<script src="/path/to/jquery.cookie.js"></script>
创建会话cookie:
$.cookie('the_cookie', 'the_value');
阅读cookie:
var cookie_value = $.cookie('the_cookie'); // => 'the_value'
PHP本身支持cookie操作。
要通过setcookie
功能设置Cookie,请确保在使用之前启动sesssion
:
session_start();
setcookie('the_cookie','value');
通过$_COOKIE
变量
$some_cookie = $_COOKIE['the_cookie'];
答案 3 :(得分:0)
您可以使用setcookie()
方法使用php设置Cookie。
至于通过javascript检索cookie值,请参阅关于Javascript Cookie操作的W3 Schools教程。