程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> PHP結合Mysql數據庫實現留言板功能

PHP結合Mysql數據庫實現留言板功能

編輯:PHP綜合

先給大家展示下留言板效果圖:


最近看了下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數據庫實現留言板功能,希望對大家有所幫助!

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved