本文介绍一种通过读取文本文件的方法实现留言本基本功能,在php4+apache for win98 下调试通过。从这个程序中我们可以体会到php与html语言交互嵌入的灵活编程风格。
首先,进入留言本页面,我们需要用
窗体顶端
表单提交留言者的信息,并用php处理信息,可以在default.php中实现这两项功能,具有详细注释的源代码如下:
# default.php#
php
//条件语句用来判断表单是否提交,内容是否填写完整;
if ( sent==sent){
if ( name==) {echo 请输入用户名;}
else if ( email==) {echo 请输入email;}
else if ( note==) {echo 请输入留言;}
else { fp=fopen(text.txt,a+); //可读写方式打开text.txt文件用于存储留言,若不存在则新建一个;
t = date(y年m月d日h时m分s秒);//得到当前时间;
main = 网上大名:href=\mailto:$email\> name:( t)br>
留言内容: href=\text.txt\> note br>
;
write=fwrite( fp, main); //写入文件;
fclose( fp);
echo 谢谢你的留言=>;
echo href=\body.php\>查看留言|href=\index.htm\>返回首页;
}
}
?>
我的留言板
请输入你的姓名:br>
br>
请输入你的email:br>
br>
请输入你的留言:br>
textarea name=note cols=30 rows=5>textarea>
其中, 标签域中的代码是标准的html语言,用于输入访问者的信息,提交后的信息送到当前页面(default.php),注意在中有一行:
该行内容并不显示出来,只是完成给变量 sent赋一个值“sent”,表单未提交时,变量 sent值为空,php … ?>中条件判断 sent==sent不成立,php程序不进行任何操作,只有提交后才执行下面的php程序。完成后,可以通过“查看留言”链接查看留言,这就是我们下面给出的body.php程式:
# body.php#
朋友的留言:
php
f = fopen(text.txt,a+); //读写方式打开文件,若不存在则新建
msg = fread( f,filesize(text.txt)); //读取文件
fclose( f); //关闭文件
print msg; //输出留言
echo href=\default.php\>返回留言本|;
echo href=\index.htm\>返回首页;
?>
相信大家能很容易地读懂这段代码。在上面的两段程序中,我们省略了html的其他标签,其实,大家可以将以上两段代码放在标签域中,对页面进行装饰,php界定符间的代码还可以放在 … 区域之外。可见,php同html的交互嵌入是相当灵活的,请注意在php中嵌入html语句的格式。
本例中,文件default.php、body.php和存放留言的text.txt(见于body.php中)放在服务器同一目录下,读者可根据需要进行调整。有兴趣的话,在此例的基础上还可以添加其它功能,如对留言者输入的信息内容或格式进行审查(用正则表达式)和留言本的管理、留言者的信息获取等。
窗体底端