在写代码之前做个自我介绍。. .
大家好,我叫燕子天外神坛,就叫我燕子吧。
做一个简单的PHP消息系统。
环境:PHP5.3++MySQL
当地的:
开发工具:Zend 11.0.2
知识点:PHP如何接收数据、序列化和反序列化操作等。
OK,在做这么小的系统之前,先理清思路。
做前端页面(显示数据)。后端接受数据并存储优化系统1.以制作简单的首页。
创建一个新文件并将其命名为“index.php”。这里就不讲制作过程了(也真的没什么好讲的)。主要是HTML的一些知识,基本是这样的:(里面的数据是可选的)
既然我们主要讲PHP(毕竟前端不是强项)php留言板系统,还是把前端页面简单点比较好。
直接粘贴代码:
留言页表页
编号 |
标题 |
内容 |
留言者 |
发布时间 |
心情 |
1 |
1111 |
11111111111 |
1 |
2017-10-02 09:10:51 |
[img=100px,100]https://tt.ccoox.cn/img/face.png[/img] |
现在,制作另一个添加页面并将其命名为“.php”。效果和代码如下:
添加留言页
2.接收存储的数据并显示在前端。
创建一个名为“.php”的新文件来接收和保存数据。
注意!这时候就需要在添加页面(“.php”)中为要传递的数据添加name属性。喜欢
并将表单中的提交方法设置为“GET”:
接下来,在“.php”中编写代码。
使用$_GET方法接收传过来的数据,并加一个isset判断:如果数据没有传过来,就给一个空值,如:
$username = isset($_GET['username'])?$_GET['username']:'';
将接收到的数据存储在一个二维数组中:
$arr[] = array(
'username'=>$username,
'title'=>$title,
'content'=>$content,
'xinqing'=>$xinqing,
'time'=>$time
);
序列化一个二维数组:
$arr = serialize($arr);//序列化
将序列化数据存储在名为“Data.txt”的文件中,例如:
$filename='Data.txt';
if(file_put_contents($filename, $arr)){
echo '添加留言成功 '.'继续添加|'.'查看留言|';
}else {
echo '添加留言失败';
}
前端显示:
这时候需要在“index.php”中添加几行代码:
1.读取代码:让前端读取数据:(把这段代码加到前面)
0){
$str = file_get_contents($filename);//取出数据
$userInfo = unserialize($str);//反序列化
}
?>
2.显示代码:遍历二维数组:(注意:此时应保留table标签的tr标签的第一行):
编号 |
标题 |
内容 |
留言者 |
发布时间 |
心情 |
$val){
?>
|
|
|
|
|
[img=100px,100]https://tt.ccoox.cn/[/img] "alt="" /> |
这样前端就可以读取和显示数据了!
3.一些小优化
1.为了防止恶意请求占用系统空间,我们需要对系统进行优化:
向表单标签添加一个按钮php留言板系统,如下所示:
在“.php”中添加if判断:
if ($act=='add'){//存入数据
$arr[] = array(
'username'=>$username,
'title'=>$title,
'content'=>$content,
'xinqing'=>$xinqing,
'time'=>$time
);
}
这段代码的目的是防止恶意请求占用系统空间。这样,只需要判断值是否通过即可。
2.修复一个小bug:这个小bug是所有数据只能存储一次。如果有新数据进来,它将被覆盖。为了解决这个问题,可以加一个if判断:
if (file_exists($filename)&&filesize($filename)>0){
//取出数据
$str = file_get_contents($filename);
//反序列化
$arr = unserialize($str);
}
这个判断的目的是判断文件是否已经存在。如果存在,则取出文件中的数据反序列化成二维数组,将新数据一起序列化到文件中,避免新数据覆盖旧数据。.
好了,现在一个简单的 PHP 消息系统就完成了。
【天外神坛】免责声明及帮助
1.重要:如果遇到隐藏内容回复后显示为代码状态,直接刷新一下页面即可解决此问题。
2.本文部分内容转载自其它媒体,但并不代表本站赞同其观点和对其真实性负责。
3.若您需要商业运营或用于其他商业活动,请您购买正版授权并合法使用。
4.如果本站有侵犯、不妥之处的资源,请在网站右边客服联系我们。将会第一时间解决!
5.本站所有内容均由互联网收集整理、网友上传,仅供大家参考、学习,不存在任何商业目的与商业用途。
6.本站提供的所有资源仅供参考学习使用,版权归原著所有,禁止下载本站资源参与商业和非法行为,请在24小时之内自行删除!
|