歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> PHP+MySQL留言板開發例子

PHP+MySQL留言板開發例子

日期:2017/3/1 9:49:15   编辑:Linux編程

Python學習先告一段落,最近一直在研究PHP,剛好最近看到留言板制作,所以整理了點自己的心得寫了出來,供大家參考

PS:附件有代碼包供大家下載.

系統環境: WAMP

IDE: NETBEANS

SQL工具: NAVICAT

顯示效果

如圖:

1.導入MYSQL數據:

將如下SQL語句導入庫,假定庫名稱為bbs,這裡保證庫與表字段的編碼都為UTF-8模式

-------------------------------------------

CREATE TABLE `message` (

`id` tinyint(1) NOT NULL auto_increment,

`user` varchar(25) NOT NULL,

`title` varchar(50) NOT NULL,

`content` tinytext NOT NULL,

`lastdate` date NOT NULL,

PRIMARY KEY (`id`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;

--------------------------------------------

2.部分PHP代碼

add.php

------------------------------------------------

<?

//加載conn.php文件

include("conn.php");

//加載head.php文件

include("head.php");

//提交表單到數據庫

if($_POST['submit']){

$sql = "insert into message(id,user,title,content,lastdate) " .

"values('','$_POST[user]','$_POST[title]','$_POST[content]',now())";

mysql_query($sql);

echo "<script language=\"javascript\">alert('添加成功');history.go(-1)</script>";

}

?>

<!--利用JS對表單輸入進行字符限制-->

<SCRIPT language=javascript>

function CheckPost() {

if (myform.user.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>

<!--HTML表單結構-->

<form action="add.php" method="post" name="myform" onsubmit="return CheckPost();">

用戶: <input type="text" size="10" name="user"/><br>

標題: <input type="text" name="title" value="value" size="40" maxlength="40"/><br>

內容: <textarea name="content"></textarea><br/>

<input type='submit' name='submit' value="發布留言"/>

</form>

------------------------------------------------

head.php

-------------------------------------------------

<!--HTML頭導航鏈接-->

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

<title></title>

<link href=\'#\'" /css.css" rel="stylesheet" type="text/css">

<b><a href=\'#\'" /a> | <a href="list.php">浏覽留言</a> | <a href="login.php">登陸</a></b>

<hr size="1">

-------------------------------------------------

list.php

-------------------------------------------------

<?

//加載conn.php文件

include("conn.php");

//加載head.php文件

include("head.php");

//設置分頁值為5

$pagesize=5;

//取得除域名外後面完整的地址路徑

$url=$_SERVER["REQUEST_URI"];

//取得該固定鍵值[path][query]的url數組

$url=parse_url($url);

//print_r($url);

//取得url的[path]路徑值

$url=$url[path];

//取得test表信息

$numq = mysql_query("select * from message");

//取得test表內容的行數

$num = mysql_num_rows($numq);

//判斷是否能取到page參數值

if($_GET[page]){

//將該值傳給pageval

$pageval=$_GET[page];

//計算page值,供SQL語句使用

$page=($pageval-1)*$pagesize;

//等價於 $page = $page.',' 意思就是將page參數值與,連接起來

$page.=",";

}

//判斷數據庫條目總數大於頁數,顯示分頁

if($num > $pagesize){

//判斷上一頁和下一頁的值若小於0,則按照0處理

if($pageval<=1)

$pageval=1;

//顯示分頁

echo "共 $num 條".

//.(...).用來連接變量名

" <a href=$url?page=".($pageval-1).">上一頁</a> <a href=$url?page=".($pageval+1).">下一頁</a>";

}

?>

<!--HTML留言列表結構-->

<table width=500 border="0" align="center" cellpadding="5" cellspacing="1" bgcolor="#add3ef">

<?

$sql = "select * from message order by id desc limit $page $pagesize";

$query = mysql_query($sql);

while($row=mysql_fetch_array($query)){

?>

<tr bgcolor="#eff3ff">

<td>標題:<?=$row[title]?> 用戶:<?=$row[user]?></td>

</tr>

<tr bgColor="#ffffff">

<td>內容:<? echo htmtocode($row[content]); ?></td>

<tr bgColor="#ffffff">

<td>時間:<?=$row[lastdate]?></td>

</tr>

<?

}

?>

</table>

-------------------------------------------------

conn.php

--------------------------------------------------

<?

//登錄MYSQL數據庫

$conn = @ mysql_connect("localhost", "root", "") or die("數據庫鏈接錯誤");

//進入BBS庫

mysql_select_db("bbs", $conn);

//使用UTF-8中文編碼傳輸數據流

mysql_query("set names 'UTF8'");

//修改空格和回車編碼為HTML可識別編碼

function htmtocode($content){

$content = str_replace("\n","<br>", str_replace(" ", "&nbsp;", $content));

return $content;

}

?>

--------------------------------------------------

login.php

---------------------------------------------------

<?

//加載conn.php文件

include("conn.php");

//判斷是否退出,並標記cookie為out,返回登錄頁

if($_GET[out]){

setcookie("cookie","out");

echo "<script language=\"javascript\">location.href='login.php';</script>";

}

//提交表單判斷登錄ID是否為admin,密碼是否匹配'PHP'的MD5值,並標記cookie為ok

if($_POST[id] =='admin'){

$pw=md5($_POST[pw]);

if ($pw=='e1bfd762321e409cee4ac0b6e841963c'){

setcookie("cookie","ok");

//刷新登錄頁面使cookie標記值生效.

echo "<script language=\"javascript\">location.href='login.php';</script>";

}

}

//加載head.php文件

include("head.php");

//提交表單判斷cookie標記值不為ok,則顯示登錄頁,否則顯示退出頁

if($_COOKIE['cookie']!='ok'){

?>

<!--利用JS對登錄字符進行限制-->

<SCRIPT language=javascript>

function Checklogin(){

if (myform.id.value ==""){

alert("請填寫登錄名");

myform.id.focus();

return false;

}

if (myform.id.value !=="admin"){

alert("用戶名錯誤");

myform.id.focus();

return false;

}

if (myform.pw.value ==""){

alert("密碼不能為空");

myform.pw.focus();

return false;

}

}

}

</SCRIPT>

<!--HTML登錄頁-->

<form action="" method="post" name="myform" onsubmit="return Checklogin();">

用戶名: <INPUT type="text" name="id" /><br>

密&nbsp;&nbsp;碼: <INPUT type="password" name="pw" />

<input type="submit" name="submit" value="登陸">

</form>

<?

}else{

?>

<!--HTML退出頁-->

<a href='?out=login'>退出</a>

<?

}

?>

PHP+MySQL留言板開發例子源碼下載:

免費下載地址在 http://linux.linuxidc.com/

用戶名與密碼都是www.linuxidc.com

具體下載目錄在 /2014年資料/1月/13日/PHP+MySQL留言板開發例子

下載方法見 http://www.linuxidc.com/Linux/2013-07/87684.htm

Copyright © Linux教程網 All Rights Reserved