PHP實(shí)現(xiàn)基本留言板功能原理與步驟詳解
本文實(shí)例講述了PHP實(shí)現(xiàn)基本留言板功能的方法。分享給大家供大家參考,具體如下:
作為一個(gè)PHP的初學(xué)者,我試著寫了一個(gè)留言板,頁面有點(diǎn)丑,多多見諒,嘻嘻嘻#我們寫留言板需要用到數(shù)據(jù)庫,所以我們先要建立三個(gè)表user表friend表
text表
#首先需要寫一個(gè)注冊(cè)與登錄
##注冊(cè)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>用戶注冊(cè)頁面</h1>用戶名:<input type='text' name='username'><div>密 碼:<input type='password' name='password'><div><input type='submit' name='submit' value='注冊(cè)'></div></div></form></body>
zhuce.php
<?phpsession_start();header('Content-type: text/html; charset=utf-8'); //處理數(shù)據(jù)庫用戶名亂碼$user=$_POST['username'];$pwd=$_POST['password'];if($user==''||$pwd=='') { echo '<script>alert(’請(qǐng)確認(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//注冊(cè)新用戶 { $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(’注冊(cè)成功!’);window.location=’denglu.html’;</script>'; } else { echo '<script>alert(’系統(tǒng)繁忙請(qǐ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='http://www.cgvv.com.cn/bcjs/zhuce.html' rel='external nofollow' >注冊(cè)</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(’請(qǐng)輸入用戶名或密碼!’); 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代碼嵌入phpphp代碼如下003.php
<?phpsession_start();global $user;//定義$userglobal $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='http://www.cgvv.com.cn/bcjs/fabu.html' rel='external nofollow' >發(fā)布信息</a> <a href='http://www.cgvv.com.cn/bcjs/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='http://www.cgvv.com.cn/bcjs/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
<?phpsession_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)
<?phpsession_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ù)庫操作技巧匯總》
希望本文所述對(duì)大家PHP程序設(shè)計(jì)有所幫助。
相關(guān)文章:
1. python 如何在 Matplotlib 中繪制垂直線2. bootstrap select2 動(dòng)態(tài)從后臺(tái)Ajax動(dòng)態(tài)獲取數(shù)據(jù)的代碼3. ASP常用日期格式化函數(shù) FormatDate()4. python中@contextmanager實(shí)例用法5. html中的form不提交(排除)某些input 原創(chuàng)6. CSS3中Transition屬性詳解以及示例分享7. js select支持手動(dòng)輸入功能實(shí)現(xiàn)代碼8. 如何通過python實(shí)現(xiàn)IOU計(jì)算代碼實(shí)例9. 開發(fā)效率翻倍的Web API使用技巧10. vue使用moment如何將時(shí)間戳轉(zhuǎn)為標(biāo)準(zhǔn)日期時(shí)間格式
