php xml留言板 xml存储数据的简单例子
2015-01-24信息快讯网
php xml留言板 xml存储数据的简单例子 php操作xml的简单留言板,带分页,仅供参考
类文件 : _class.xmldb.inc.php<?php class xmldb extends DOMDocument{ var $xmldb; public function __construct($xmldbname){ $this->xmldb=$xmldbname; if(!file_exists($this->xmldb)){ $initxmldb = "<?xml version=\"1.0\" encoding=\"utf-8\"?><Message></Message>"; $this->loadXML($initxmldb); $this->save($this->xmldb); }else{ $this->load($this->xmldb); } } public function insert_message($nickname,$message){ $messagedom = $this->getElementsByTagName("Message"); $subnode = $this->createElement("Rows"); $nicknamenode = $this->createElement("Nickname"); $nicknamenode -> appendChild($this->createTextNode($nickname)); $subnode -> appendChild($nicknamenode); $contentnode = $this->createElement("Content"); $contentnode -> appendChild($this->createTextNode($message)); $subnode -> appendChild($contentnode); $timernode = $this->createElement("Timer"); $timernode -> appendChild($this->createTextNode(time())); $subnode -> appendChild($timernode); $messagedom->item(0)->appendChild($subnode); $this->saveXML(); $this->save($this->xmldb); } function get_node_length($nodename){ $odom = $this->getElementsByTagName($nodename); return $odom->length; } public function get_message_list($start,$rowscount,$pagesize){ $end = $rowscount > $pagesize ? $start+$pagesize : $rowscount; $k = 0; for($i = $start; $i < $end; $i++){ $rowslist[$k]["Nickname"] = $this->getElementsByTagName("Nickname")->item($i)->nodeValue; $rowslist[$k]["Content"] = $this->getElementsByTagName("Content")->item($i)->nodeValue; $rowslist[$k]["Timer"] = $this->getElementsByTagName("Timer")->item($i)->nodeValue; $k++; } return $rowslist; } public static function splitpage($pageall,$page=1,$urled=null,$strpage = "page",$pageaverage = 10){ $pageaverage -= 1; $page = intval($page >=1 ? $page : 1 ); $page = $page > $pageall ? $pageall : $page; $startpage = $page - $pageaverage > 0 ? $page - ceil(($pageaverage / 2)):1; $startpage = ($page + ceil($pageaverage/2) > $pageall)?$pageall-$pageaverage:$startpage; $startpage = $startpage > 0 ? $startpage : 1; $stoppage = $startpage+$pageaverage >$pageall?$pageall:$startpage+$pageaverage; if(empty($urlfile)){ $urlfile=$_SERVER["PHP_SELF"]; } if(!strrpos($urlfile,'?')) $urled .= '?'; foreach($_GET as $k => $v) { $urled = ($k<>$strpage) ? $urled.$k.'='.urlencode($v).'&' : $urled; } if ($page>1){ $mess ="<a href="".$urled.$strpage."=1" href="".$urled.$strpage."=1">首页</a> "; $mess .="<a href="".$urled.$strpage."=".($page-1)."" href="".$urled.$strpage."=".($page-1)."">上一页 </a>"; }else{ $mess ="首页 "; $mess .="上一页 "; } if($page > 9){ $startpage = $page - 9; } $stoppage = $startpage + 9 >= $pageall ? $pageall : $startpage + 9; for($i= $startpage; $i<= $stoppage ;$i++) { if($i<= $pageall && !($page==$i)) $mess .= "<a href="".$urled.$strpage."=".$i."" href="".$urled.$strpage."=".$i."">".$i."</a> "; else $mess .= "".$i." "; } if ($page < $pageall){ $mess .=" <a href="".$urled.$strpage."=".($page+1)."" href="".$urled.$strpage."=".($page+1)."">下一页</a>"; $mess .=" <a href="".$urled.$strpage."=".$pageall."" href="".$urled.$strpage."=".$pageall."">尾页</a>"; }else{ $mess .=" 下一页"; $mess .=" 尾页"; } return $mess; } } ?>
调用文件 : index.php
<?php require("_class.xmldb.inc.php"); $xmldb = new xmldb("./my_xmldb.xml"); if(isset($_POST["btnform1"])){ $xmldb -> insert_message($_POST["nickname"],$_POST["content"]); } $pagesize = 3; $page = !empty($_GET['page']) ? intval($_GET['page']) : 1; $rowscount = $xmldb -> get_node_length("Rows"); $pagecount = ceil($rowscount/$pagesize); $start = ($page-1)*$pagesize > $rowscount ? $rowscount : ($page-1)*$pagesize; $rowslist = $xmldb -> get_message_list($start,$rowscount,$pagesize); ?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> <HEAD> <meta http-equiv="content-type" content="text/html;charset=utf-8"> <TITLE> New Document </TITLE> <style type='text/css'><!-- #messagelist ul li{ float:left;list-style-type:none; } --></style><style type='text/css' bogus="1"> #messagelist ul li{ float:left;list-style-type:none; } </style> </HEAD> <BODY> <div id="messagelist"> <?php if(!empty($rowslist)) { foreach($rowslist as $key => $value) { echo "<ul><li>".$value["Nickname"]." <span>(".date("Y-m-d H:i",$value["Timer"]).")</span></li>"; echo "<li>".$value["Content"]."</li></ul><br>"; } } ?> <div><?=$xmldb -> splitpage($pagecount,$page,'','page',$pagesize)?></div> </div> <div> <form action="" method="post" name="form1"> 昵称:<input type="text" name="nickname"><br> 内容:<textarea name="content">
php操作xml的简单留言板,带分页,仅供参考
php表单提交问题的解决方法
使用NetBeans + Xdebug调试PHP程序的方法
php产生随机数的两种方法实例代码 输出随机IP
PHP随机数生成代码与使用实例分析
PHP的cURL库功能简介 抓取网页、POST数据及其他
php模拟asp中的XmlHttpRequest实现http请求的代码
用PHP读取和编写XML DOM的实现代码
php simplexmlElement操作xml的命名空间实现代码
PHP读取XML值的代码(推荐)
PHP中simplexml_load_string函数使用说明
PHP 一个比较完善的简单文件上传
php读取html并截取字符串的简单代码
PHP 开源框架22个简单简介
建站常用13种PHP开源CMS比较
怎样去阅读一份php源代码
php win下Socket方式发邮件类
php 分页原理详解
PHP nl2br函数 将换行字符转成 <br>
php 生成WML页面方法详解
php_xmlhttp 乱码问题解决方法
PHP 生成的XML以FLASH获取为乱码终极解决
php 过滤危险html代码
PHP HTML代码串 截取实现代码
PHP XML备份Mysql数据库
php xml实例 留言本
php xml文件操作实现代码(二)
php+mysql写的简单留言本实例代码
php实现的简单压缩英文字符串的代码
[php] 我的微型论坛的简单教程[已完成]第1/8页