一个php作的文本留言本的例子(一)

上一次我们研究了guest.php文件.具体的问题还要求读者朋友自己深入的去实践,而且需要一些工具书来学习,如果您一点php的知识都没有,笔者奉劝您就不要想下看了,笔者没有太多的时间和篇幅去逐句探究一个php文件的用途和意义.好的,接下来我们来作edit.php这个文件.
———– //edit.php ? if ($Submit) { if ($SavePassword==on)
{setcookie(TxtPassword,$TxtPassword,time()+30*24*3600);} else
{setcookie(TxtPassword);} } ? html style type=text/css Td {FONT-SIZE:
10pt;} TEXTAREA { FONT-FAMILY: 宋体; FONT-SIZE: 10pt; } /style head meta
content=zh-cn meta content=text/html; charset=gb2312 title修改留言/title
? require(sys.php); function readvalue($tags,$tage) { global
$message,$long,$reply;
$StrStart=strlen(strstr($message,$tags))-strlen($tags);//去除标记后变量所在字串的起始位置.
$StrEnd=strlen(strstr($message,$tage)); $len=$StrStart-$StrEnd;
$StrStart=$long-$StrStart;//起始字符.
$StrString=substr($message,$StrStart,$len); return $StrString; }
function save($record) { global
$TxtContent,$TxtEmail,$TxtHomepage,$TxtEmail,$TxtName,$TxtFrom,$TxtReply,$REMOTE_ADDR,$guestfile;
$content=file($guestfile,r); $space = ; $time = date(Y年m月d日H小时i分);
$ip=$REMOTE_ADDR; $TxtReply=StripSlashes($TxtReply);
$TxtContent=StripSlashes($TxtContent);
$TxtContent=htmlspecialchars($TxtContent);
$TxtContent=check_strlen_long($TxtContent);
$TxtContent=nl2br($TxtContent); $Wcontent = trtdfont
color=#AB00E1留言内容:/fontbr!–content$TxtContent!–endcontent ;
$Wcontent=$Wcontent.brfont
color=#6633FF留言人大名:/font!–name$TxtName!–endname ; if ($TxtEmail
!=) {$Wcontent=$Wcontent.brfont color=#9900CC电子信箱/fonta
href=mailto:$TxtEmail!–email$TxtEmail!–endemail/a.$space;} if
($TxtHomepage !=) {$Wcontent=$Wcontent.font
color=#9900CC主页:/font$TxtHompagea href=$TxtHomepage
target=new!–homepage$TxtHomepage!–endhomepage/a;}
$Wcontent=$Wcontent.brfont color=#0000FF时间:$time
来自:!–from$TxtFrom!–endfrom .$ip./font;
$Wcontent=ereg_replace(chr(10),,$Wcontent); $Wcontent=$Wcontent.hr
size=1/td/tr; $TxtReply=ereg_replace(chr(10),,$TxtReply);
$WContent=$Wcontent.$TxtReply.n; $count=count($content);
$fp=fopen($guestfile,w); for ($i=0;$i$count;$i++) { if ($i==$record-1)
{$content[$i]=$WContent;} fputs($fp,$content[$i]); } fclose($fp); }
$content=file($guestfile,r); $message=$content[$record-1];
$long=strlen($message);
$txtcontent=readvalue(‘!–content’,’!–endcontent’);
$txtname=readvalue(‘!–name’,’!–endname’);
$txtfrom=readvalue(‘!–from’,’!–endfrom’);
$txtemail=readvalue(‘!–email’,’!–endemail’);
$txthomepage=readvalue(‘!–homepage’,’!–endhomepage’);
$txtcontent=strip_tags($txtcontent); $tags=!–reply;
$txtreply=strstr($message,$tags); $txtreply=ereg_replace(,,$txtreply);
if ($Submit) { if ($TxtPassword==$managepwd) { if ($TxtName!= and
$TxtContent!=) { save($record); echo meta content=1;url=guest.php; exit;
}else {$errorm=留言人姓名和内容必填!!;} } else
{$errorm=密码错误,只有管理员有权修改!!;} } ? /head body bgcolor=#FFFFFF
background=back.gif ? include(‘head.htm’);? div align=center center
table border=1 width=68% height=31 cellspacing=0 cellpadding=7
bordercolor=#E3E3E3 form action=edit.php method=post ? if ($errorm and
$Submit) { echotr;echotd height=40 colspan=4; echofont
color=red出错了,/font$errorm; echo/td; echo/tr; } ? trtd width=18%
height=37 bgcolor=#f0f0f0font color=#000000留言大名/font/td td
width=39% height=37 bgcolor=#FFFFFFinput type=text name=TxtName size=26
value=?echo $txtname? /td td width=11% height=37 bgcolor=#f0f0f0font
color=#000000来自/font/td td width=32% height=37 bgcolor=#FFFFFFinput
type=text name=TxtFrom size=20 value=?echo $txtfrom? /td /tr trtd
width=18% height=31 bgcolor=#f0f0f0font color=#000000主页地址/font/td
td width=39% height=31 bgcolor=#FFFFFFinput type=text name=TxtHomepage
size=26 value=?echo $txthomepage? /td td width=11% height=31
bgcolor=#f0f0f0font color=#000000Email/font/td td width=32% height=31
bgcolor=#FFFFFFinput type=text name=TxtEmail size=20 value=?echo
$txtemail? /td /tr tr bgcolor=#FFFFFFtd height=31 colspan=4font
color=#000000留言内容/font/td /tr tr bgcolor=#f0f0f0td height=105
colspan=4 valign=middle align=centertextarea rows=6 name=TxtContent
cols=50 wrap=VIRTUAL? echo $txtcontent? /textarea /td /tr tr
bgcolor=#FFFFFFtd height=40 colspan=4 valign=middle align=center font
color=#000000修改密码/fontinput type=password name=TxtPassword size=10
value=?echo $TxtPassword? font color=#000000是否保存密码/fontinput
type=checkbox name=SavePassword value=on checked input type=hidden
name=record value=? echo $record? input type=submit value=我要修改了
name=Submit /td /tr ? echo $txtreply? input type=hidden name=TxtReply
value=? echo $txtreply ? /form /table /center /div
?include(‘bottom.htm’);? /body /html ———-
该注明的地方我已作了诠释.php可以嵌入html代码中,这样写起代码很惬意.
待续…

这一节我们将dele.php和sys.php放上来. ——— //dele.phphtml head
title删除留言/title style !– A:link {text-decoration: none ;
color:0000ff} A:visited {text-decoration: none; color:004080} A:active
{text-decoration: none} A:hover {text-decoration: underline;
color:ff0000} BODY {FONT-SIZE:10pt} TH {FONT-SIZE:10 pt} TD {FONT-SIZE:
10pt} — /style meta content=text/html; charset=gb2312 /head ?
require(sys.php); if ($Submit) { if ($password$managepwd) {$errorm=font
color=red密码错误/font.无权操作..;} else{ $content=file($guestfile);
$message=$content[$record-1]; $count=count($content); if
($dele==delreply) { $replylen=strlen(strstr($message,!–reply));
$long=strlen($message); $len=$long-$replylen;
$message=substr($message,0,$len); } else {$message=;} //writefile
$fp=fopen($guestfile,w); for ($i=0;$i$count;$i++) { if
($i==($record-1)){$content[$i]=$message;}
fputs($fp,$content[$i],strlen($content[$i])); }//end for
fclose($fp); echo meta content=1;url=guest.php; exit; } }// end ifSubmit
$content=file($guestfile); $message=$content[$record-1];
$found=ereg(!–reply,$message); ? body bgcolor=#FFFFFF
background=back.gif ? include(head.htm); ? table width=68% border=1
cellpadding=5 align=center cellspacing=0 bordercolor=#F2F2F2 form
action=dele.php method=post ? if ($errorm) { echo tr; echo td
height=27$errorm/td; echo /tr; } ? ? echo $message ? tr align=centertd
height=37 bgcolor=#f0f0f0? if ($found) { echo input type=radio
name=dele value=delall; echo 全部删除 ; echo input type=radio name=dele
value=delreply checked; echo 仅删除回复; } ? font
color=#000000管理密码/fontinput type=password name=password size=10
input type=hidden name=record value=? echo $record;? input type=submit
name=Submit value=我要删除了 /td /tr /form /table ? include(bottom.htm);
? /body /html —— //sys.php titlezihanonline/title?
$managepwd=’zihanonline’; $guestfile=guest.txt; function
check_strlen_long($txt) { $count=0; $arrtemp=$txt; $len=strlen($txt);
$txt=$txt.”; for ($i=0;$i$len;$i++) { if (ord($txt[$i])128) {
$count=$count+1;} if (ord($txt[$i])==10 or ord($txt[$i])==32)
{$count=0;} if ($count=70){ for ($j=$i;$j$len;$j++) {
$txt[$j+1]=$arrtemp[$j]; } $txt[$i]=n; $len=$len+1;
$txt[$len]=$arrtemp[$len-1]; $count=0; $arrtemp=$txt; }//end if
count } $txt=trim($txt); return $txt; }//end function function encode
($txt) { $txt=strip_tags($txt); $txt=htmlspecialchars($txt);
$message=StripSlashes($txt); return $message; } function ubb($txt) { } ?
body bgcolor=#FFFFFF background=back.gif ———- 注意sys.php中的
$managepwd=’zihanonline’
一栏中等号后的是留言本的管理密码号,此时是默认的zihanonline.您可以修改为自己的号码.
未完待续…

大家知道,数据库对于网络来说的重要性.由于cgi的复杂,现在asp和php+mysql已经成为主流.几乎所有的个人网页都要用到留言本,可是申请的留言本很不稳定.这为网上的交流带来了诸多不便.所以,希望拥有自己的留言本的朋友越来越多.
但是,免费的个人主页支持asp和php的很少.笔者现在向您推荐奥索网,()支持php.这样您便有了能够拥有自己留言本的基础.现在,我就通过一个文本留言本的例子来讲述php的简单使用.
首先,我们先确定,留言的几个过程:写留言,发送,查看.(搜索)等等.而且对于斑竹来说,管理留言本又是不可或缺的.这样我们就不妨定位于6个php文件,1个文本文件.6个php文件分别为:guest.php
manage.php reply.php sys.php del.php edit.php,1个文本文件为:guest.txt
先来看看guest.php的内容,你当然可以直接将下面的内容放到您的php网页里,请尊重作者的劳动,谢谢.
———————- //guest.php:? require(sys.php); if ($B1) {
if($message== or $name==) { $errorm=font
color=red出错了!!!/font姓名和留言内容必填; } else { #写入数据 $space =
; $time = date(Y年m月d日H小时i分); $ip=$REMOTE_ADDR;
$name=encode($name); $homepage=encode($homepage); $from=encode($from);
$email=encode($email); $message=StripSlashes($message);
$message=htmlspecialchars($message);
$message=check_strlen_long($message); $message=nl2br($message);
$guestcontent = trtdfont
color=#AB00E1留言内容:/fontbr!–content$message!–endcontent ;
$guestcontent=$guestcontent.brfont
color=#6633FF留言人大名:/font!–name$name!–endname ; if ($email !=)
{$guestcontent=$guestcontent.brfont color=#9900CC电子信箱/fonta
href=/mailto:$email/!–email$email!–endemail/a.$space;} if ($homepage
!=) {$guestcontent=$guestcontent.font color=#9900CC主页:/font$hompagea
href=/$homepage/!–homepage$homepage!–endhomepage/a;}
$guestcontent=$guestcontent.brfont color=#0000FF时间:$time
来自:!–from$from!–endfrom $ip/font;
$guestcontent=ereg_replace(chr(10),,$guestcontent);
$guestcontent=$guestcontent.hr size=1/td/tr/n; $fp=fopen($guestfile,a);
fputs($fp,$guestcontent); fclose($fp); } } ? html head
titlezihanonlinegbook/title style !– A:link {text-decoration: none ;
color:0000ff} A:visited {text-decoration: none; color:004080} A:active
{text-decoration: none} A:hover {text-decoration: underline;
color:ff0000} BODY {FONT-SIZE:10pt} TH {FONT-SIZE:10 pt} TD {FONT-SIZE:
10pt} TEXTAREA { FONT-FAMILY: 宋体; FONT-SIZE: 10pt; } — /style body
bgcolor=#FFFFFD background=bg.jpg div align=center?
include(‘head.htm’);? table width=68% border=1 cellpadding=3
cellspacing=0 bordercolor=#E3E3E3 form method=POST action=guest.php ?
if ($errorm) { echo tr; echo td colspan=3 height=32 ; echo $errorm; echo
/td; echo /tr; } ?trtd width=22% bgcolor=#F0F0F0font
color=#000000姓名font color=#FF0033(必填)/font/font/td td colspan=2
width=78% bgcolor=#F0F0F0font color=#00FF00input type=text name=name
size=40 /font/td /tr trtd width=22% height=29主页:/td td colspan=2
height=29 width=78%input type=text name=homepage size=40 value= /td /tr
trtd width=22% height=27 bgcolor=#F0F0F0来自:/td td colspan=2 height=27
width=78% bgcolor=#F0F0F0input type=text name=from size=40 /td /tr trtd
width=22% height=20Email:/td td colspan=2 height=20 width=78%font
color=#00FF00input type=text name=email size=40 /font/td /tr trtd
colspan=3 valign=middle align=leftdiv align=centerfont
color=#000000请留言/fontfont color=#FF0033(必填)/fontfont
color=#00FF00br textarea rows=6 name=message cols=55
wrap=VIRTUAL/textarea /font/div /td /tr tr bgcolor=#F0F0F0td colspan=3
height=24div align=centerfont color=#00FF00input type=submit value=发送
name=B1 input type=reset value=重 写 name=B2 /font/div /td /tr /form
/table table width=68% border=1 cellpadding=4 cellspacing=0
bordercolor=#E3E3E3 trtd table width=100% border=0 cellpadding=0
cellspacing=0 form action=manage.php method=post trtd colspan=2input
type=hidden name=dispflag value=show 管理密码:inputtype=password
name=password size=8 input type=submit value=确定 name=submit /td /tr
/form /table /td td table width=100% border=0 cellpadding=0
cellspacing=0 form action=guest.php method=post trtd 请输入关键字:input
type=text name=keyword size=10 input type=submit name=search
value=搜索留言 /td /tr /form /table /td /tr /table ? function
search($keyword) { global $content; $count=count($content);
$subscript=0; $ArrSearch=array(); for ($i=0;$i$count;$i++) { if
(ereg($keyword,$content[$i])){
$ArrSearch[$subscript]=ereg_replace($keyword,font
color=red$keyword/font,$content[$i]); $subscript++; } } return
$ArrSearch; }//end function $one_page_line=15; $content =
file($guestfile); if (isset($search) and isset($keyword) and $keyword!=)
{ $content=search($keyword); } $count =count($content); ? table
width=68% border=0 tr td ? $int_page_count=$count;//总条数;
$int_page_num=ceil($int_page_count/$one_page_line);//总页数; echo
font color=#CC33FF分页:; for ($i=1;$i=$int_page_num;$i++) { echo a
href=guest.php?page=$i.$i./a; } echo /font; if (isset($search) and
isset($keyword) and $keyword!=) { echo brcenter; echo
下面的留言中包含关键字font color=red$keyword/font共font
color=red.$count./font条/center; } ? /tdtdp align=right共有font
color=red?echo $count?/font条/p/td /tr /table /div br table width=68%
border=0 align=center ? if ($page== or !isset($page)) {$page=1;} $text=;
$begin_line=$int_page_count-($page-1)*$one_page_line; if
($begin_line$one_page_line){$one_page_line=$begin_line;} for
($j=$begin_line;$j($begin_line-$one_page_line);$j–) {
$text=$text.trtd align=right colspan=2a
href=reply.php?job=reply&record=.$j.回复/aa
href=edit.php?record=.$j.编辑/aa href=dele.php?record=.$j.删除/a第font
color=red$j/font条/td/tr; $text.=$content[$j-1]; //数组找下标从0开始.
} echo $text; ? /table ? include(‘bottom.htm’); ? /body/html
—————— 未完待续…

You can leave a response, or trackback from your own site.

Leave a Reply

网站地图xml地图