Php简单的留言板与回复功能
在网上找了这方面的教程 但是基本就是没有人说什么 然后在某一天看见一个PHP程序设计出了一张类似这样的数据库设计图之后就有了很多领悟!下面是数据库的结构图
下面我们就来继续一下介绍
id 这个算是父Id 可以通过这个id来查询 在这个id下是否有子id 同时也可以记录这个是那条留言的id
son_id 这个是子id 然后通过这个id 可以找到相对应的父id
news_id 记录文章的id
sender_author 接受留言的人
receiver_author 发送留言的人
content 留言的内容
status 在有人回复你的帖子的时候 这个值从0转为1时候 该消息不在显示 如果没点击进去 该消息依然存在
time 记录留言的时间
留言板回复思路
当发送方(也就留言的人)要到该文章下留言或者回复的的时候就需要接收方(也就文章的作者或者要被回复的人)来接收。单数据库语句查询到这个键sender_author和receiver_author 的是就会知道接收方是谁和发送方是谁了。然后在根据这个判断来显示出回复内容
提示你有一条新的消息思路
当发送方发送消息的时候 这个status的值默认为0 就是提示接收发 你有一条新的消息。当点击进去的时候 调用数据库修改语句把指定的值修改成为1 这样就不显示了
查看评论的时候 的数据库操作语句
代码如下 | 复制代码 |
function message($id){
|
这个是获取父的留言内容的代码
代码如下 | 复制代码 |
|
证 用户是否登陆 并给予留言权限
代码如下 | 复制代码 |
<form id="form1" name="form1" method="post" action="<?php echo site_url()."/publish/user_message"?>"> |
这个是显示了 获取指定的父id 之后来显示他里面的全部子id 和留言内容
代码如下 | 复制代码 |
<p>这里是<?php echo $is;?>楼 用户:<?php echo $sel->receiver_author;?> <br />留言内容:<?php echo $sel->content?> <a onClick="showdiv('contentid<?php echo $is;?>','showtext<?php echo $is;?>')" href="javascript:void(0)">回复</a> } else {
|
这个是实现之后的效果图片 留言板已经实现了 留言内容回复
然后这个是实现了 回复你的时候 会显示你有一条新的留言
在php中测试字符串长度的函数是strlen,但今天我发现使用isset更加的更高效哦,口说不你不相信下面我举两个例子来给各位看看。学PHP的都了解,在PHP中获取字符串有一个strlen自带函数;
这里和大家分享一个在一些特定情况下判断字符串长度较为高效的方式;
来看下面两段代码的执行效率吧,自己理解理解代码的执行思路:
代码如下 | 复制代码 |
<?php //使用strlen方式 $arr = '123456'; $sTime = microtime(1); if(strlen($arr) > 6){ // echo 1; } echo microtime(1) - $sTime; // 输出:0.00035595893859863 /*-------------------------------------*/ //使用isset($arr{})方式 $arr = '123456'; $sTime = microtime(1); if(!isset($arr{6})){ // echo "1rn"; } echo microtime(1) - $sTime; // 输出:0.00019097328186035 |
我们先来介绍INSERT语句
语法1: INSERT INTO table_name VALUES ("1", "2")
解说: 就是插入插入2个值。第一个值为:1 第二个值为:2
语句2:INSERT INTO table_name (column1, column2)VALUES (value1, value2)
解说:就是根据指定的键!插入指定的值。在字段 column1 插件的值为:value1 ,然后再字段column2 插入的值为:value2
INSERT语句的列子
代码如下 | 复制代码 |
<?php mysql_select_db("my_db", $con); mysql_query("INSERT INTO Persons (FirstName, LastName, Age) mysql_query("INSERT INTO Persons (FirstName, LastName, Age) mysql_close($con); |
例子
代码如下 | 复制代码 |
<?php |
一聚教程小编提醒你,保存数据时我们要注意页面之间的编码以免出现不必要的麻烦了,还有就是数据类型与我们提交的数据要一致否则数据是保存不成功的哦。
php中要查询mysql数据库中的内容我们必须先连接mysql数据库,然后再利用sql语句进行查询,下面我们来看一些例子吧。sql有许多对数据库操作的语句。但是常见和比较需要的是这么几个语句 。SELECT 语句用于从数据库中选取数据。
那么我们先来介绍第一种 SELECT语句
语句1:SELECT * FROM table_name
解说:意思就是读取整个表table_name里面的数据显示出来
语句1:SELECT * FROM table_name Where x = 1
解说:意思就是读取表table_name里面键名为:x 值为:1的 数据显示出来
Select 查询语句的例子
代码如下 | 复制代码 |
<?php $con = mysql_connect("localhost","peter","abc123"); if (!$con) { die('Could not connect: ' . mysql_error()); } mysql_select_db("my_db", $con); $result = mysql_query("SELECT * FROM Persons"); while($row = mysql_fetch_array($result)) { echo $row['FirstName'] . " " . $row['LastName']; echo "<br />"; } mysql_close($con); ?> |
例子
代码如下 | 复制代码 |
<?php |
mysql中文数据出现乱码
数据库采用UTF8编码,而页面申明编码是GB2312,这是最常见的产生乱码的原因。这时候在PHP脚本里面直接SELECT数据出来的就是乱码,需要在查询前先使用:
代码如下 | 复制代码 |
mysql_query("SET NAMES GBK");或mysql_query("SET NAMES GB2312"); |
来设定MYSQL连接编码,保证页面申明编码与这里设定的连接编码一致(GBK是GB2312的扩展)。如果页面是UTF-8编码的话,可以用:
mysql_query("SET NAMES UTF8"); 注意是UTF8而不是一般用的UTF-8。假如页面申明的编码与数据库内部编码一致可以不设定连接编码。
代码如下:
代码如下 | 复制代码 |
$mysql_mylink = mysql_connect($mysql_host, $mysql_user, $mysql_pass); |
在PHP中用header("location:test.php")进行跳转要注意以下几点:
1、location和“:”号间不能有空格,否则会出错。
2、在用header前不能有任何的输出,包括include的页面中标签“?>”后不能有空格!!
3、header后的PHP代码还会被执行。
PHP的 header 跳转之前不能有任何内容输出,因为PHP开始执行的时候就已经向浏览器送出HTTP头信息,之后就不再允许更改了.
但是如果必须要在输出之后再处理header信息的话可以使用 ob_start() ob_end_flush() 来缓存一下要发送的内容,等到header继续再发送内容.
或者一个更简单的办法,修改php.ini,找到 output_buffering=Off 修改为 output_buffering=4096
相关文章
- 本文介绍基于nodejs+express+art-template的留言板功能。包含列表界面、添加界面和发送留言功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2021-09-21
- 我要实现的就是下图的这种样式,可参考下面这两个网站的留言板,他们的实现原理都是一样的畅言留言板样式:网易跟帖样式:原理 需要在评论表添加两个主要字段 id 和 pid ,其他字段随意添加,比如文章id、回复时间、回复内容、...2015-11-08
- 本文就是和大家分享一款由php结合ajax实现的无刷新留言板,先给大家看一下最后的效果图:数据库连接代码如下: <?php$conn = @mysql_connect("localhost","root","root") or die ("MySql连接错误");mysql_select_db("d...2015-10-30
- 这篇文章主要介绍了C#实现图片放大功能的按照像素放大图像方法,功能非常实用,需要的朋友可以参考下...2020-06-25
- 在本篇文章中小编给各位整理了一篇关于python中翻译功能translate模块实现方法,有需要的朋友们可以参考下。...2020-12-18
- EMUI11值得升级吗?好不好用?下面小编带来EMUI11上手体验,一起来看看手机鸿蒙OS的提前预演...2020-12-08
- AngularJS 让人爱不释手的八种功能,想知道AngularJS哪八种功能让人喜欢就快点看下本文吧...2016-03-28
- 这篇文章主要给大家介绍了关于微信小程序实现导航功能的操作步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-03-10
- phpmyadmin还有高级功能可能大部份站长不知道吧,今天本文章就来给大家介绍phpMyAdmin 高级功能设置的方法图解,希望文章对大家会有所帮助。 phpMyAdmin 安装后,默认...2016-11-25
- 这篇文章主要为大家分享了一份很全面的JavaScript常用功能汇总集合,一些常用的额JS 对象、基本数据结构、功能函数等,感兴趣的小伙伴们可以参考一下...2016-01-24
- 小爱同学5.0即将发布,据已知报道小爱同学5.0将新增机型,跟着小编一起来看看吧,顺便了解下即将都有哪些新功能面市吧...2020-12-08
- 这篇文章主要为大家详细介绍了Vue实现简单的留言板,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2020-10-22
- 这篇文章主要为大家详细介绍了javascript实现简单留言板案例,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2021-02-09
- 这篇文章主要介绍了Go语言实现简单留言板的方法,涉及数据库、模板页面元素等留言板相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下...2020-05-03
Night Shift是什么意思 Night Shift有什么功能及作用?
Night Shift是IOS9.3正式版系统新增加的功能之一,很多伙伴们都不清楚Night Shift是什么意思?以及Night Shift有什么用途?对此,本文小编就为大家详细介绍Night Shift的含义及作用...2016-07-04Mate30EPro有哪些功能特色 Mate30EPro功能特色介绍
Mate30EPro刚刚发布,那么这款华为新机Mate30EPro有哪些功能特色呢,一起来了解一下吧...2020-12-08- <?php include_once("mime.inc"); $mm = new MIME(); $to = "customer@263.net"; $subject = $mm->encode("商城","gb2312"); // 编码 $msg = "注册会员成功<br>"; $m...2016-11-25
python通过安装itchat包实现微信自动回复收到的春节祝福
这篇文章主要介绍了python通过安装itchat包实现微信自动回复收到的春节祝福,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友参考下吧...2020-04-22- 这是一个最基础的留言板程序了,但是己经有了留言板程序基本功能,很适合于php初学者用用,学习用啊,当然也可以用于企业网站也是很不错的哦。 代码如下 复...2016-11-25
php基于ob_start(ob_gzhandler)实现网页压缩功能的方法
小编推荐的这篇文章介绍了php基于ob_start(ob_gzhandler)实现网页压缩功能的方法,非常实用,有兴趣的同学可以看看。 PHP生成网页后传送给浏览器显示 ,页面的打开速度...2017-07-06