设为首页 收藏本站
查看: 608|回复: 0

[经验分享] Php+Xml留言本小程序

[复制链接]

尚未签到

发表于 2015-8-26 09:51:40 | 显示全部楼层 |阅读模式
  这个小例子主要是对写了对Php对Xml文件的操作,和节点的遍历。

  config.php文件

<?php
/*************************************************
/*
/*Author:Lee
/*Date  :2009-5-15
/*
*************************************************/
$CONFIGS = array(
    'title'=>"留言在线",
    'version'=>"Copyright &copy; 2009 &#946;1.0"   
);
?>  
  index.php文件

<?php
define("ROOT",$_SERVER['DOCUMENT_ROOT']);
/*************************************************
/*
/*Author:Lee
/*Date  :2009-5-15
/*
*************************************************/
require(ROOT."/m/config.php");
$post = $_POST;
$data = ROOT."/m/data/message.xml";
if (empty($post))
{
    $info = GetRecordFromXml($data);
}
else
{
    $content = GetValues($post);
    WriteToXml($data,$content);
}

function GetRecordFromXml($fname)
{
    $info = array();
    $xml = new DOMDocument();
    $xml->load($fname);
    $i = 0;
    foreach($xml->getElementsByTagName('record') as $list)
    {
        $info[$i]['name'] = $list->childNodes->item(0)->childNodes->item(0)->data;
        $info[$i]['content'] = $list->childNodes->item(1)->childNodes->item(0)->data;
        $info[$i]['stime'] = $list->childNodes->item(2)->childNodes->item(0)->data;
        ++$i;
    }
    return $info;
}
function GetValues($values)
{
    date_default_timezone_set('Asia/Shanghai');
    $name = $values['name'];
    $content = $values['content'];
    $_name = "<name>";
    $name_ = "</name>";
    $_content = "<content>";
    $content_ = "</content>";
    $stiem = "<stime>".date("Y-m-d H:i:s")."</stime></record>";
    return '<record>'.$_name.$name.$name_.$_content.$content.$content_.$stiem.'</message>';
}
function WriteToXml($fname,$content)
{
    $fp = fopen($fname,'r+');
    fseek($fp,(0-strlen('</message>')),SEEK_END);
    fwrite($fp,$content);
    fclose($fp);
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
  <TITLE><?php echo $CONFIGS['title'];?></TITLE>
  <META NAME="Author" CONTENT="Libch">
  <META NAME="Keywords" CONTENT="">
  <META NAME="Description" CONTENT="">
  <META http-equiv="Content-Type" content="text/html; charset=utf-8">
</HEAD>
    <SCRIPT LANGUAGE="JavaScript">
    <!--
        String.prototype.trim = function()
        {
            return this.replace(/(^\s*)|(\s*$)/g, "");
        }
        function checkForm()
        {
            var name= document.getElementById('name').value;
            var content = document.getElementById('content').value;
            if (name == null || name == "" || name.trim() == "")
            {
                alert("昵称不能为空!");
                return ;
            }
            if (content == null || content =="" || content.trim() =="")
            {
                alert("内容不能为空!");
                return ;
            }
            document.formMain.submit();
        }
    //-->
    </SCRIPT>
    <style type="text/css">
        .style4{
            width: 800px;
            height: auto;
            margin: 0px auto;
            margin-bottom:20px;
            border:1px solid #CCEFF5;
            background-color: #FAFCFD
        }
    </style>
<BODY>
  <FORM METHOD=POST ACTION="index.php" name="formMain">
    <?php
    if(empty($info))
    {
    ?>
    <div class="style4" style="text-align:center;">还没有留言内容!</div>
    <?php
    } else {
        $size = sizeof($info);
    ?>
    <div class="style4">
        <?php
        for($i=0;$i<$size;++$i){   
        ?>
        <TABLE>
        <TR>
            <TD>昵称:</TD>
            <TD><?php echo $info[$i]['name'];?></TD>
        </TR>
        <TR>
            <TD>内容:</TD>
            <TD><?php echo $info[$i]['content'];?></TD>
        </TR>
        <TR>
            <TD>时间:</TD>
            <TD><?php echo $info[$i]['stime'];?></TD>
        </TR>
        </TABLE>
        <?php
        }
        ?>
    </div>
    <?php
    }
    ?>
    <div class="style4">
    <TABLE>
        <TR>
            <TD>昵称:</TD>
            <TD><INPUT TYPE="text" NAME="name" id="name" maxlength="10" size="20"><font color="red">*最多10个字符</font></TD>
        </TR>
        <TR>
            <TD>内容:</TD>
            <TD><TEXTAREA NAME="content" id="content" ROWS="3" COLS="50" maxlength="150"></TEXTAREA></TD>
        </TR>
        <TR>
            <TD>&nbsp;</TD>
            <TD><INPUT TYPE="button" value="提交" onclick="return checkForm();">&nbsp;<INPUT TYPE="reset"></TD>
        </TR>
    </TABLE>
    </div>
    <div class="style4" style="text-align:center;"><?php echo $CONFIGS['version'];?></div>
  </FORM>
</BODY>
</HTML>
  位于data目录下的Xml文件结构
  <?xml version="1.0" encoding="utf-8"?>
<message></message>

  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-104348-1-1.html 上篇帖子: [原创]Flex和PHP脚本的整合(2)--AMFPHP篇 下篇帖子: 关于Netbeans调试PHP
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表