PHP結(jié)合Mysql數(shù)據(jù)庫實現(xiàn)留言板功能
先給大家展示下留言板效果圖:


最近看了下PHP基礎(chǔ)語法,就想利用這些基本東西實現(xiàn)留言板,也是對基礎(chǔ)知識的一個鞏固。
什么是留言板?一種可以用來記錄,展示文字信息的載體。
現(xiàn)切入正題,說說本次留言板是怎么實現(xiàn)!
首先用戶提交留言后,相關(guān)內(nèi)容存入服務(wù)器,當(dāng)他想看的時候后臺再把所有留言讀出來,最后顯示在瀏覽器上,用戶就可以看到留言了。
這其中后臺需要便于讀寫數(shù)據(jù)的一個工具,我選擇mysql數(shù)據(jù)庫來幫助我完成這些事。
我寫了主要是三個php文件,分別是:
conn.php 連接數(shù)據(jù)庫;
addmsg.php php從頁面讀取留言相關(guān)內(nèi)容,并且把它存入(Insert)數(shù)據(jù)庫;
listmsg.php 從數(shù)據(jù)庫中讀取留言內(nèi)容,然后把它顯示在頁面上;
1.準備建立數(shù)據(jù)庫表的結(jié)構(gòu),下面是我的表結(jié)構(gòu)在phpMyAdmin下的截圖:

建表語法
SQL CREATE TABLE 語法 CREATE TABLE 表名稱 ( 列名稱1 數(shù)據(jù)類型, 列名稱2 數(shù)據(jù)類型, 列名稱3 數(shù)據(jù)類型, .... )
2.php連接mysql數(shù)據(jù)庫,然后選擇其中一個數(shù)據(jù)庫,我這里選的是bbs數(shù)據(jù)庫(ps 之前創(chuàng)建的) 下面介紹幾個要用到的php庫函數(shù),
①mysql_connect("localhost", "root", "")
php連接mysql,參數(shù)分別是mysql地址(localhost代表本機),用戶名,密碼
返回值:如果連接失敗返回false,成功返回一個連接標識符
②mysql_select_db($dbName, $conn);
mysql里可以有很多db,所以你需要選擇一個其中一個db進行接下來的操作。
參數(shù):第一個是數(shù)據(jù)庫名稱,第二個是鏈接標識符,可以把①中的返回值放這里,代表的是我將使用①中的mysql。
返回值:false 連接失敗,true連接成功。
③mysql_query(query,connection)
參數(shù):query代表你要mysql執(zhí)行的語句
connection 可選,SQL連接標識符同上面所講
返回值:mysql_query() 僅對 SELECT,SHOW,EXPLAIN或DESCRIBE語句返回一個資源標識符,如果查詢執(zhí)行不正確則返回 FALSE。
對于其它類型的 SQL 語句,mysql_query() 在執(zhí)行成功時返回 TRUE,出錯時返回 FALSE。
個人對這個返回值的總結(jié):此函數(shù)執(zhí)行失敗就返回false;執(zhí)行成功要看是什么語句,如果是SELECT,SHOW,EXPLAIN 或 DESCRIBE 語句,那么就會返回資源標識符,其他的語句就返回true ;
說了這么多, 留言板的脈絡(luò)已經(jīng)出來了
下面開始上代碼
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("數(shù)據(jù)庫鏈接錯誤");
$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自定義函數(shù)功能是把字符串中回車(\n)替換成html中的換行<br>,把空格替換成html中的空格( )
其中有一個函數(shù)介紹如下
語法
str_replace(find,replace,string,count)
| 參數(shù) | 描述 |
|---|---|
| find | 必需。規(guī)定要查找的值。 |
| replace | 必需。規(guī)定替換 find 中的值的值。 |
| string | 必需。規(guī)定被搜索的字符串。 |
| count | 可選。一個變量,對替換數(shù)進行計數(shù)。 |
addmsg.php
<span style="font-family:Comic Sans MS;font-size:14px;"><?php
// 引用之前寫好的連接數(shù)據(jù)庫文件
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("請?zhí)顚懹脩裘?);
myform.user.focus();
return false;
}
if (myform.title.value.length<5)
{
alert("標題不能少于5個字符");
myform.title.focus();
return false;
}
if (myform.content.value=="")
{
alert("必須要填寫留言內(nèi)容");
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/>
內(nèi)容:<textarea name="content" cols="60" rows="9" ></textarea><br/>
<input type="submit" name="submit" value="提交留言" />
</form>
</span>
include 是引入conn.php,類似于c語言中include
$_POST 變量是一個數(shù)組,此變量用于收集來自 method="post" 的表單中的值,post發(fā)出的鍵值對存于此$_POST數(shù)組中$_POST['submit'] 取鍵submit的值,如果觸發(fā)submit,也就是CheckPost返回為true時,會post值,顯然$_POST['submit']不為空,非空即為真,那么就執(zhí)行if里面的插入語句。使留言內(nèi)容保存在mysql數(shù)據(jù)庫中。
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>內(nèi)容:<?= toHtmlcode($row['content'])?></td>
</tr>
<?php
}
?>
</table>
</span>
php與html代碼混編看起來還是比較亂的。
php從mysql中獲取留言內(nèi)容,并把它顯示在頁面上,我這里顯示在table里。主要代碼就上面這些。
以上所述是小編給大家分享的PHP結(jié)合Mysql數(shù)據(jù)庫實現(xiàn)留言板功能,希望對大家有所幫助!
- PHP實現(xiàn)基本留言板功能原理與步驟詳解
- 使用PHP開發(fā)留言板功能
- PHP實現(xiàn)的簡單留言板功能示例【基于thinkPHP框架】
- 使用PHP連接數(shù)據(jù)庫實現(xiàn)留言板功能的實例講解(推薦)
- php+Memcached實現(xiàn)簡單留言板功能示例
- 簡單實現(xiàn)PHP留言板功能
- 基于thinkPHP框架實現(xiàn)留言板的方法
- php實現(xiàn)網(wǎng)站留言板功能
- php制作文本式留言板
- php簡單的留言板與回復(fù)功能具體實現(xiàn)
- php開發(fā)留言板的CRUD(增,刪,改,查)操作
- php xml留言板 xml存儲數(shù)據(jù)的簡單例子
- 來自經(jīng)典的打造簡單的PHP&MYSQL留言板
- 一個簡單的PHP&MYSQL留言板源碼
- 一個可分頁的基于文本的PHP留言板源碼
- PHP+MySql實現(xiàn)一個簡單的留言板
相關(guān)文章
淺談laravel-admin form中的數(shù)據(jù),在提交后,保存前,獲取并進行編輯
今天小編就為大家分享一篇淺談laravel-admin form中的數(shù)據(jù),在提交后,保存前,獲取并進行編輯,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-10-10
layui框架實現(xiàn)文件上傳及TP3.2.3(thinkPHP)對上傳文件進行后臺處理操作示例
這篇文章主要介紹了layui框架實現(xiàn)文件上傳及TP3.2.3對上傳文件進行后臺處理操作,結(jié)合實例形式分析了layui框架結(jié)合thinkPHP進行文件上傳與處理操作相關(guān)實現(xiàn)技巧,需要的朋友可以參考下2018-05-05
Laravel Validator自定義錯誤返回提示消息并在前端展示
這篇文章主要給大家介紹了關(guān)于Laravel Validator自定義錯誤返回提示消息并在前端展示的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家學(xué)習(xí)或者使用Laravel具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-05-05
PHPStorm2020.1永久激活及下載更新至2020(推薦)
這篇文章主要介紹了PHPStorm2020.1永久激活及下載更新至2020,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-09-09
PHP+shell腳本操作Memcached和Apache Status的實例分享
這篇文章主要介紹了PHP環(huán)境下使用shell腳本操作Memcached和Apache Status的方法,分別還可以控制Memcached進程的啟動以及記錄Apache Status數(shù)據(jù)到數(shù)據(jù)庫,需要的朋友可以參考下2016-03-03
從零開始學(xué)YII2框架(三)擴展插件yii2-gird
yii2-gird 插件是Yii2.0的一個擴展。它在官方的girdview基礎(chǔ)上擴展了一些實用的功能。非常好用,推薦使用哦。2014-08-08

