php的cookie的问题

php的cookie的问题,第1张

首先,你的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 值获取问题等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9489210.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存