PHP實現(xiàn)基本留言板功能原理與步驟詳解
本文實例講述了PHP實現(xiàn)基本留言板功能的方法。分享給大家供大家參考,具體如下:
作為一個PHP的初學者,我試著寫了一個留言板,頁面有點丑,多多見諒,嘻嘻嘻#我們寫留言板需要用到數(shù)據(jù)庫,所以我們先要建立三個表user表friend表
text表
#首先需要寫一個注冊與登錄
##注冊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
<?phpsession_start();header('Content-type: text/html; charset=utf-8'); //處理數(shù)據(jù)庫用戶名亂碼$user=$_POST['username'];$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 from user where username=’$_POST[username]’'; $result=mysqli_query($link,$sql);//執(zhí)行sql語句 $num=mysqli_num_rows($result);//統(tǒng)計執(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='http://m.4tl426be.cn/bcjs/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)計影響結(jié)果行數(shù),作為判斷條件if($num){echo '<script>alert(’登錄成功!’);window.location=’003.php’;</script>';//登錄成功頁面跳轉(zhuǎn) }else{echo '<script>alert(’用戶名或密碼不正確!’);history.go(-1);</script>'; }}?>
#效果如下#下面需要我們寫一個登錄進去的頁面,它顯示別人給你發(fā)來的留言以及進入你要給別人留言的頁面或者退出系統(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中,實現(xiàn)從數(shù)據(jù)庫中獲得留言信息{?><!DOCTYPE html><html><head> <meta charset='utf-8'></head> <body> <div> <a href='http://m.4tl426be.cn/bcjs/fabu.html' rel='external nofollow' >發(fā)布信息</a> <a href='http://m.4tl426be.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ā)送時間</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://m.4tl426be.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');//獲取時間,G為24小時制$_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錯誤與異常處理方法總結(jié)》、《php面向?qū)ο蟪绦蛟O(shè)計入門教程》、《php+mysql數(shù)據(jù)庫操作入門教程》及《php常見數(shù)據(jù)庫操作技巧匯總》
希望本文所述對大家PHP程序設(shè)計有所幫助。
相關(guān)文章:
1. React+umi+typeScript創(chuàng)建項目的過程2. ASP調(diào)用WebService轉(zhuǎn)化成JSON數(shù)據(jù),附j(luò)son.min.asp3. php測試程序運行速度和頁面執(zhí)行速度的代碼4. php網(wǎng)絡(luò)安全中命令執(zhí)行漏洞的產(chǎn)生及本質(zhì)探究5. ASP.NET Core 5.0中的Host.CreateDefaultBuilder執(zhí)行過程解析6. 無線標記語言(WML)基礎(chǔ)之WMLScript 基礎(chǔ)第1/2頁7. Warning: require(): open_basedir restriction in effect,目錄配置open_basedir報錯問題分析8. ASP中常用的22個FSO文件操作函數(shù)整理9. SharePoint Server 2019新特性介紹10. 三個不常見的 HTML5 實用新特性簡介
