当前位置:首页> PHP教程> php基础
关键字
文章内容
谈谈PHP语法 (二)
 
 
修改时间:[2009/11/28 18:06]    阅读次数:[760]    发表者:[起缘]
 
上文的最后提到了Cookie和Session,本文就这两种技术作一些介绍。
  Cookie我们都常把它念成“库记”,也叫它“小甜点”。它是一种存储在客户浏览器中的一个小文件。它是为解决HTTP的一次连接而无记忆而发展起来的,可用来追踪使用者或是对重返的使用者进行确认。PHP对此提供了setcookie()函数,可以设定Cookie。因为Cookies算是HTTP标头的一部分。所以,setcookie()函数必须在网页数据传给浏览器之前调用。这同调用header()函数是一样的。
Cookie必须由主机端提供;所以,我们必须在CGI程序中送出一个设定了cookie的标头。如下是PHP中调用setcookie()函数设定cookie的例子:
<?php 
setcookie
("user","wind",time()+3600,"/php/","http://www.oso.com.cn"); 
?> 


(非常全面的一个php技术网站, 有相当丰富的文章和源代码.)
  其中,user为该cookie的名称;wind为该cookie的值;time()+3600为该cookie的有效时间;/php/为该cookie的相关路径;http://www.oso.com.cn为该cookie的网站。
  其实,我们除了使用这种方式设定cookie外,还可使用header()函数如:header("Set-Cookie:user=wind"),不过这要对HTTP的头部信息有所了解才行,所以笔者不建议使用这种方式,还是使用setcookie()方便些。
  读取cookie时,浏览器在连接某个网站时,会自动先检查是否有该站的cookie,有的话将会自动传给服务器,而在PHP中,会将传回的cookie作为一个变量。如上面所设的cookie返回后,会形成一个$user变量,其值为wind。
  但是,cookie有个致命的缺点,就是若客户关了cookie接收,无法向客户端存放cookie时,一切操作就会出错。因此,在PHP4中提供了Session来代替Cookie。
Session与Cookie的最大区别在于Cookie将信息存于客户端,而Session则是存于服务器端。其实,Session是对PHP脚本提供了一个全局变量。例子如下:
设置一个Session,名为user,值为wind
<?php 
session_start
(); 
$user="wind"
session_register("user"); 
?> 


(非常全面的一个php技术网站, 有相当丰富的文章和源代码.)
读Session,显示结果为“欢迎你!wind”
?br>
<?php 
session_start
(); 
echo 
"欢迎你!$user"
?> 


(非常全面的一个php技术网站, 有相当丰富的文章和源代码.)
  本文只是浅谈了一下Cookie和Session技术,对于想具体了解该技术的人,还请参考别的书藉。
网上发送Email,可要用到mail()函数了。其格式如下:

mail(收信人,主题,内容,邮件文件头);

在网上,发送Email给站长,通常是这样的:

<a href="mailto:webmaster@163.com">webmaster@163.com</a>

这样,当点击了webmaster@163.com这个链接之后,就会启动默认的邮件编缉器来写Email,实在是麻烦,使用mail()函数,便可方便地编出一个在线发信页面。这种页面的收件人是固定的(webmaster@163.com),有需再填收件人地址了,而主题我们也可以将把它定下来。如下例:

文件:email.html
<html>
<head>
<title>发信给网管</title>
</head>
<body>
<h2 align="center">网管收信</h2><br>
<hr><br>
<center>
<form action="mail.php">
发件人:<input type="text" name="from" size=25><br>
主题:<input type="text" name="subject" size=20><br>
内容:
<textarea name="content" cols=80 rows=15>你好,站长:</textarea><br>
<input type="submit" value="寄出"> <input type="reset" value="重写"><br>
</form>
</body></html>

文件:mail.php
<?php 
if (empty($from) or empty($subject) or empty($content)) {echo "没有完成填写,请<a href="email.html">返回</a>";} 
$body="[主题] $subjectn"
$body.="[发件人] $fromn"
$body.=$content
$deal=mail("webmaster@163.com",$subject,$body,"From:$from"); 
if (
$deal) {echo "寄件成功!";}else{echo "寄件失败!!!";} 
?> 


(非常全面的一个php技术网站, 有相当丰富的文章和源代码.)
  PHP介绍到此,也差不多了,你是不是感到了PHP的强大,是不是也想加入PHP的行列,就现在吧。要使自己在PHP中飞翔,这点知识还是不足的,它只能帮你入门而已。入门之后,就修行在个人了。我的朋友,再见──(^_^)