我的什么地方错了

我的什么地方错了

<?php

header('content-type:text/html;charset=utf-8');

date_default_timezone_set('PRC');

$filename="lyb.txt";


// 检测文件是否存在

if (file_exists($filename)) {

// 读取文件内容

$string=file_get_contents($filename);

if(strlen($string)>0){

$msgs=unserialize($string);

}

}

//检测用户是否点击了提交按钮

if(isset($_POST['pubMsg'])){

$username=$_POST['username'];

$title=strip_tags($_POST['title']);

$content=strip_tags($_POST['content']);

$time=time();

//将其组成关联数组

$data=compact('username','title','content','time');

array_push($msgs,$data);

$msgs=serialize($msgs);

if(file_put_contents($filename,$msgs)){

echo "<script>alet('留言成功');location.href='liuyanban.php';</script>";

}else{

echo "<script>alet('留言失败');location.href='liuyanban,php';</script>";

}

}

/*

$msgs=[

[...],

[...]

];

file_get_contents($filename):得到文件内容,返回字符串

file_put_contents($filename):向指定文件写内容,如果文件不存在,会创建

serialize($str):序列号字符串

unserialize($str):反序列号

*/

// var_dump($msgs);

?>

<!DOCTYPE html>

<html>

<head>

<script type="text/javascript" src="http://www.francescomalagrino.com/BootstrapPageGenerator/3/js/jquery-2.0.0.min.js"></script>

<script type="text/javascript" src="http://www.francescomalagrino.com/BootstrapPageGenerator/3/js/jquery-ui"></script>

<link href="http://www.francescomalagrino.com/BootstrapPageGenerator/3/css/bootstrap-combined.min.css" rel="stylesheet" media="screen">

<script type="text/javascript" src="http://www.francescomalagrino.com/BootstrapPageGenerator/3/js/bootstrap.min.js"></script>

</head>

<body>

<div class="container-fluid">

<div class="row-fluid">

<div class="span12">

<div class="page-header">

<h1>

刘爸爸的留言板<small>v1.0</small>

</h1>

</div>

<div class="hero-unit">

<h1>

2b小屁孩,你好!

</h1>

<p>

这是爸爸为你做的留言板,为了你总是会做出那么傻吊的行为而创建,在这里,你可以把你的傻吊行为都写在这!!!以便你改正,不要总是让我认为自己不够傻吊而和你格格不入。

</p>

<p>

<a rel="nofollow" class="btn btn-primary btn-large" href="#">2b属性 »</a>

</p>

</div>

<?php

if(is_array($msgs)&&count($msgs)>0):?>

<table class="table">

<thead>

<tr>

<th>

编号

</th>

<th>

用户名

</th>

<th>

标题

</th>

<th>

时间

</th>

            <th>

              内容

              </th>

</tr>

</thead>

<tbody>

<?php $i=1; foreach($msgs as $val):?>

<tr class="success">

<td>

<?php echo $i++;?>

</td>

<td>

<?php echo $val['username'];?>

</td>

<td>

<?php echo $val['title'];?>

</td>

<td>

<?php echo $val['content'];?>

</td>

<td>

<?php echo date("m/d/Y H:i:s",$val['time']);?>

</tr>

<?php endforeach;?>

</tbody>

</table>

<?php endif;?>

<form action="#" method="post">

<fieldset>

          <legend>请留言</legend>

          <label>用户名</label><input type="text" name="username" value="" required/>

          <label>标题</label><input type="text" name="title" value="" required/>

          <label>内容</label><textarea name="content" rows="5" cols="30" required></textarea>

          <hr>

          <input type="submit" class="btn btn-primary btn-lg" name="pubMsg" value="发布留言"/>

          </fieldset>

        </form>

   </div>

  </div>

</div>

</body>

</html>


正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
好帮手慕查理 2019-04-18 18:57:45

您好,1.需要先定义一个$msgs变量,否则在没有获取到文件信息时,是不存在$msgs变量的。

2.js中alert拼写错误。

<?php
header('content-type:text/html;charset=utf-8');
date_default_timezone_set('PRC');
$filename="lyb.txt";
$msgs=[];
// 检测文件是否存在
if (file_exists($filename)) {
// 读取文件内容
    $string=file_get_contents($filename);
    if(strlen($string)>0){
        $msgs=unserialize($string);
    }
}
print_r($msgs);
//检测用户是否点击了提交按钮
if(isset($_POST['pubMsg'])){
    $username=$_POST['username'];
    $title=strip_tags($_POST['title']);
    $content=strip_tags($_POST['content']);
    $time=time();
//将其组成关联数组
    $data=compact('username','title','content','time');
    array_push($msgs,$data);
    $msgs=serialize($msgs);
    if(file_put_contents($filename,$msgs)){
        echo "<script>alert('留言成功');location.href='liuyanban.php';</script>";
    }else{
        echo "<script>alert('留言失败');location.href='liuyanban,php';</script>";
    }
}
/*
$msgs=[
[...],
[...]
];
file_get_contents($filename):得到文件内容,返回字符串
file_put_contents($filename):向指定文件写内容,如果文件不存在,会创建
serialize($str):序列号字符串
unserialize($str):反序列号
*/
// var_dump($msgs);
?>
<!DOCTYPE html>
<html>
<head>
    <script type="text/javascript" src="http://www.francescomalagrino.com/BootstrapPageGenerator/3/js/jquery-2.0.0.min.js"></script>
    <script type="text/javascript" src="http://www.francescomalagrino.com/BootstrapPageGenerator/3/js/jquery-ui"></script>
    <link href="http://www.francescomalagrino.com/BootstrapPageGenerator/3/css/bootstrap-combined.min.css" rel="stylesheet" media="screen">
    <script type="text/javascript" src="http://www.francescomalagrino.com/BootstrapPageGenerator/3/js/bootstrap.min.js"></script>
</head>
<body>
<div class="container-fluid">
    <div class="row-fluid">
        <div class="span12">
            <div class="page-header">
                <h1>
                    刘爸爸的留言板<small>v1.0</small>
                </h1>
            </div>
            <div class="hero-unit">
                <h1>
                    2b小屁孩,你好!
                </h1>
                <p>
                    这是爸爸为你做的留言板,为了你总是会做出那么傻吊的行为而创建,在这里,你可以把你的傻吊行为都写在这!!!以便你改正,不要总是让我认为自己不够傻吊而和你格格不入。
                </p>
                <p>
                    <a rel="nofollow" class="btn btn-primary btn-large" href="#">2b属性 »</a>
                </p>
            </div>
            <?php
            if(is_array($msgs)&&count($msgs)>0):?>
                <table class="table">
                    <thead>
                    <tr>
                        <th>
                            编号
                        </th>
                        <th>
                            用户名
                        </th>
                        <th>
                            标题
                        </th>
                        <th>
                            时间
                        </th>
                        <th>
                            内容
                        </th>
                    </tr>
                    </thead>
                    <tbody>
                    <?php $i=1; foreach($msgs as $val):?>
                        <tr class="success">
                            <td>
                                <?php echo $i++;?>
                            </td>
                            <td>
                                <?php echo $val['username'];?>
                            </td>
                            <td>
                                <?php echo $val['title'];?>
                            </td>
                            <td>
                                <?php echo $val['content'];?>
                            </td>
                            <td>
                                <?php echo date("m/d/Y H:i:s",$val['time']);?>
                        </tr>
                    <?php endforeach;?>
                    </tbody>
                </table>
            <?php endif;?>
            <form action="#" method="post">
                <fieldset>
                    <legend>请留言</legend>
                    <label>用户名</label><input type="text" name="username" value="" required/>
                    <label>标题</label><input type="text" name="title" value="" required/>
                    <label>内容</label><textarea name="content" rows="5" cols="30" required></textarea>
                    <hr>
                    <input type="submit" class="btn btn-primary btn-lg" name="pubMsg" value="发布留言"/>
                </fieldset>
            </form>
        </div>
    </div>
</div>
</body>
</html>

祝学习愉快!

  • 提问者 我有一个失业梦 #1
    那个我改完后,也显示留言成功了,但是页面上没有留言是怎么回事啊
    2019-04-18 19:07:48
  • 您好 ,测试是留言成功之后是可以显示留言的,请同学查看一下跳转页面的路径是否正确,以及跳转之后的路径,另查看一下数据是否写入到文件中,以及在表格位置处输出写内容,查看程序是否执行到此处。祝学习愉快!
    2019-04-19 09:42:38
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
PHP小白零基础入门
  • 参与学习           人
  • 提交作业       626    份
  • 解答问题       4928    个

想要学好Web后端开发的中流砥柱语言,本阶段为你轻松铺就扎实的基础,从前端网页布局的搭建到后台PHP开发,助你从零基础到掌握主流开发语言。

了解课程
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师