PHP實(shí)現(xiàn)基本留言板功能原理與步驟詳解
本文實(shí)例講述了PHP實(shí)現(xiàn)基本留言板功能的方法。分享給大家供大家參考,具體如下:
作為一個(gè)PHP的初學(xué)者,我試著寫了一個(gè)留言板,頁面有點(diǎn)丑,多多見諒,嘻嘻嘻
#我們寫留言板需要用到數(shù)據(jù)庫,所以我們先要建立三個(gè)表
user表

friend表

text表

#首先需要寫一個(gè)注冊與登錄
##注冊
zhuce.html
<meta charset="utf-8"> <title>zhuce</title> </head> <body> <form method="POST" action="zhuce.php"> <div style="margin-left: 500px;margin-top:200px;height: 250px;width: 250px"> <h1>用戶注冊頁面</h1> 用戶名:<input type="text" name="username"> <div>密 碼:<input type="password" name="password"> <div><input type="submit" name="submit" value="注冊"></div> </div> </form> </body>
zhuce.php
<?php
session_start();
header("Content-type: text/html; charset=utf-8"); //處理數(shù)據(jù)庫用戶名亂碼
$user=$_POST["username"];
$pwd=$_POST["password"];
if($user==""||$pwd=="")
{
echo "<script>alert('請確認(rèn)信息完整性!'); history.go(-1);</script>";
}
else
{
$link=mysqli_connect("localhost","root","","liuyan");//連接數(shù)據(jù)庫
mysqli_query($link,"set names utf8");
$sql="select username from user where username='$_POST[username]'";
$result=mysqli_query($link,$sql);//執(zhí)行sql語句
$num=mysqli_num_rows($result);//統(tǒng)計(jì)執(zhí)行結(jié)果影響的行數(shù)
if($num)//如果存在該用戶
{
echo "<script>alert('用戶名已存在!'); history.go(-1);</script>";
}
else//注冊新用戶
{
$sql_insert="insert into user (username,password)values('$_POST[username]','$_POST[password]')";
$res_insert=mysqli_query($link,$sql_insert);
if($res_insert)
{
echo "<script>alert('注冊成功!');window.location='denglu.html';</script>";
}
else
{
echo "<script>alert('系統(tǒng)繁忙請重試!'); history.go(-1);</script>";
}
}
}
?>
#效果如下

##登錄
denglu.html
<head> <meta charset="utf-8"> <title>denglu</title> </head> <body> <form method="POST" action="denglu.php"> <div style="margin-left: 500px;margin-top:200px;height: 250px;width: 250px"> <h1>用戶登錄頁面</h1> 用戶名:<input type="text" name="username"> <div>密 碼:<input type="password" name="password"></div><br/> <input type="submit" name="submit" value="登錄"> <a href="zhuce.html" rel="external nofollow" >注冊</a> </div> </form> </body>
denglu.php
<?php
session_start();
$user=$_POST["username"];
$_SESSION["uesrname"]=$user;//session超全局變量
$pwd=$_POST["password"];//獲取密碼
if($user=""||$pwd="")
{
echo "<script>alert('請輸入用戶名或密碼!'); history.go(-1);</script>";
}
else
{
$link=mysqli_connect("localhost","root","","liuyan");//連接數(shù)據(jù)庫
mysqli_query($link,"set names utf8");
$sql = "select username,password from user where username = '$_POST[username]' and password = '$_POST[password]'";
$result=mysqli_query($link,$sql);//執(zhí)行sql語句
$num=mysqli_num_rows($result);//統(tǒng)計(jì)影響結(jié)果行數(shù),作為判斷條件
if($num)
{
echo "<script>alert('登錄成功!');window.location='003.php';</script>";//登錄成功頁面跳轉(zhuǎn)
}
else
{
echo "<script>alert('用戶名或密碼不正確!');history.go(-1);</script>";
}
}
?>
#效果如下

#下面需要我們寫一個(gè)登錄進(jìn)去的頁面,它顯示別人給你發(fā)來的留言以及進(jìn)入你要給別人留言的頁面或者退出系統(tǒng),在這里我將html代碼嵌入php
php代碼如下
003.php
<?php
session_start();
global $user;//定義$user
global $user1;
$_SESSION["username"]=$user;
$username=$_SESSION["uesrname"];
$user1=implode("",$_SESSION);//將session中的數(shù)組變?yōu)樽址?
$link=mysqli_connect("localhost","root","","liuyan");//連接數(shù)據(jù)庫
mysqli_query($link,"set names utf8");
$sql="select * from text where recever='{$username}'";
$result=mysqli_query($link,$sql);//執(zhí)行語句
if($num=mysqli_num_rows($result))//將HTML嵌入PHP中,實(shí)現(xiàn)從數(shù)據(jù)庫中獲得留言信息
{?>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
</head>
<body>
<div>
<a href="fabu.html" rel="external nofollow" >發(fā)布信息</a>
<a href="tuichu.php" rel="external nofollow" >退出系統(tǒng)</a></h3></div>
<br/><br/>
<h2>留言信息:</h2>
<table cellpadding="0" cellspacing="0" border="1" width="60%">
<tr bgcolor="#8BBCC7">
<td>發(fā)送人</td>
<td>接收人</td>
<td>發(fā)送時(shí)間</td>
<td>信息內(nèi)容</td>
<?php echo '<pre>';
while($row=mysqli_fetch_array($result,MYSQLI_ASSOC))
{?>
<tr bgcolor="#FFFFFF">
<td ><?php echo $row['sender'];?> </td>
<td > <?php echo $row['recever'];?> </td>
<td > <?php echo $row['comment'];?> </td>
<td > <?php echo $row['time'];?> </td>
<?php
}
?>
</tr>
</table>
</body>
</html>
<?php
}?>
#效果如下

#接下來我們就該寫發(fā)布的頁面以及PHP代碼了
fabu.html
<head> <meta charset="utf-8"> <title>fabu</title> </head> <body> <form method="POST" action="fabu.php"> <h1>發(fā)布信息<h1> <a href="003.php" rel="external nofollow" >主頁面</a> <div>接收人:<input type="text" name="recever"> </select> </div> </select> </div> <br/> <div> 信息內(nèi)容:<textarea input type="text" name="neirong"></textarea> </div><br/> <input type="submit" value="發(fā)送"> </form>
fabu.php
<?php
session_start();
header("Content-type: text/html; charset=utf-8");
global $user;
$re=$_POST["recever"];//獲取recever
$comment=$_POST["neirong"];//獲取留言
@date_default_timezone_set(PRC);//將數(shù)組變?yōu)樽址瘮?shù)
$time=date("Y-m-d G:i:s");//獲取時(shí)間,G為24小時(shí)制
$_SESSION["username"]=$user;//開啟session
$user1=implode("",$_SESSION);//將數(shù)組轉(zhuǎn)為字符串
$link=mysqli_connect("localhost","root","","liuyan");//連接數(shù)據(jù)庫
mysqli_query($link,"set names utf8");
$sql="insert into text(sender,recever,comment,time) values('$user1','$re','$comment','$time')";
$result=mysqli_query($link,$sql);//執(zhí)行語句
$sql1="insert into friend(me,friend) values('$user1','$re')";//將me,friend存入數(shù)據(jù)庫
$result=mysqli_query($link,$sql1);//執(zhí)行語句
if($recever=""||$comment="")
{
echo "<script>alert('發(fā)布失??!');window.location='fabu.html';</script>";
}
else
{
echo "<script>alert('發(fā)布成功!');window.location='fabu.html';</script>";
}
?>
#效果如下

#最后是退出系統(tǒng)
<?php
session_start();
unset($_SESSION["uesrname"]);
echo "<script>alert('退出成功!');window.location='denglu.html';</script>";
?>
#效果如下

更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《PHP+MySQL留言板開發(fā)專題》、《php緩存技術(shù)總結(jié)》、《PHP數(shù)組(Array)操作技巧大全》、《php字符串(string)用法總結(jié)》、《PHP錯(cuò)誤與異常處理方法總結(jié)》、《php面向?qū)ο蟪绦蛟O(shè)計(jì)入門教程》、《php+mysql數(shù)據(jù)庫操作入門教程》及《php常見數(shù)據(jù)庫操作技巧匯總》
希望本文所述對大家PHP程序設(shè)計(jì)有所幫助。
- 使用PHP開發(fā)留言板功能
- PHP實(shí)現(xiàn)的簡單留言板功能示例【基于thinkPHP框架】
- mysql之觸發(fā)器使用
- php+Memcached實(shí)現(xiàn)簡單留言板功能示例
- 簡單實(shí)現(xiàn)PHP留言板功能
- 基于thinkPHP框架實(shí)現(xiàn)留言板的方法
- PHP結(jié)合Mysql數(shù)據(jù)庫實(shí)現(xiàn)留言板功能
- php實(shí)現(xiàn)網(wǎng)站留言板功能
- php制作文本式留言板
- php簡單的留言板與回復(fù)功能具體實(shí)現(xiàn)
- php開發(fā)留言板的CRUD(增,刪,改,查)操作
- php xml留言板 xml存儲數(shù)據(jù)的簡單例子
- 來自經(jīng)典的打造簡單的PHP&MYSQL留言板
- 一個(gè)簡單的PHP&MYSQL留言板源碼
- 一個(gè)可分頁的基于文本的PHP留言板源碼
- PHP+MySql實(shí)現(xiàn)一個(gè)簡單的留言板
相關(guān)文章
完美解決令人抓狂的zend studio 7代碼提示(content Assist)速度慢的問題
本篇文章是對解決令人抓狂的zend studio 7代碼提示(content Assist)速度慢的問題進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06
php set_magic_quotes_runtime() 函數(shù)過時(shí)解決方法
PHP5.3中 bool set_magic_quotes_runtime ( bool $new_setting )函數(shù)過時(shí).2010-07-07

