PHP网站制作之PHP中的cookie
我想在讲述自己的学习方式前,对那些期望能从我的文章中获得有用信息的人说一句心里话:cookie 要创立并修正一个 cookie,可以使用PHP函数setcookie()。取决于想对cookie停止掌握的水平,及谁可以读取cookie的值,setcookie()最多可有六个参数。设置cookie最复杂的体例以下:
setcookie('name', 'bret');
然后,在用户加入前,接上去利用此阅读器检查的站点中每个页面,城市有一个值为“bret”的变量$name,而且很轻易经由过程PHP 对其停止会见。因为其保存期是一次用户保持,此类cookie被称为session cookie,。
假如但愿用户封闭其阅读器后,仍保存此cookie,则必需传递第三个参数给setcookie()函数,即设定此cookie的无效日期。因为PHP的后台完整源于Unix的思惟,这个无效刻日需求以从1970年1月1日起算的总秒数来代表。假如作为Unix法式员,这类算法对你而言多是通情达理的。但假如来自Windows或Macintosh阵营,你能够只能摇头太息,没法了解那些乖僻的Unix家伙们。
不外无需惧怕。PHP供应一个很好用的函数mktime()。你只需按按次传送给mktime()你但愿暗示的小时,分钟,秒数,月份,日期,及年份,mktime()就会前往该日期自1970年1月1日的总秒数。因而,假如需求摹拟 Y2K 成绩:
<?php
$y2k = mktime(0,0,0,1,1,2000);
setcookie('name', 'bret', $y2k);
?>
如今,你的cookie将会在2000年生效。
假如需求更新cookie以让其贮存新值,只需求将其原值掩盖便可。因而,即便你已在之前的页面中方才发送cookie,仍可以将你的名字改成“jeff”。
<?php
$y2k = mktime(0,0,0,1,1,2000);
setcookie('name', 'jeff', $y2k);
?>
注重如许做其实不会改动变量$name的值。在页面载入的时分,其值就已肯定。假如但愿老是同时肯定两者,可以编写以下代码:
<?php
$name = 'jeff';
$y2k = mktime(0,0,0,1,1,2000);
setcookie('name', $name, $y2k);
?>
setcookie()的下两个参数可以掌握读取cookie的法式的域及目次途径。默许设定为仅在与送出cookie的办事器不异且在同级或以下的目次布局内的页面才可以读取其值。这是出于收集平安方面的思索。但是,假如你有一个帐号“www.domain.com”但同时也是“other.domain.com”,且帐户答应从~/myhome目次处置页面,则应更改setcookie()以下:
<?php
setcookie('name', 'jeff', $y2k, '~/myhome', '.domain.com');
?>
咱们还未利用过的setcookie()最初一个参数是设定cookie只传送给实施诸如SSL的平安毗连的Web办事器。要利用此功效,将第六个值设置为1。
删除cookie十分复杂,仅需复杂地将cookie的名传送给setcookie(),PHP就会将其删除失落。
<?php setcookie('name'); ?>
最初还有一个关于利用cookie的主要事项。因为cookie与HTTP的特定任务体例,你必需在你输入任何文本前,传送出一切的cookie。不然PHP会给出正告,而且cookie也不会被传送。因而,如许做是准确的办法:
<?php
setcookie('name', 'jeff');
echo "Hello Everyone!";
?>
以下是毛病地:
<?php
echo "Hello Everyone!";
setcookie('name', 'jeff');
?>
David Sklar是Student.Net Publishing的首席信息官。
Adam Trachtenberg是Student.Net Publishing产物副主管。
看看西,人家这个编论坛,那个CMS,还有那啥CRM,我啥时候写一个呢? 我还是推荐用firefox ,配上firebug 插件调试js能省下不受时间。谷歌的浏览器最好也不少用,因为谷歌的大侠们实在是太天才啦,把一些原来的js代码加了一些特效。 多看优秀程序员编写的代码,仔细理解他们解决问题的方法,对自身有很大的帮助。 本文当是我的笔记啦,遇到的问题随时填充 找到的的资料很多都是在论坛里的,需要注册,所以我一般没到一个论坛都注册一个id,所有的id都注册成一样的,这样下次再进来的时候就不用重复注册啦。当然有些论坛的某些资料是需要的付费的。 先学习php和mysql,还有css(html语言很简单)我认为现在的效果比以前的方法好。 我学习了一段时间后,我发现效果并不好(估计是我自身的问题)。因为一个人的精力总是有限的,同时学习这么多,会导致每个的学习时间都得不到保证。 多看优秀程序员编写的代码,仔细理解他们解决问题的方法,对自身有很大的帮助。 写js我最烦的就是 ie 和 firefox下同样的代码 结果显示的结果千差万别,还是就是最好不要用遨游去调试,因为有时候遨游是禁用js的,有可能代码是争取结果被遨游折腾的认为是代码写错。 找到的的资料很多都是在论坛里的,需要注册,所以我一般没到一个论坛都注册一个id,所有的id都注册成一样的,这样下次再进来的时候就不用重复注册啦。当然有些论坛的某些资料是需要的付费的。 Ps:以上纯属原创,如有雷同,纯属巧合 曾经犯过一个很低级的错误,我在文件命名的时候用了一个横线\\\\\\\'-\\\\\\\' 号,结果找了好几个小时的错误,事实是命名的时候 是不能用横线 \\\\\\\'-\\\\\\\' 的,应该用的是下划线\\\\\\\'_\\\\\\\' ; 我还是强烈建议自己搭建php环境。因为在搭建的过程中你会遇到一些问题,通过搜索或是看php手册解决问题后,你会更加深刻的理解它们的工作原理,了解到php配置文件中的一些选项设置。 对于懒惰的朋友,我推荐php的集成环境xampp或者是wamp。这两个软件安装方便,使用简单。但是我还是强烈建议自己动手搭建开发环境。 建议加几个专业的phper的群,当然啦需要说话的人多,一处一点问题能有人回答你的,当然啦要让人回答你的问题,平时就得躲在里面聊天,大家混熟啦,愿意回答你问题的人自然就多啦。 真正的方向了,如果将来要去开发团队,你一定要学好smarty ,phplib这样的模板引擎, 微软最近出的新字体“微软雅黑”,虽然是挺漂亮的,不过firefox支持的不是很好,所以能少用还是少用的好。 这些都是最基本最常用功能,我们这些菜鸟在系统学习后,可以先对这些功能深入研究。 当然这种网站的会员费就几十块钱。 多看优秀程序员编写的代码,仔细理解他们解决问题的方法,对自身有很大的帮助。
页:
[1]