2-12留言板的问题
<?php header('content-type:text/html;charset=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'])){ $suername = $_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='webpage.php';</script>"; }else{ echo "<script>alert('留言失败!');location.href='webpage.php';</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="page-header"> <h1> U.D.G留言板-<span>1.0版本</span> </h1> </div> <div class="hero-unit"> <h1> Hello, world! </h1> <p> 这是一个可视化布局模板, 你可以点击模板里的文字进行修改, 也可以通过点击弹出的编辑框进行富文本修改. 拖动区块能实现排序. </p> <p> <a rel="nofollow" class="btn btn-primary btn-large" href="#">参看更多 »</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 date("m/d/y H:i:s",$val['time']);?> </td> <td> <?php echo $val['content'];?> </td> </tr> <?php endforeach;?> </tbody> </table> <?php endif;?> <form action="#" method="post"> <fieldset> <legend>请留言</legend> <label>用户名</label><input type="text" name="username" required/> <label>标题</label><input type="text" name="title" 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>
老师我的代码如上,在页面中打开的时候用户名那一栏会出错,请老师帮我看一下。
还有一个问题是,为什么<?php echo $val['title'];?>这行代码可以输出title的内容,好像并没有定义$val这个数组呀?请老师解释一下这行代码
源自:数组运用
2-12 留言板功能实现
63
收起
正在回答
3回答
您好,如下图所示,添加留言时用户名写错了,造成留言数据里并没有username这个字段,所以报username未定义。
另外$val是通过foreach遍历数组$msgs而来的,$msgs是一个二维数组,遍历之后得到的$val是一维数组,代表着一条留言数据。如果解决了您的问题,请采纳,祝学习愉快~
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星