2-12留言板的问题
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 | <?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积分~
来为老师/同学的回答评分吧