PHP入门速成(3)

小结

通过以上三步,我们使用PHP快速地在单一页面上实现了表单显示和表单处理的功能。

设定Cookies

PHP提供了强大的设定和读取Cookies的功能。在此,我们不想对Cookies进行过多的介绍,但是用户应当认识到在设计WEB应用的过程中Cookies可能起到的重要作用。

用户可以使用PHP提供的setcookie()函数创建或修改Cookie。setcookie()函数总共包括6个参数,能够对cookie进行精确的控制。

使用setcookie()函数设定cookie的最简单的方式为:

setcookie(‘name', ‘PETER');

这样,在用户访问整个站点页面的期间,PHP将会自动创建一个名为$name的变量,并将值PETER赋予该变量。我们把这种Cookie称做会话Cookie,即其作用域为用户的整个会话过程。

如果我们希望Cookie值在访问用户离开站点后仍然有效的话,可以使用setcookie()函数的相应参数,设定Cookie的有效期。这里,我们需要对PHP的时间设定进行一下说明。PHP是一种基于Unix开发出的技术,用户需要用自1970年1月1日之后的秒数表示当前时间。对于没有任何Unix系统编程经验的广大普通用户来说真是有点摸不着头脑。不过,大家大可不必担心,因为PHP为我们提供了一个非常简便的解决方式,即mktime()函数。用户可以在mktime()函数中按照小时、分、秒、月、日、年的顺序输入用户希望表示的时间,mktime()函数将会返回该时间距离1970年1月1日的秒数。举例来说,如果我们希望设定一个有效期持续到2000年的Cookie的话,可以使用如下方式:

< ?php

$y2k = mktime(0,0,0,1,1,2000);

setcookie(‘name', ‘PETER', $y2k);

? >

如果用户希望更新已经存在的cookie,可以采用简单的直接覆盖原值的方法。例如,即使我们已经按照上述代码对cookie进行了设定,仍可以对其做以下改动:

< ?php

$y2k = mktime(0,0,0,1,1,2000);

setcookie(‘name', ‘JEFF', $y2k);

? >

这里需要提醒用户注意的一点是,虽然我们对cookie值进行了修改,但是在没有加载经过修改的页面之前,PHP中$name变量的值仍然不会改变。如果用户希望在更改cookie值的同时更改 相应PHP变量的值,可以采用以下方式:

< ?php

$name = ‘JEFF';

$y2k = mktime(0,0,0,1,1,2000);

setcookie(‘name', $name, $y2k);

? >
在有效期参数之后,setcookie()函数提供了设置可以读取cookie值的页面的路径和域的参数。出于安全因素的考虑,在默认情况下,只有与设定cookie的页面处于同一目录或下属子目录的页面才能够读取相应cookie值。但是,根据需要,我们也可以对这一设定进行修改。例如:

< ?php

setcookie(‘name', ‘jeff', $y2k, ‘~/myhome', ‘.domain.com');

? >

通过上述代码,我们设定凡是位于~/myhome目录下,属于.domain.com域的页面都能够读取该cookie值。
setcookie()函数的最后一个参数较少被使用。该参数可以指定只向运行安全连接协议,如SSL,的WEB服务器返回cookie值。如果用户希望启动该参数功能,只需要将其值设为1即可。
使用PHP删除cookie也非常简便,用户只需要在setcookie()函数中输入希望删除的cookie的名称,PHP就会自瓿伤械纳境ぷ鳌@纾?

< ?php setcookie(‘name'); ? >

最后,关于cookie还要说明一点。考虑到HTTP协议中cookie的运作方式,用户一定要注意应当在显示任何文字之前发送所有的cookie设置。如果用户在编写代码时先设定显示的文字然后再发送cookie的话,PHP就会弹出报错信息,无法完成cookie的设置。举例来说:

< ?php

setcookie(‘name', ‘jeff');

echo “Hello Everyone!”;

? >

这种cookie设置的方式是正确的。但是如果采用如下方式:

< ?php

echo “Hello Everyone!”;

setcookie(‘name', ‘jeff');

? >

则会出现报错信息,无法完成cookie的设置。
日期和时

PHP提供了多种简便的功能以方便用户显示和控制日期和时间。

如果用户希望以某种形式显示某一日期或时间的话,可以使用PHP提供的date()函数。date().函数包括两个参数,分别用于设定日期的显示格式以及代表显示日期的时间戳,其中,时间戳必须采用距离1970年1月1日的秒数方式表示。如同C语言中的strftime()函数或Perl中的POSIX::strftime()函数,PHP中的date()函数具有非常多的格式设置选项,这里就不一一说明了。举例来说,date()函数的使用方式如下:

< ?php
$birthday_stamp = mktime(10,10,0,10,20,1975);
$birthday_formatted = date(‘F d, Y - g:i a',$birthday_stamp);
echo “Peter was born on $birthday_formatted.”
? >

显示结果为:Peter was born on October 10, 1975--10:10 p.m.

总结

PHP是一种快速创建动态WEB站点的强大工具,其熟悉的语法风格和源代码开放的特性能够使使用者在最短的时间内了解和掌握其功能并进而发挥出其巨大潜力。希望本文能够对广大读者有所启发。祝大家早日成为PHP高手。

(0)

相关推荐

  • PHP入门速成(2)

    表单处理 PHP为用户提供了众多方便易用的强大功能.在表单的处理方面,PHP能够自动地将由客户端表单发送的数据赋值给相应变量,从而极大地简化了整个表单的处理过程. 举例来说,用户建立如下表单: < INPUT TYPE=TEXT NAME="name" VALUE="PETER" > 当使用PHP对上述代码进行处理时,PHP自动创建一个名为$name的变量,并将变量值"PETER"赋予该变量. 用户可以直接对PHP创建的变量进行各种操

  • PHP入门速成(1)

    PHP简介 PHP是一种用于创建动态WEB页面的服务端脚本语言.如同ASP和ColdFusion,用户可以混合使用PHP和HTML编写WEB页面,当访问者浏览到该页面时,服务端会首先对页面中的PHP命令进行处理,然后把处理后的结果连同HTML内容一起传送到访问端的浏览器.但是与ASP或ColdFusion不同,PHP是一种源代码开放程序,拥有很好的跨平台兼容性.用户可以在Windows NT系统以及许多版本的Unix系统上运行PHP,而且可以将PHP作为Apache服务器的内置模块或CGI程序运

  • PHP速成大法

    简单介绍一下PHP的语法 1.嵌入方法: 类似ASP的<%,PHP可以是<?php或者是<?,结束符号是?>,当然您也可以自己指定. 2.引用文件: 引用文件的方法有两种:require 及 include. require 的使用方法如 require("MyRequireFile.php"); .这个函数通常放在 PHP 程序的最前面,PHP 程序在执行前,就会先读入 require 所指定引入的文件,使它变成 PHP 程序网页的一部份.常用的函数,亦可以这

  • PHP入门速成教程

    PHP是一种用于创建动态WEB页面的服务端脚本语言.如同ASP和ColdFusion,用户可以混合使用PHP和HTML编写WEB页面,当访问者浏览到该页面时,服务端会首先对页面中的PHP命令进行处理,然后把处理后的结果连同HTML内容一起传送到访问端的浏览器.但是与ASP或ColdFusion不同,PHP是一种源代码开放程序,拥有很好的跨平台兼容性.用户可以在Windows NT系统以及许多版本的Unix系统上运行PHP,而且可以将PHP作为Apache服务器的内置模块或CGI程序运行.   除

  • PHP入门速成(3)

    小结 通过以上三步,我们使用PHP快速地在单一页面上实现了表单显示和表单处理的功能. 设定Cookies PHP提供了强大的设定和读取Cookies的功能.在此,我们不想对Cookies进行过多的介绍,但是用户应当认识到在设计WEB应用的过程中Cookies可能起到的重要作用. 用户可以使用PHP提供的setcookie()函数创建或修改Cookie.setcookie()函数总共包括6个参数,能够对cookie进行精确的控制. 使用setcookie()函数设定cookie的最简单的方式为:

  • PyQT5速成教程之Qt Designer介绍与入门

    Qt Designer的介绍 在PyQt中编写UI界面可以直接通过代码来实现,也可以通过Qt Designer来完成.Qt Designer的设计符合MVC的架构,其实现了视图和逻辑的分离,从而实现了开发的便捷.Qt Designer中的操作方式十分灵活,其通过拖拽的方式放置控件可以随时查看控件效果.Qt Designer生成的.ui文件(实质上是XML格式的文件)也可以通过pyuic5工具转换成.py文件. Qt Designer随PyQt5-tools包一起安装,其安装路径在 "Python

  • ASP.NET 入门的五个步骤

    作者:Rob Howard 2000 年 11 月 12 日   将于 2000 年 12 月 28 日存档 欢迎访问 Nothin´ but ASP.NET 专栏,下面我将为大家深入介绍 ASP.NET 中某些重要的新特性,以及一些其他 .NET Framework 技术. 在第一个专栏中,我们将讨论 ASP.NET 入门的五个步骤.以后的专栏我们将陆续探讨 ASP.NET 中的其他优秀功能(如部署.状态管理.进程模型.控件.安全等方面的变化). 步骤 1:下载和安装 .NET SDK ASP

  • python实现手势识别的示例(入门)

    使用open-cv实现简单的手势识别.刚刚接触python不久,看到了很多有意思的项目,尤其时关于计算机视觉的.网上搜到了一些关于手势处理的实验,我在这儿简单的实现一下(PS:和那些大佬比起来真的是差远了,毕竟刚接触不久),主要运用的知识就是opencv,python基本语法,图像处理基础知识. 最终实现结果: 获取视频(摄像头) 这部分没啥说的,就是获取摄像头. cap = cv2.VideoCapture("C:/Users/lenovo/Videos/1.mp4")#读取文件 #

  • C、C++、Java到Python,编程入门学习什么语言比较好

    摘要:回顾编程语言几十年来的兴衰起伏,似乎也折射了整个信息产业的变迁消亡,想要在技术的洪流里激流勇进,找准并学精一两门编程语言更加显得至关重要. 最近,TIOBE更新了7月的编程语言榜单,常年霸榜的C.Java和Python依然蝉联前三位.万万没想到的是,R语言居然冲到了第八位,创下了史上最佳记录.而且后续随着业内对数据统计和挖掘需求的上涨,R语言热度颇有些势不可挡的架势. 然而作为程序员吃饭的工具,编程语言之间也形成了某种鄙视链,各大论坛里弥漫着剑拔弩张的气氛,众口难调.也难怪有很多初学者会有

  • AngularJS入门教程之AngularJS表达式

    表达式用于应用程序数据绑定到HTML.表达式都写在双括号就像{{表达式}}.表达式中的行为跟ng-bind指令方式相同. AngularJS应用表达式是纯javascript表达式,并输出它们被使用的数据在那里. AngularJS表达式格式 : {{expression }} AngularJS表达式可以是字符串.数字.运算符和变量 数字运算{{1 + 5}} 字符串连接{{ 'abc' + 'bcd' }} 变量运算 {{ firstName + " " + lastName }}

  • Python入门教程 超详细1小时学会Python

    为什么使用Python    假设我们有这么一项任务:简单测试局域网中的电脑是否连通.这些电脑的ip范围从192.168.0.101到192.168.0.200. 思路:用shell编程.(Linux通常是bash而Windows是批处理脚本).例如,在Windows上用ping ip 的命令依次测试各个机器并得到控制台输出.由于ping通的时候控制台文本通常是"Reply from ... " 而不通的时候文本是"time out ... " ,所以,在结果中进行

随机推荐