留言板项目

留言板项目

输入页部分(html)

文件名: liuyan.html

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>添加留言</title>              //设置一个主标题  
</head>
<h1 align="center">留言板</h1>
<body>

      <center> 
          <a href="index.php">查看留言</a>
          <hr width="500px">
          
          //设置一个输出框 并且以post方式输出到save.php
          <form action="save.php" method="POST">
            标题:<input type="text" name="title"><br>
            作者:<input type="text" name="author"><br>
            留言内容:<textarea cols="30" rows="5" style="resize: none" name="content"></textarea><br>
            提交:<input type="submit" value="提交留言"><br>


          </form>
          
      </center>

</body>
</html>

写入文件部分(php)

文件名: save.php

<?php


$fg = file_get_contents('ly.txt');        //从ly.txt文件读取数据  (格式为二维数组)

 $addr = $_SERVER['REMOTE_ADDR'];  //获取客户端IP地址
 $_POST['IP'] =  $addr;  //将IP地址插入

 date_default_timezone_set('PRC');  //修改为中国时区
 $time = date('Y-m-d H:i:s', time());   //获取当前时间
 $_POST['time'] =  $time;   //将时间插入


if($fg) {                                 //判断文件里面是否有数据
  $arr = json_decode($fg, true);          //如果存在数据 转为解码成二维数组  
  array_push($arr, $_POST);                //并且在末尾压入新数据
}else{           //如果没有数据
  $arr = [];          //定义一个空的一维数组                  
  $arr[] = $_POST;    //在一维数组里面再定义一个数组使其成为二维数组 并且将得到的数据压入
}
$rs = json_encode($arr);     //将压入新数据的数组编码成二维数组类型的字符串
file_put_contents('ly.txt',$rs);     //将编码后的字符串写入文件
echo "<script>alert('添加成功,即将跳转');location.href='index.php'</script>";
?>      //跳转到回显页面

    
    <?php

    //将留言板内容读取出来
    $fg = file_get_contents('ly.txt');

    $addr = $_SERVER['REMOTE_ADDR'];  //获取客户端IP地址
    $_POST['IP'] =  $addr;  //将IP地址插入

    date_default_timezone_set('PRC');  //修改时区
    $time = date('Y-m-d H:i:s', time());   //获取当前时间
    $_POST['time'] =  $time;


if($fg){
        //将json字符串转成二维数组
        $arr = json_decode($fg, true);
        //尾部压入
        array_push($arr,$_POST);
    }else {
        $arr = [];
        $arr[] = $_POST;
    }

回显查看部分(php)

文件名: index.php

<?php
    //取数据
    $res = file_get_contents('ly.txt');

    //字符串转数组
    $arr = json_decode($res,true);

?>


<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>查看留言</title>
    <style>
        .dd{
            text-align: center;
        }
    </style>
</head>
<body>

<center>
    <a href="liuyan.html">添加留言</a>
    <hr width="500px">

    <table border='1' width='500px' height='300px' align='center'>
        <caption><h2>留言查询</h2></caption>
        <tr>
            <th>序号</th>
            <th>标题</th>
            <th>作者</th>
            <th>IP地址</th>
            <th>内容</th>
            <th>操作</th>
        </tr>
        
        
        //三种写法

//一
   <?php
        global $abc;
        foreach ($arr as $k => $v):
            ?>
            <tr>
                <td><?= $k+1; ?></td>
                <td><?= $v['title']; ?></td>
                <td><?= $v['author']; ?></td>
                <td><?= $v['IP']; ?></td>
                <td><?= $v['content']; ?></td>
                <td>
                    <a href="del.php?id=<?= $k ?>">删除</ a>

                </td>


            </tr>
        <?php
       endforeach;
        ?>


//二

    <?php

            foreach ($arr as $k => $value) {
                $k += 1;
                echo $k;
                echo "<tr>";
                echo "<td> {$k} </td>
                      <td>{$value['title']}</td>
                      <td>{$value['author']}</td>
                      <td>{$value['IP']}</td>
                      <td>{$value['content']}</td>
              ";
               echo " <td>
            <a href='del.php?id=$k'>删除</a>
                      </td>";
                echo "</tr>";
            }   //超链接传参是给变量赋值时,=后面别加空格

        ?>




//三

<?php
        $i = 1;

        foreach ($arr as $k => $v) {                   //遍历输出二维数组的有多少个键值对
        echo "<tr align='center'><td>$i</td>";         //文字居中
            foreach ($v as $kk => $vv) {            //二维数组  第二个循环输出每个键值对里面的值
            echo "
            <td>$vv</td>";               //输出键值对值
            }
            echo "<td><a href='del.php?id=$i'>删除</a></td>
        </tr>";
        $i++;
        }
?>



    </table>

</center>

</body>
</html>


//三种写法

删除操作部分(php)

<?php
$va = $_GET[id]-1;          //使用get方式获取到一个计数器 因为数组从0开始 所以减1

$a = file_get_contents('ly.txt');      //从ly.txt文件中获取数据
$r = json_decode($a,true);               //将获取的数据解码成二维数组格式

unset($r[$va]);                   //删除所对应的键值对

sort($r);						//因为删除后 位置占用 所以这里按照升序重新排序数组
$r = array_values($r);          //另一种排序方法


$rs = json_encode($r);       //将删除指定键值对并且排序后的二维数组编码 
file_put_contents('wd.txt',$rs);      //将编码后的二维数组类型字符串写入文件
echo "<script>alert('删除成功,即将跳转');location.href='index.php'</script>";
        //跳转到回显页面
?>
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值