PHP利用本地文件实现留言板功能

整体思路
首先需要一个文件录入数据信息,所以先定义一个文件,然后判断文件是否存在,若存在的话需要获取文件的内容并将文件内容转换为数组形式。

其次获得提交的数据,并将得到的数据以数组的形式录入文件中,然后通过遍历数组获取留言内容。

所用到的函数

<?php
header('content-type:text/html;charset=utf-8');
date_default_timezone_set('PRC');//设置时区
$filename='message.txt';//先创建一个存储数据的文件或数据库
$message=array();//创建一个空数组(?)
if (file_exists($filename)){//判断是否存在文件
    $fileStr=file_get_contents($filename);//获取文件的内容并读入为字符串
    if (strlen($fileStr)>0){
        $message = unserialize($fileStr);
    }
}
if (isset($_POST['submit'])){//判断是否点击提交
    $name=$_POST['name'];
    $qq=$_POST['qq'];
    $email=$_POST['email'];
    $content=$_POST['content'];
    $time=time();
    $info=compact('name','qq','email','content','time');//创建数组
    array_push($message,$info);//把数组$info放入$message
    $message=serialize($message);
    if (file_put_contents($filename,$message)){//
        echo '<script>alert("录入成功");location.href="exe.php";</script>';
    }else{
        echo '<script>alert("录入失败");location.href="exe.php";</script>';
    }
}
?>
<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>面试报名表</title>
    <link href="https://cdn.bootcss.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet">
    <!--[if lt IE 9]>
    <script src="https://cdn.bootcss.com/html5shiv/3.7.3/html5shiv.min.js"></script>
    <script src="https://cdn.bootcss.com/respond.js/1.4.2/respond.min.js"></script>
    <![endif]-->
</head>
<body>
<div class="container">
    <div class="message-board">
        <h1 class="text-center">面试报名表</h1>
        <?php if (is_array($message)&&count($message)>0){ ?>
        <table class="table table-striped table-bordered">
            <tr>
                <th>
                    序号
                </th>
                <th>
                    姓名
                </th>
                <th>
                    QQ
                </th>
                <th>
                    邮箱
                </th>
                <th>
                    时间
                </th>
                <th>
                    简介
                </th>
            </tr>
            <?php $i=1; foreach ($message as $value){ ?>
                <tr>
                    <td><?php echo $i++; ?></td>
                    <td><?php echo $value['name']; ?></td>
                    <td><?php echo $value['qq']; ?></td>
                    <td><?php echo $value['email']; ?></td>
                    <td><?php echo date('Y-m-d',$value['time']); ?></td>
                    <td><?php echo $value['content'] ?></td>
                </tr>
            <?php } ?>

        </table>
        <?php } ?>

        <form class="form-inline text-center" action="#" method="post">
            <div class="form-group">
                <input type="text" name="name" class="form-control" id="name" placeholder="姓名">
            </div>
            <div class="form-group">
                <input type="text" name="qq" class="form-control" id="qq" placeholder="QQ">
            </div>
            <div class="form-group">
                <input type="text" name="email" class="form-control" id="email" placeholder="邮箱">
            </div>
            <textarea name="content" class="form-control" rows="1"></textarea>
            <button type="submit" name="submit" class="btn btn-default">点击报名</button>
        </form>
    </div>
</div>
<script src="https://cdn.bootcss.com/jquery/1.12.4/jquery.min.js"></script>
<script src="https://cdn.bootcss.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
</body>