PHP结合Mysql数据库实现留言板功能
先给大家展示下留言板效果图:
最近看了下PHP基础语法,就想利用这些基本东西实现留言板,也是对基础知识的一个巩固。
什么是留言板?一种可以用来记录,展示文字信息的载体。
现切入正题,说说本次留言板是怎么实现!
首先用户提交留言后,相关内容存入服务器,当他想看的时候后台再把所有留言读出来,最后显示在浏览器上,用户就可以看到留言了。
这其中后台需要便于读写数据的一个工具,我选择mysql数据库来帮助我完成这些事。
我写了主要是三个php文件,分别是:
conn.php 连接数据库;
addmsg.php php从页面读取留言相关内容,并且把它存入(Insert)数据库;
listmsg.php 从数据库中读取留言内容,然后把它显示在页面上;
1.准备建立数据库表的结构,下面是我的表结构在phpMyAdmin下的截图:
建表语法
SQL CREATE TABLE 语法 CREATE TABLE 表名称 ( 列名称1 数据类型, 列名称2 数据类型, 列名称3 数据类型, .... )
2.php连接mysql数据库,然后选择其中一个数据库,我这里选的是bbs数据库(ps 之前创建的) 下面介绍几个要用到的php库函数,
①mysql_connect("localhost", "root", "")
php连接mysql,参数分别是mysql地址(localhost代表本机),用户名,密码
返回值:如果连接失败返回false,成功返回一个连接标识符
②mysql_select_db($dbName, $conn);
mysql里可以有很多db,所以你需要选择一个其中一个db进行接下来的操作。
参数:第一个是数据库名称,第二个是链接标识符,可以把①中的返回值放这里,代表的是我将使用①中的mysql。
返回值:false 连接失败,true连接成功。
③mysql_query(query,connection)
参数:query代表你要mysql执行的语句
connection 可选,SQL连接标识符同上面所讲
返回值:mysql_query() 仅对 SELECT,SHOW,EXPLAIN或DESCRIBE语句返回一个资源标识符,如果查询执行不正确则返回 FALSE。
对于其它类型的 SQL 语句,mysql_query() 在执行成功时返回 TRUE,出错时返回 FALSE。
个人对这个返回值的总结:此函数执行失败就返回false;执行成功要看是什么语句,如果是SELECT,SHOW,EXPLAIN 或 DESCRIBE 语句,那么就会返回资源标识符,其他的语句就返回true ;
说了这么多, 留言板的脉络已经出来了
下面开始上代码
conn.php
<span style="font-family:Comic Sans MS;font-size:14px;"><?php include("head.php"); $dbName = "bbs"; $conn = @ mysql_connect("localhost", "root", "") or die("数据库链接错误"); $flag = mysql_select_db($dbName, $conn); mysql_query("set names 'GBK'"); //使用GBK中文编码; function toHtmlcode($content) { return $content = str_replace("\n","<br>",str_replace(" ", " ", $content)); } ?></span>
上面有一个toHtmlcode自定义函数功能是把字符串中回车(\n)替换成html中的换行<br>,把空格替换成html中的空格( )
其中有一个函数介绍如下
语法
str_replace(find,replace,string,count)
参数 | 描述 |
---|---|
find | 必需。规定要查找的值。 |
replace | 必需。规定替换 find 中的值的值。 |
string | 必需。规定被搜索的字符串。 |
count | 可选。一个变量,对替换数进行计数。 |
addmsg.php
<span style="font-family:Comic Sans MS;font-size:14px;"><?php // 引用之前写好的连接数据库文件 include("conn.php"); if(@$_POST['submit']){ $sql = "insert into message (id,user,title,content,lastdate)" . "values ( '','$_POST[userName]','$_POST[title]','$_POST[content]',now())"; mysql_query($sql); echo "添加成功"; } ?> <SCRIPT language=javascript> function CheckPost() { if (myform.userName.value=="") { alert("请填写用户名"); myform.user.focus(); return false; } if (myform.title.value.length<5) { alert("标题不能少于5个字符"); myform.title.focus(); return false; } if (myform.content.value=="") { alert("必须要填写留言内容"); myform.content.focus(); return false; } } </SCRIPT> <form action="addmsg.php" method="post" name = "myform" onsubmit="return CheckPost();"> 用名:<input type="text" size="10" name="userName" /><br/> 标题:<input type="text" name="title" /><br/> 内容:<textarea name="content" cols="60" rows="9" ></textarea><br/> <input type="submit" name="submit" value="提交留言" /> </form> </span>
include 是引入conn.php,类似于c语言中include
$_POST 变量是一个数组,此变量用于收集来自 method="post" 的表单中的值,post发出的键值对存于此$_POST数组中$_POST['submit'] 取键submit的值,如果触发submit,也就是CheckPost返回为true时,会post值,显然$_POST['submit']不为空,非空即为真,那么就执行if里面的插入语句。使留言内容保存在mysql数据库中。
listmsg.php
<span style="font-family:Comic Sans MS;font-size:14px;"><?php include("conn.php"); ?> <table width=500 border="0" align="center" cellpadding="5" cellspacing="1" bgcolor="#add3ef"> <?php $sql = "SELECT * FROM message order by lastdate desc"; $query = mysql_query($sql); while($row = mysql_fetch_array($query)){ ?> <tr bgcolor="#eff3ff"> <td><b><big> 标题:<?= $row['title']?></big><b/> <b><sub> 用户:<?= $row['user']?></sub></b></td> </tr> <tr bgColor="#ffffff"> <td>内容:<?= toHtmlcode($row['content'])?></td> </tr> <?php } ?> </table> </span>
php与html代码混编看起来还是比较乱的。
php从mysql中获取留言内容,并把它显示在页面上,我这里显示在table里。主要代码就上面这些。
以上所述是小编给大家分享的PHP结合Mysql数据库实现留言板功能,希望对大家有所帮助!
相关文章
- 这篇文章主要介绍了MySQL性能监控软件Nagios的安装及配置教程,这里以CentOS操作系统为环境进行演示,需要的朋友可以参考下...2015-12-14
- 这篇文章主要介绍了源码分析系列之json_encode()如何转化一个对象,对json_encode()感兴趣的同学,可以参考下...2021-04-22
- PHP去除html、css样式、js格式的方法很多,但发现,它们基本都有一个弊端:空格往往清除不了 经过不断的研究,最终找到了一个理想的去除html包括空格css样式、js 的PHP函数。...2013-08-02
- index.php怎么打开?初学者可能不知道如何打开index.php,不会的同学可以参考一下本篇教程 打开编辑:右键->打开方式->经文本方式打开打开运行:首先你要有个支持运行PH...2017-07-06
PHP中func_get_args(),func_get_arg(),func_num_args()的区别
复制代码 代码如下:<?php function jb51(){ print_r(func_get_args()); echo "<br>"; echo func_get_arg(1); echo "<br>"; echo func_num_args(); } jb51("www","j...2013-10-04- 这篇文章主要介绍了PHP编程 SSO详细介绍及简单实例的相关资料,这里介绍了三种模式跨子域单点登陆、完全跨单点域登陆、站群共享身份认证,需要的朋友可以参考下...2017-01-25
- 这篇文章主要介绍了PHP实现创建以太坊钱包转账等功能,对以太坊感兴趣的同学,可以参考下...2021-04-20
- 这篇文章主要为大家详细介绍了php微信公众账号开发之五个坑,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2016-10-02
- 这篇文章主要介绍了PHP如何通过date() 函数格式化显示时间,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下...2020-11-13
ThinkPHP使用心得分享-ThinkPHP + Ajax 实现2级联动下拉菜单
首先是数据库的设计。分类表叫cate.我做的是分类数据的二级联动,数据需要的字段有:id,name(中文名),pid(父id). 父id的设置: 若数据没有上一级,则父id为0,若有上级,则父id为上一级的id。数据库有内容后,就可以开始写代码,进...2014-05-31- 这篇文章主要为大家详细介绍了linux下源码安装mysql5.6.20教程的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2017-01-15
- 这篇文章主要介绍了golang与php实现计算两个经纬度之间距离的方法,结合实例形式对比分析了Go语言与php进行经纬度计算的相关数学运算技巧,需要的朋友可以参考下...2016-07-29
- 这篇文章主要介绍了PHP正则表达式过滤html标签属性的相关内容,实用性非常,感兴趣的朋友参考下吧...2016-05-06
- 这篇文章主要为大家详细介绍了php构造方法中析构方法在继承中的表现,感兴趣的小伙伴们可以参考一下...2016-04-15
通过node-mysql搭建Windows+Node.js+MySQL环境的教程
这篇文章主要介绍了通过node-mysql搭建Windows+Node.js+MySQL环境的教程,node-mysql是JavaScript编写的一个Node的MySQL驱动,需要的朋友可以参考下...2016-03-03- 这篇文章主要介绍了PHP如何使用cURL实现Get和Post请求,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下...2020-07-11
- 今天我给大家分享的是在不刷新页面的前提下,使用PHP+jQuery+Ajax实现多图片上传的效果。用户只需要点击选择要上传的图片,然后图片自动上传到服务器上并展示在页面上。...2015-03-15
- 这篇文章主要介绍了thinkPHP中多维数组的遍历方法,以简单实例形式分析了thinkPHP中foreach语句的使用技巧,需要的朋友可以参考下...2016-01-12
- 本篇文章主要介绍了Mac下安装mysql5.7 完整步骤,具有一定的参考价值,有兴趣的可以了解一下,...2017-01-26
- 这篇文章主要介绍了PHP简单实现生成txt文件到指定目录的方法,简单对比分析了PHP中fwrite及file_put_contents等函数的使用方法,需要的朋友可以参考下...2016-04-28