• 1. PHP的COOKIE

    cookie 是一种在远程浏览器端储存数据并以此来跟踪和识别用户的机制。
    PHP
    http协议的头信息里发送cookie, 因此 setcookie() 函数必须在其它信息被输出到浏览器前调用,这和对 header() 函数的限制类似。

    1.1
    设置cookie:
    可以用 setcookie() setrawcookie() 函数来设置 cookie。也可以通过向客户端直接发送http头来设置.
    1.1.1
    使用setcookie()函数设置cookie:
    bool setcookie ( string name [, string value [, int expire [, string path [, string domain [, bool secure [, bool httponly]]]]]] )
    name: cookie
    变量名
    value: cookie
    变量的值
    expire:
    有效期结束的时间,
    path:
    有效目录,
    domain:
    有效域名,顶级域唯一
    secure:
    如果值为1,cookie只能在https连接上有效,如果为默认值0,httphttps都可以.
    例子:
    <?php
    $value = 'something from somewhere';

    setcookie("TestCookie", $value); /* 简单cookie设置 */
    setcookie("TestCookie", $value, time()+3600); /* 有效期1个小时 */
    setcookie("TestCookie", $value, time()+3600, "/~rasmus/", ".example.com", 1); /* 有效目录 /~rasmus,有效域名example.com及其所有子域名 */
    ?>

    设置多个cookie变量: setcookie('var[a]','value');用数组来表示变量,但他的下标不用引号.这样就可以用$_COOKIE[‘var’][‘a’]来读取该COOKIE变量....

  • Tag:php模板
    使用PHP编程的人都会碰到这样一个问题:当PHP代码和HTML代码在一起的时候,看PHP代码很费劲,整个文件也无法用Dreamweaver来编辑,这对于PHP程序员和美工来讲,修改这样的文件就象一个噩梦。
    PHP中的模板(Template)技术就是为了解决这个问题而出现的。PHP模板类有很多,比较常见的是 FastTemplate 和 PHPLib, 因为出现得早,在PHP编程界名声很大。PHP程序员不知道这两个类,就象VB程序员不知道MsgBox函数一样,是一件不可思议的事情。
    以前我们需要去下载PHP模板类,现在PHP4有了自己的模板类 IntegratedTemplate 和 IntegratedTemplateExtension,功能和PHPLib 差不多。这两个类是子类和父类的关系。一般我们用 IntegratedTemplateExtension 就可以了。让人感到不可思议的是 IntegratedTemplate 不是从 PEAR 类继承过来,无法用到 PEAR 类的 debug 功能。
  •    现在大部分模板类中都提供block功能,block用来处理不确定个数的HTML 元素,当出现多层不可定的元素,就会用到block的嵌套,对于block嵌套的用法,经过多次测试还是有需要注意的地方,下面用一个例子说明block嵌套的一种处理方法。

    1、我们先来看一下例子要达到的效果(图一):

    点击查看原图

  • 嵌套的模板

      parse()函数的一个灵巧的特性是它创建的MyOutput句柄是一个真正的模板变量,就象some_color 是一
    个模板变量。所以如果你有另一个模板,它有一个{MyOutput}标签,当你分析第二个模板时,所有的
    {MyOutput}标记将被替换为MyOutput中的分析后的文本。这个特性允许你将一个模板文件嵌入到另一个模板
    中。所以,我们可能有另一个名为wholePage.ihtml的模板,内容如下:

    对不起,你没赢。但是如果你赢了,我们将对你说:
    {MyOutput}

      并且在wholePage.ihtml被分析后,最后的结果将是:

    对不起,你没赢。但是如果你赢了,我们将对你说:
    祝贺!你赢了一辆新蓝色Honda Prelude!

      下面是分析两个模板的PHP代码:
  •    一般来说,模板可以让你完全地把你的PHP代码从HTML中分离出来,这样使得HTML的图形设计者们非常高兴,而且可以避免他们搞丢你的宝贵设计。

    它不是FastTemplates
      那么,我们真的需要在PHPBuilder上关于模板的另一篇文章吗?好,是的,因为有不止一种的方法用PHP来实现模板。Sascha的文章讲述了如何使用FastTEmplates,但是PHP基本类库("PHPLIB")有它自已的模板实
    现。

      它们有什么不同呢?FastTemplates最初是从一个Perl库转变来的。FastTemplates对Perl程序工作的很好,但是对PHP不太理想。Kristian Koehntopp从头编写了PHPLIB模板,作为一个纯的PHP库,它更好地提供了PHP的优势。好处之一是Kristian的设计使用了 preg_replace()来分析模板,据说比FastTemplate 中使用的ereg_replace()要快。PHPLIB模板的另一个好处是它允许动态的块实现嵌套,不象FastTemplates。

      两个库都有着非常相似的特性和能力,但是如果你已经使用了FastTemplates,并且你想学习使用PHPLIB模板,你应该把你所知道的关于 FastTemplates 的一切都忘掉。他们的特性可能是相似的,但是PHPLIB模板所做的每件事比FastTemplates只有一点点不同。