2-9大作业 又出问题了。
主页有出问题的,这样问题我不知道是哪里的问题。。
是的,在11行
但我不明白错哪里了,请老师帮帮忙。
<?php header("content-type:text/html;chaser=utf-8;"); date_default_timezone_set('PRC'); $filename="msg.txt"; $msgs=[]; //检测文件是否存在 if(file_exists($filename)){ //读取文件中的内容 $string=file_get_contents($filename) if(strlen($string)>0){ //这里是错误提示位置 //反序列化 $msgs=unserialize($string); } } ?> <!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="hero-unit"> <h1> <strong>留言板</strong> </h1> <p> 有话想说,给你一个留言板~~ </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> <th> 操作 </th> </tr> </thead> <?php foreach($msgs as $key=>$val): ?> <tbody> <tr class="success"> <td> 1 </td> <td> King </td> <td> 标题! </td> <td> <?php echo date('Y-m-d H:i:s',time()) ?> </td> <td> 内容! </td> <td> 编辑|删除 </td> </tr> </tbody> </table> <?php endforeach; ?> <?php endif; ?> <hr/> <p> <a class="btn btn-primary btn-large" href="add.php" rel="nofollow">我要留言 »</a> </p> </div> </div> </div> </body> </html>
43
收起
正在回答
3回答
您好,当您留言成功应该返回index.php,留言失败时应该返回add.php,不应给空的链接地址。由于您给留言成功和留言失败时的跳转地址都是#,导致成功或失败,都会回到首页上,而此时首页中是没有数组中的信息的,会直接没有显示内容。且小慕这边测试您的代码是在点击发布留言按钮之后没有留言显示,并不存在关闭浏览器再次打开时,数据不存在的情况。祝学习愉快!
羽澜星
2017-07-29 21:45:04
首页 代码:
<?php header("content-type:text/html;chaser=utf-8;"); date_default_timezone_set('PRC'); $filename="msg.txt"; $msgs=[]; //检测文件是否存在 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']); //过滤HTML标记防止注入 $content=strip_tags($_POST['content']); $time=time(); //将其组成关联数组 $data=compact('username','title','content','time'); //放到$msgs数组中 array_push($msgs,$data); $msgs=serialize($msgs); //写入文件 if(file_put_contents($filename,$msgs)){ //成功:弹出提示且返回当前页面 echo "<script>alert('留言成功');locaton.href='#';</script>"; }else{ //失败:弹出提示且返回当前页面 echo "<script>alert('留言失败');locaton.href='#';</script>"; } } ?> <!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="hero-unit"> <h1> <strong>留言板</strong> </h1> <p> 有话想说,给你一个留言板~~ </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> <th> 操作 </th> </tr> </thead> <tbody> <?php $i=1; foreach($msgs as $key=>$val): ?> <tr class="success"> <td> <?php echo $i++; ?> </td> <td> <?php echo $val['username']; ?> </td> <td> <?php echo $val['title']; ?> </td> <td> <?php echo date('Y-m-d H:i:s',$val['time']); ?> </td> <td> <?php echo $val['content']; ?> </td> <td> 编辑|删除 </td> </tr> <?php endforeach; ?> </tbody> </table> <?php endif; ?> <hr/> <p> <a class="btn btn-primary btn-large" href="add.php" rel="nofollow">我要留言 »</a> </p> </div> </div> </div> </body> </html>
add.php 添加留言页面:
<?php header("content-type:text/html;chaser=utf-8;"); date_default_timezone_set('PRC'); ?> <!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="hero-unit"> <h1> 请写下你想说的话.... </h1> </div> <form class="form-horizontal" action="1.php" method="post"> <div class="control-group"> <label class="control-label" >用户名</label> <div class="controls"> <input type="text" name="username" required /> </div> </div> <div class="control-group"> <label class="control-label" >标题</label> <div class="controls"> <input type="text" name="title" required /> </div> </div> <div class="control-group"> <label class="control-label" >内容</label> <div class="controls"> <textarea name="content" rows="8" cols="80"></textarea> </div> </div> <div class="control-group"> <div class="controls"> <input type="submit" name="pubMsg" value="发布留言" class="btn btn-primary btn-large" /> </div> </div> </form> </div> </div> </div> </body> </html>
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星