老师,留言添加后显示不出来?array_push()警告
<?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);
}
}
$data=[];
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='imooc1.php';</script>";
}else{
echo "<script>alert('留言失败!');location.href='imooc1.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>
Imooc留言板<small>v1.0</small>
</h1>
</div>
<div class="hero-unit">
<h1>
Hello, Imooc!
</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>
</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('Y/d/m 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是否是该PHP文件的名称
if(file_put_contents($filename,$msgs)){ echo "<script>alert('留言成功!');location.href='imooc1.php';</script>"; }else{ echo "<script>alert('留言失败!');location.href='imooc1.php';</script>"; }
代码运行效果为:
如果解决您的问题请采纳,祝学习愉快!
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星