PHP新手上路(6)

建设一个简单交互的网站(二)

建设一个简单交互的网站(二) 5.5 计数器
让我们在首页上加上一个计数器。这个例子已经被讲过多次了,但是还是有利于演示怎样读写文件以及创建自己的函数。counter.inc包含以下代码:
? /* || 一个简单的计数器 */ function get_hitcount($counter_澳门新葡亰3522平台游戏,file) {
/* 将计数器归零 这样如果计数器还未被使用,初始值将是1
你当然也可以把初始值设成20000来骗人咯 */ $count=0; //
如果存放计数器文件已经存在,读取其中的内容 if (
file_exists($counter_file) ){ $fp=fopen($counter_file,”r”); //
我们只取了前20位,希望你的站点不要太受欢迎啊 $count=0+fgets($fp,20); //
由于函数fgets()返回字符串,我们可以通过加0的方法将其自动转换为整数
fclose($fp); // 对文件操作完毕 } // 增加一次计数值 $count++; //
将新的计数值写入文件 $fp=fopen($counter_file,”w”); fputs($fp,$count);
fclose($fp); # 返回计数值 return ($count); } ?
然后我们更改front.php3文件以显示这个计数器: ?
include(“include/counter.inc”); //
我把计数值放在文件counter.txt中,读出并输出 printf
(“CENTERB%06d/B/CENTER BR n”, get_hitcount(“counter.txt”));
include(“include/footer.inc”); ? 看看我们的新front.php3 5.6 反馈表单
让我们再添加一个反馈表单以便你的浏览者填写并e-mail给你。举例来说我们用一种很简单的方法实现它,我们只需要两个页面:一个为浏览者提供输入表单;一个获得表单数据并处理、mail给你。
PHP中获取表单数据是很简单的。当一个表单被发送后,表单中所包含的各个元素被赋上了相应的值,而这样就可以像引用一般变量一样使用了。
FORM name=”myform” ACTION=”process_form.php3″ METHOD=”POST” INPUT
TYPE=”TEXT” NAME=”mytext” VALUE=”Some Value” /FORM
在process_form.php3中,变量$mytext就被赋予了输入的值–非常简单!同样的,你可以从列表框、多选框、单选框、按钮等表单元素中取得变量值。你唯一要做的就是为表单中的每一个元素取名以便将来可以引用。
根据这个方法,我们可以生成一个简单的包含三个元素的表单:姓名、e-mail地址和留言。当浏览者发送表单后,处理该表单的PHP页面读取数据,检查姓名是否为空,最后将数据mail给你。
表单:form.php3 ? include(“include/common.inc”); $title = “Feedback”;
include(“include/header.inc”); ? P FORM ACTION=”sendfdbk.php3″
METHOD=”POST” INPUT TYPE=”text” NAME=”name” value=”Your name” SIZE=”20″
MAXLENGTH=”30″ INPUT TYPE=”text” MAXLENGTH=”40″ WIDTH=”20″ value=”Your
Email” NAME=”email” BR TEXTAREA ROWS=”7″ COLS=”40″ NAME=”comment” Your
feedback on my home page. /TEXTAREA BR INPUT TYPE=”submit” VALUE=”Send
Feedback!” /FORM /P ? include(“include/footer.inc”); ?
处理表单:sendfdbk.php3 ? include(“include/common.inc”); $title =
“Feedback”; include(“include/header.inc”); if ( $name == “” ){ //
现在我很讨厌匿名的留言! echo “Duh ? How come you are anonymous?”;
}elseif ($name == “Your name”){ // 这个浏览者真是不想透露姓名啊! echo
“Hello ? BYour name/B is supposed to be replaced with your actual
name!/B”; }else{ // 输出一段礼貌的感谢语 echo ” Hello, $name. BR Thank
you for your feedback. It is greatly appreciated. BR Thanking you BR
$MyName BR $MyEmailLink “; // 最后mail出去

5.5 计数器

让我们在首页上加上一个计数器。这个例子已经被讲过多次了,但是还是有利于演示怎样读写文件以及创建自己的函数。counter.inc包含以下代码:

?/*|| 一个简单的计数器*/function get_hitcount($counter_file){/* 将计数器归零这样如果计数器还未被使用,初始值将是1你当然也可以把初始值设成20000来骗人咯*/$count=0;// 如果存放计数器文件已经存在,读取其中的内容if ( file_exists($counter_file) ){$fp=fopen($counter_file,r);// 我们只取了前20位,希望你的站点不要太受欢迎啊$count=0+fgets($fp,20);// 由于函数fgets()返回字符串,我们可以通过加0的方法将其自动转换为整数fclose($fp);// 对文件操作完毕}// 增加一次计数值$count++;// 将新的计数值写入文件$fp=fopen($counter_file,w);fputs($fp,$count);fclose($fp);# 返回计数值return ($count);}?

然后我们更改front.php3文件以显示这个计数器:

?include(include/counter.inc);// 我把计数值放在文件counter.txt中,读出并输出printf (CENTERB%06d/B/CENTER BR n,get_hitcount(counter.txt));include(include/footer.inc);?

看看我们的新front.php3

5.6 反馈表单

让我们再添加一个反馈表单以便你的浏览者填写并e-mail给你。举例来说我们用一种很简单的方法实现它,我们只需要两个页面:一个为浏览者提供输入表单;一个获得表单数据并处理、mail给你。