首先,你的cookie username的值已经已经取出来了。
第二,删除cookie用unset就可以了。
例如,你要删除cookie["one"]这个cookie,就把程序改成这样
<php
// 设定 cookie
setcookie("cookie[three]", "cookiethree");
setcookie("cookie[two]", "cookietwo");
setcookie("cookie[one]", "cookieone");
unset($_COOKIE['cookie']["one"]);
// 刷新页面后,显示出来
if (isset($_COOKIE['cookie'])) {
foreach ($_COOKIE['cookie'] as $name => $value) {
echo "$name : $value <br />\n";
}
}
>
补充说明:删除你设的整个cookie
直接unset($_COOKIE['cookie']);就可以了。
呵呵,这个程序没有问题
imagettftext($im,20,0,3,25,$font,"comicttf",$str);
这里需要一个comicttf字体文件,必须放在那个php程序同目录下
你是不是没有这个字体文件
如果没有,可以到系统的C:\Windows\Fonts目录下拷贝一个(拷个几百KB大小的就足够用了)
我试了你的程序,生成的效果不是很好,我以前写了一个,给你参考下把,虽然也是修改的网上的:
<
//获取验证码模块
session_start();
//记得去掉下面注释
if (!isset($_GET["sid"])||$_GET["sid"]==""||$_GET["sid"]!=session_id())die();
Header("Content-type:image/png");
//定义header,声明文件,最好是png,无版权之扰;
//生成新的四位整数验证码
//session_id($_GET["sid"]);
//开启session;
$authnum_session = '';
$str = 'ABCDEFGHIJKMNPQRSTUVWXYZ1234567890';
//定义用来显示在上的数字和字母;
$l = strlen($str);
//得到字串的长度;
//循环随机抽取四位前面定义的字母和数字;
for ($i=1; $i<=4; $i++)
{
$num=rand(0,$l-1);
//每次随机抽取一位数字;从第一个字到该字串最大长度,
//减1是因为截取字符是从0开始起算;这样34字符任意都有可能排在其中;
$authnum_session= $str[$num];
//将通过数字得来的字符连起来一共是四位;
}
$_SESSION["checkCode"]=$authnum_session;
//用session来做验证也不错;注册session,名称为authnum_session,
//其它页面只要包含了该
//即可以通过$_SESSION["checkCode"]来调用
//生成验证码,
//srand((double)microtime()1000000);
mt_srand();
$im = imagecreate(100,40);//宽与高;
//主要用到黑白灰三种色;
$black = ImageColorAllocate($im, mt_rand(0,245),mt_rand(0,200),mt_rand(0,200));
$white = ImageColorAllocate($im, 255,255,255);
$gray = ImageColorAllocate($im, 200,200,200);
//将四位整数验证码绘入
imagefill($im,168,30,$gray);
//如不用干扰线,注释就行了;
$li = ImageColorAllocate($im, 220,220,220);
for ($i=0; $i<0; $i++)
{//加入3条干扰线;也可以不要;视情况而定,因为可能影响用户输入;
imageline($im,mt_rand(0,30),mt_rand(0,41),mt_rand(80,90),mt_rand(0,41),$li);
} //字符在的位置;
//imagestring($im, 5, 8, 2, $authnum_session, $white);
// Set the enviroment variable for GD
putenv('GDFONTPATH=' realpath(''));
// Name the font to be used (note the lack of the ttf extension)
//$font = 'mvboli';
//$font = imageloadfont("mvbolittf");
//imagestring($im,$font, 8, 2, $authnum_session, $white);
//imagettftext ( $im,200, 0, 0, 30, $white,"FELIXTITTF", $authnum_session );
for ($i=0; $i<4; $i++)
{
imagettftext ( $im,200, mt_rand(0,40)-20, $i25+3, 30, $white,"FELIXTITTF", substr($authnum_session,$i,1) );
}
for ($i=0; $i<90; $i++) //加入干扰象素
{
imagesetpixel($im, mt_rand()%100-2 , mt_rand()%40-2 , $gray);
}
ImagePNG($im);
ImageDestroy($im);
>
同样这行代码需要一个字体文件,你可以把它改成你拷过来的的字体文件名
imagettftext ( $im,200, mt_rand(0,40)-20, $i25+3, 30, $white,"FELIXTITTF", substr($authnum_session,$i,1) );
1 可以以这种方式 定义过期时间为一个变量,然后在之后的页面读取它就可以了例如可以这样:$GLOBALS["expired_time"] = time() + 1800;
setcookie ('id','abc', $GLOBALS["expired_time"],'');
echo date("M-d-Y His", $GLOBALS["expired_time"] ); 2 因为你加上了 “/abc”这个目录,所以要在该文件要在 /abc的路径下才能读取 $_COOKIE['id']
呵呵。看来是对php
cookie不是很熟练哦!它的原理是这样的:
Cookies
不会在设置它的本页生效,要测试一个
cookie
是否被成功的设定,可以在其到期之前通过另外一个页面来访问其值。
希望能解除你的困惑,帮到你啦!!
当然不一样
js是基于对象的前端脚本语言,通过dom对象的cookie属性获得所有的cookie值。
php的cookie是面向过程的。通过php预定义变量$_COOKIE得到所有的cookie值。也就是一个数组。
这个是php中cookie的使用
// 设定 cookie
setcookie("cookie['three']", "cookiethree",time()+3600);
setcookie("cookie['two']", "cookietwo",time()+3600);
setcookie("cookie['one']", "cookieone",time()+3600);
// 读取cookie
if (isset($_COOKIE['cookie']))
{
echo $_COOKIE['cookie']['\'two\'']"<br/>";
foreach ($_COOKIE['cookie'] as $name => $value)
{
echo "$name : $value <br />\n";
}
}
值得注意的是。定义cookie变量的时候中括号的变量名实不加 引号的。
这个是js中cookie的使用
function setCookie(n,v)
{
var date=new Date();
datesetTime(dategetTime()+ 601000);
documentcookie=n+"="+escape(v)+"; expires="+datetoGMTString(); //escape function 用于将字符串中非ascii的字符转换为%16进制数。
}
function getCookie(n)
{
var mycookie=documentcookiesplit("; ");
for(var i=0;i<mycookielength;i++)
{
var content=mycookie[i]split("=");
if(n == content[0])
{
return unescape(content[1]);
}
}
return null;
}
function delCookie(n)
{
var date=new Date();
datesetTime(dategetTime()-1);
documentcookie=n+"= "+"; expires="+datetoGMTString();
}
setCookie("name","jerry");
alert(getCookie("name"))
以上就是关于php的cookie的问题全部的内容,包括:php的cookie的问题、php验证码乱码、php cookie 值获取问题等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)