成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

SQL+HTML+PHP 一個(gè)簡(jiǎn)單論壇網(wǎng)站的綜合開發(fā)案例(注冊(cè)、登錄、注銷、修改信息、留言等)

瀏覽:227日期:2022-06-06 18:54:53

1 實(shí)驗(yàn)環(huán)境

(1)服務(wù)端:本實(shí)驗(yàn)基于虛擬機(jī)win2008系統(tǒng)的WAMP環(huán)境進(jìn)行,該環(huán)境相關(guān)配置過(guò)程參考文章《【語(yǔ)言環(huán)境】WAMP環(huán)境部署及優(yōu)化—以win2008R2SP1為操作系統(tǒng)》。
(2)客戶端:使用瀏覽器訪問(wèn)與控制。
(3)服務(wù)端與客戶端處于同一個(gè)局域網(wǎng)下,開啟服務(wù)端的phpstudy并確保能從客戶端瀏覽器訪問(wèn)。

2 網(wǎng)站頁(yè)面功能規(guī)劃

寫一個(gè)網(wǎng)站,在首頁(yè)能看用戶的留言,同時(shí)能實(shí)現(xiàn)包括用戶注冊(cè)、登錄、注銷、上傳頭像、修改個(gè)性簽名等。其中網(wǎng)站的所有代碼文件均放在默認(rèn)站點(diǎn)位置下的文件夾jrltbbs中。

2.1 論壇首頁(yè)

論壇首頁(yè)文件為index.php,并具有如下功能

顯示論壇標(biāo)題;根據(jù)用戶是否登錄分支顯示:已登錄則顯示“歡迎來(lái)到論壇首頁(yè)”字樣,同時(shí)顯示個(gè)人中心、注銷、新增留言等按鈕;未登錄則顯示注冊(cè)和登錄按鈕,未登錄僅能看留言。網(wǎng)頁(yè)主體用于顯示留言(后續(xù)實(shí)驗(yàn)完善留言功能) 2.2 個(gè)人中心

個(gè)人中心相關(guān)的代碼文件均放入個(gè)人中心文件夾為member中 ,個(gè)人中心相關(guān)的代碼文件包含:

(1)個(gè)人中心的首頁(yè)./member/index.php。具有如下功能:

個(gè)人中心頁(yè)面標(biāo)題顯示個(gè)人中心;根據(jù)用戶是否登錄分支顯示:已登錄則顯示歡迎“歡迎來(lái)到個(gè)人中心”字樣、顯示個(gè)人賬號(hào)、頭像及個(gè)性簽名信息、同時(shí)顯示信息修改和注銷按鈕;未登錄則顯示注冊(cè)和登錄按鈕。

(2)注冊(cè)頁(yè)面./member/register.php。用于實(shí)現(xiàn)注冊(cè)功能,具體功能如下:

設(shè)置表單用于首次收集用戶信息(包括輸入的賬號(hào)及兩次輸入的密碼),設(shè)置提交按鈕用于提交表單數(shù)據(jù)。后臺(tái)完成賬號(hào)密碼的驗(yàn)證:①賬號(hào)或密碼為空,則返回注冊(cè)頁(yè)面“提示賬號(hào)密碼不能為空,請(qǐng)重新輸入”;②若兩次密碼不一致,則返回注冊(cè)頁(yè)面并提示“兩次密碼輸入不一致”;③若賬號(hào)已在數(shù)據(jù)庫(kù)中存在,則返回注冊(cè)頁(yè)面并提示“賬號(hào)已存在,請(qǐng)重新注冊(cè)”;④賬號(hào)密碼沒(méi)問(wèn)題則存入數(shù)據(jù)庫(kù)中,并返回COOKIE。

(3)接收來(lái)自注冊(cè)頁(yè)面的表單數(shù)據(jù)并完成賬號(hào)密碼驗(yàn)證./member/addUser.php 。具體功能如下:

接收來(lái)自注冊(cè)頁(yè)面的表單數(shù)據(jù)完成賬號(hào)密碼的驗(yàn)證,沒(méi)問(wèn)題后將表單數(shù)據(jù)寫入數(shù)據(jù)庫(kù)
①賬號(hào)或密碼為空,則返回注冊(cè)頁(yè)面“提示賬號(hào)密碼不能為空,請(qǐng)重新輸入”;
② 若兩次密碼不一致,則返回注冊(cè)頁(yè)面并提示“兩次密碼輸入不一致”;
③若賬號(hào)已在數(shù)據(jù)庫(kù)中存在,則返回注冊(cè)頁(yè)面并提示“賬號(hào)已存在,請(qǐng)重新注冊(cè)”;
④賬號(hào)密碼沒(méi)問(wèn)題則存入數(shù)據(jù)庫(kù)中,并返回COOKIE。

(5)登錄頁(yè)面./member/login.php。用于用戶登錄,具體功能如下:

設(shè)置表單用于收集用戶輸入賬號(hào)及密碼,設(shè)置提交按鈕用于提交表單數(shù)據(jù)。后臺(tái)完成賬號(hào)密碼與數(shù)據(jù)庫(kù)數(shù)據(jù)驗(yàn)證,賬號(hào)密碼正確則返回COOKIE、顯示歡迎字樣、并提供返回首頁(yè)與個(gè)人中心按鈕;賬號(hào)密碼錯(cuò)誤則重定向到登錄頁(yè)面重新輸入。暫時(shí)不考慮設(shè)置驗(yàn)證碼的功能。

(6)注銷頁(yè)面./member/logout.php。用于用戶注銷,具體功能如下:

刪除COOKIE;并根據(jù)是否注銷成功分支顯示:成功則提示成功并顯示返回首頁(yè)按鈕,失敗則顯示注銷失敗。

(7)頭像上傳及更新頁(yè)面./member/updatePhoto.php。主要用于更新頭像。

頭像修改頁(yè)面,顯示按鈕讓用戶選擇新頭像,修改成功后頁(yè)面顯示修改成功,提供返回個(gè)人中心和返回首頁(yè)等按鈕。

(8)生成驗(yàn)證碼頁(yè)面./member/vcode.php。用于生成隨機(jī)字符串的驗(yàn)證碼。

2.3 實(shí)現(xiàn)留言功能

(1)顯示留言內(nèi)容頁(yè)面./showmessage.php

讀者點(diǎn)擊網(wǎng)站首頁(yè)留言標(biāo)題時(shí),跳轉(zhuǎn)到此頁(yè)面,用于展示該留言內(nèi)容。

(2) 新增留言頁(yè)面./addMessage.php。用于已登錄的用戶新增留言。

2.4 數(shù)據(jù)庫(kù)及連接數(shù)據(jù)庫(kù)

(1)數(shù)據(jù)庫(kù)名稱為jrlt,數(shù)據(jù)庫(kù)中新建兩個(gè)數(shù)據(jù)表,分別為:

users表:保存用戶注冊(cè)與修改的數(shù)據(jù)。該表共有5個(gè)字段,分別是id、name、password、photo、money。messages表:保存首頁(yè)用戶留言數(shù)據(jù)。該表共有4個(gè)字段,分別是id、uname、title、content。

(2) 與mysql數(shù)據(jù)庫(kù)建立連接./inc/dblink.inc.php。具體功能如下:

用于實(shí)現(xiàn)PHP與mysql數(shù)據(jù)庫(kù)建立連接,當(dāng)其他PHP腳本需要與mysql數(shù)據(jù)庫(kù)建立連接時(shí),使用include引入。 3 實(shí)驗(yàn)階段一:實(shí)現(xiàn)注冊(cè)、登錄、注銷和更新頭像等功能 3.1 數(shù)據(jù)庫(kù)

數(shù)據(jù)庫(kù)的創(chuàng)建以及與PHP之間的連接可具體參考《【PHP基礎(chǔ)-10】實(shí)現(xiàn)PHP與SQL數(shù)據(jù)庫(kù)之間的交互》,在本綜合案例中,創(chuàng)建數(shù)據(jù)庫(kù)及其相應(yīng)的數(shù)據(jù)表步驟如下:
(1)先在數(shù)據(jù)庫(kù)中創(chuàng)建一個(gè)jrlt的數(shù)據(jù)庫(kù)。

(2)在該數(shù)據(jù)庫(kù)下創(chuàng)建兩個(gè)表,一個(gè)是users,一個(gè)是messages,所含字段分別如下:


3.2 論壇首頁(yè)./index.php

首頁(yè)位于默認(rèn)站點(diǎn)位置下的位置為\PHP\jrltbbs\index.php。

代碼如下。

<html><head>    <meta charset="utf-8">    <title>  首頁(yè)----今日論壇</title></head><body>    <h1>今日論壇BBS</h1>    <?php    if(isset($_COOKIE["name"])){echo "歡迎來(lái)到今日論壇BBS,".$_COOKIE["name"]."<br/>";echo "<a href="./member/index.php">個(gè)人中心</a> ";echo "<a href="./member/logout.php">注銷</a>";    }else{       echo " <a href="./member/register.php">注冊(cè)</a> ";echo "<a href="./member/login.php">登錄</a> ";    }    ?>    <hr/>    <h3>留言板</h3></body></html>

3.3 個(gè)人中心注冊(cè)頁(yè)面./member/register.php

設(shè)置表單用于收集用戶輸入的賬號(hào)及兩次輸入的密碼,設(shè)置提交按鈕用于提交表單數(shù)據(jù)。
代碼如下:

<html><head>    <meta charset="utf-8">    <title>  注冊(cè)----今日論壇</title></head><body>    <h1>今日論壇BBS</h1>    <form action="./addUser.php"method="post"    >用戶名:<input type="text" name="userName"><br/>密碼:<input type="password" name="userPass1"><br/>確認(rèn)密碼:<input type="password" name="userPass2"><br/><input type="submit" name="userSubmit"  value="注冊(cè)">    </form>    <hr/></body></html>

3.4 接收來(lái)自注冊(cè)頁(yè)面的表單數(shù)據(jù)./member/addUser.php

接收來(lái)自注冊(cè)頁(yè)面的表單數(shù)據(jù),并完成賬號(hào)密碼的驗(yàn)證:①賬號(hào)或密碼為空,則返回注冊(cè)頁(yè)面“提示賬號(hào)密碼不能為空,請(qǐng)重新輸入”;②若兩次密碼不一致,則返回注冊(cè)頁(yè)面并提示“兩次密碼輸入不一致”;③若賬號(hào)已在數(shù)據(jù)庫(kù)中存在,則返回注冊(cè)頁(yè)面并提示“賬號(hào)已存在,請(qǐng)重新注冊(cè)”;④賬號(hào)密碼沒(méi)問(wèn)題則存入數(shù)據(jù)庫(kù)中,并返回COOKIE。
代碼:

<meta charset="utf-8"><?phpinclude "../inc/dblink.inc.php"http://將數(shù)據(jù)庫(kù)連接的文件包含到此文件中?><?php//var_dump($_POST);if(isset($_POST["userSubmit"])){    $userName=$_POST["userName"];    $userPass1=$_POST["userPass1"];    $userPass2=$_POST["userPass2"];    if((bool)($userName) && (bool)($userPass1) && (bool)($userPass2)){// 查詢數(shù)據(jù)庫(kù)中是否有此用戶,若無(wú)則新增,若有則要求重新輸入$sql1="select * from users where name="".$userName.""";if(!$results1=mysqli_query($link,$sql1)){    die("SQL語(yǔ)句有誤");}else{    if(!mysqli_num_rows($results1)){//非空往數(shù)據(jù)庫(kù)中增加if($userPass1===$userPass2){    $sql2="insert into users(name, password) values("".$userName."", md5($userPass1))";    if(!$results2=mysqli_query($link,$sql2)){die("SQL語(yǔ)句有誤");    }else{echo "注冊(cè)成功,<a href="./login.php">請(qǐng)登錄<a>";    }}else{    echo "兩次密碼輸入不一致,<a href="./register.php">請(qǐng)重新注冊(cè)<a>";}    }else{echo "用戶名已存在,<a href="./register.php">請(qǐng)重新注冊(cè)<a>";    }}$results1=mysqli_query($link,$sql1);    }else{echo "賬號(hào)或密碼不能為空, <a href="./register.php">請(qǐng)重新注冊(cè)<a>";    }}else{    header("Location:./register.php");}//var_dump((bool)($userName));//var_dump((bool)($userPass1));//var_dump((bool)($userPass2));?><?phpmysqli_close($link);?>

tips:
注意:isset() 函數(shù)用于檢測(cè)變量是否已設(shè)置并且非 NULL,如果已經(jīng)使用 unset() 釋放了一個(gè)變量之后,再通過(guò) isset() 判斷將返回 FALSE。若使用 isset() 測(cè)試一個(gè)被設(shè)置成 NULL 的變量,將返回 FALSE。同時(shí)要注意的是 null 字符(“\0”)并不等同于 PHP 的 NULL 常量。

3.5 與mysql數(shù)據(jù)庫(kù)建立連接./inc/dblink.inc.php

為其他需要連接數(shù)據(jù)庫(kù)的網(wǎng)頁(yè)提供連接,避免重復(fù)定義。

<?php$dbHost="127.0.0.1";$dbUser="root";$dbPass="root";$dbName="jrlt";$link=mysqli_connect($dbHost, $dbUser, $dbPass, $dbName);//建立數(shù)據(jù)庫(kù)連接if(!$link){    die(mysqli_connect_error());//捕獲數(shù)據(jù)庫(kù)連接時(shí)的錯(cuò)誤信息}mysqli_set_charset($link,"utf-8");?>

3.6 個(gè)人中心的首頁(yè)./member/index.php

利用COOKIE信息中的name值是否存在來(lái)判斷是否已登錄,如果未登錄,則需要先登錄;如果已經(jīng)登錄,可以利用COOKIE信息中的name字段,將用戶輸入的信息與數(shù)據(jù)庫(kù)中的信息進(jìn)行對(duì)比,只有數(shù)據(jù)庫(kù)中已有的用戶才能登錄。
代碼如下

<?php    include "../inc/dblink.inc.php"http://將數(shù)據(jù)庫(kù)連接的文件包含到此文件中?><html><head>    <meta charset="utf-8">    <title>今日論壇--個(gè)人中心</title></head><body>    <h1>今日論壇--個(gè)人中心</h1>    <?php    if(isset($_COOKIE["name"])){$userName=$_COOKIE["name"];$sql="select * from users where name="". $userName.""";if($results=mysqli_query($link,$sql)){    if(mysqli_num_rows($results)>0){$result=mysqli_fetch_assoc($results);echo "<hr/>";echo "歡迎來(lái)到您的個(gè)人中心,".$_COOKIE["name"] ."! <a href="../index.php">返回首頁(yè)</a> ";echo "<a href="./logout.php">注銷</a><br/>";echo "<hr/>";echo "<h3>個(gè)人信息</h3>";echo "帳號(hào)名:".$_COOKIE["name"] ."<br/>";echo "您的頭像是<img src="".$result["photo"].""/> ";echo "<a href="./updatePhoto.php">修改頭像</a> <br/>";echo "帳戶余額:".$result["money"]." <span style="color:red;">請(qǐng)聯(lián)系管理員</span>";    }else{die("該用戶不存在");    }}else{    die("sql語(yǔ)句有誤");}    }else{echo "<a href="./login.php">請(qǐng)登錄</a>";    }    ?></body></html><?php    mysqli_close($link);?>

3.7 登錄頁(yè)面 ./member/login.php

當(dāng)$_POST['userSubmit']具有數(shù)據(jù)時(shí),則判斷將用戶輸入的信息與數(shù)據(jù)庫(kù)信息進(jìn)行對(duì)比,正確則可以成功登錄;若$_POST['userSubmit']無(wú)數(shù)據(jù)時(shí),則設(shè)置表單用于收集用戶輸入賬號(hào)及密碼,設(shè)置登錄按鈕用于提交表單數(shù)據(jù)(表單數(shù)據(jù)提交到當(dāng)前頁(yè)面)。
setcookie設(shè)置路徑:設(shè)置成 ‘/’ 時(shí),為網(wǎng)站默認(rèn)路徑,Cookie 對(duì)整個(gè)域名 domain 有效。 如果設(shè)置成 ‘/PHP/’, Cookie 僅僅對(duì) domain 中 /PHP/ 目錄及其子目錄有效。 設(shè)置 Cookie 時(shí)的默認(rèn)值為代碼文件所在的當(dāng)前目錄。因此,為了讓網(wǎng)站首頁(yè)也能獲取到cookie,需要設(shè)置路徑為/PHP/jrltbbs
代碼:

<?phpinclude "../inc/dblink.inc.php"http://將數(shù)據(jù)庫(kù)連接的文件包含到此文件中?><html><head>    <meta charset="utf-8">    <title>  登錄----今日論壇</title></head><body>    <h1>今日論壇BBS</h1>    <?php    if(isset($_POST["userSubmit"])){if($_POST["vcode"]==$_COOKIE["vcode"]){    $userName=$_POST["userName"];    $userPass=$_POST["userPass"];    $sql="select * from users where name="".$userName."" && password="".md5($userPass).""";    if($results=mysqli_query($link,$sql)){if(mysqli_num_rows($results)>0){    setcookie("name",$userName,time()+3600*24, "/PHP/jrltbbs");    //注意cookie的路徑,不同路徑的cookie認(rèn)為是兩條cookie    echo "登錄成功,返回<a href="../index.php">首頁(yè)</a>或<a href="./index.php">個(gè)人中心</a>";}else{    echo "用戶名或密碼錯(cuò)誤,<a href="./login.php">請(qǐng)重新登錄</a>";}    }else{die("sql語(yǔ)句有誤");    }}else{    echo "驗(yàn)證碼錯(cuò)誤,<a href="./login.php">請(qǐng)重新登錄</a>";}    }else{$html=<<<HTML       <form method="post">用戶名:<input type="text" name="userName"><br/>密碼:<input type="password" name="userPass"><br/>驗(yàn)證碼:<input type="text" name="vcode"> <iframe src= "./vcode.php" width="100" height=30 frameboder="0"></iframe><br><input type="submit" name="userSubmit"  value="登錄">    </form>HTML;echo $html;    }    ?>    <hr/></body></html><?phpmysqli_close($link);?>

3.8 注銷頁(yè)面./member/logout.php

使COOKIE過(guò)期;
代碼:

<meta charset="utf-8"><?phpif(setcookie("name",$_COOKIE["name"],time()-3600,"/PHP/jrltbbs")){    //注意cookie的路徑,不同路徑的cookie認(rèn)為是兩條cookie    echo "注銷成功,<a href="../index.php">返回首頁(yè)</a>";}else{    die("error");}?>

3.9 更新頭像./member/updatePhoto.php

用于上傳或更新頭像。
代碼:

<meta charset="utf-8"><?phpinclude "../inc/dblink.inc.php"http://將數(shù)據(jù)庫(kù)連接的文件包含到此文件中?><?phpif(isset($_POST["userSubmit"])){    $userName=$_COOKIE["name"];    $tmp_path=$_FILES["userFile"]["tmp_name"];    $path=".\\images\\".$_FILES["userFile"]["name"];    if(move_uploaded_file($tmp_path,$path)){$path=mysqli_real_escape_string($link,$path);$sql="update users set photo="".$path.""where name="".$userName.""";if($results=mysqli_query($link,$sql)){    echo "圖片上傳成功,<a href="./index.php">返回個(gè)人中心</a>";}else{    die("sql語(yǔ)句有誤");}    }else{echo "圖片上傳失敗";    }}else{    $html=<<<HTML    <form     method="post"    enctype="multipart/form-data"    >    <input type="file" name="userFile"><br/>    <input type="submit" name="userSubmit" value="提交">    </form>HTML;    echo "$html";}?><?phpmysqli_close($link);?>

3.10 生成驗(yàn)證碼./member/vcode.php

用于簡(jiǎn)單生成隨機(jī)的字符串驗(yàn)證碼。

<?php$str="";for($i=0;$i<5;$i++){    $str.=chr(rand(97,122));    setcookie("vcode",$str);}    echo "<div style="background-color:red">$str</div>";?>

3.11 測(cè)試

(1)訪問(wèn)今日論壇首頁(yè),顯示結(jié)果為:

(2)點(diǎn)擊注冊(cè),輸入賬號(hào)1,不輸入密碼。

(3)點(diǎn)擊注冊(cè)時(shí),頁(yè)面顯示如下,提示”賬號(hào)或密碼不能為空, 請(qǐng)重新注冊(cè)“。

(4)點(diǎn)擊重新注冊(cè),然后輸入賬號(hào)1,密碼2,點(diǎn)擊注冊(cè),彈出以下提示

(5)點(diǎn)擊重新注冊(cè),然后輸入賬號(hào)a,密碼1,確認(rèn)密碼輸入2,點(diǎn)擊注冊(cè),彈出以下提示

(6)點(diǎn)擊重新注冊(cè),然后輸入賬號(hào)a,密碼1,確認(rèn)密碼輸入1,點(diǎn)擊注冊(cè),彈出以下提示

(7)點(diǎn)擊登錄,輸入賬號(hào)a,密碼1,并輸入驗(yàn)證碼(驗(yàn)證碼輸入不一致),嘗試下會(huì)出現(xiàn)什么結(jié)果,點(diǎn)擊登錄,出現(xiàn)以下提示。


(8)點(diǎn)擊”請(qǐng)重新登錄“,輸入賬號(hào)a,密碼1,并輸入驗(yàn)證碼,點(diǎn)擊登錄,

(8)顯示登錄成功,返回首頁(yè)與個(gè)人中心。網(wǎng)頁(yè)獲取到服務(wù)端發(fā)來(lái)的COOKIE,返回首頁(yè)與個(gè)人中心均可用。


(9)當(dāng)點(diǎn)擊返回首頁(yè)時(shí)的頁(yè)面結(jié)果如下。

(10)當(dāng)點(diǎn)擊返回個(gè)人中心時(shí),頁(yè)面結(jié)果如下。

(11)點(diǎn)擊修改頭像,選擇自己的圖片文件,并點(diǎn)擊提交。

(12)圖像上傳成功,點(diǎn)擊返回個(gè)人中心。

(13)返回個(gè)人中心后可以看到自己上傳的頭像。

(14)點(diǎn)擊注銷即可退出登錄,系統(tǒng)將刪除COOKIE。

(15)點(diǎn)擊返回首頁(yè),可以重新回到首頁(yè)

4 實(shí)驗(yàn)階段二:完善留言板功能 4.1 ./index.php 首頁(yè)功能完善

讓原本的首頁(yè)增加留言相關(guān)功能,包括顯示留言及新增留言。
代碼:

<?phpinclude "./inc/dblink.inc.php"http://將數(shù)據(jù)庫(kù)連接的文件包含到此文件中?><html><head>    <meta charset="utf-8">    <title>  首頁(yè)----今日論壇</title></head><body>    <h1>今日論壇BBS</h1>    <?php    if(isset($_COOKIE["name"])){echo "歡迎來(lái)到今日論壇BBS,".$_COOKIE["name"]."<br/>";echo "<a href="./member/index.php">個(gè)人中心</a> ";echo "<a href="./member/logout.php">注銷</a> ";    }else{       echo " <a href="./member/register.php">注冊(cè)</a> ";echo "<a href="./member/login.php">登錄</a> ";    }    echo "<a href="./addMessage.php">我要留言</a>";    ?>    <hr/>    <h3>留言板</h3>    <?php    $sql="select * from messages";    if($results=mysqli_query($link,$sql)){if(mysqli_num_rows($results)>0){    echo "<table border=2>";    echo "<tr><td>ID</td><td>AUTHOR</td><td>TITLE</td></tr>";    while($result=mysqli_fetch_assoc($results)){echo "<tr><td>{$result["id"]}</td><td>{$result["uname"]}</td><td><a href="showmessage.php?id={$result["id"]}" target="_blank">{$result["title"]}</a></td></tr>";    }    echo "</table>";}else{    echo "暫無(wú)留言內(nèi)容";}    }else{echo mysqli_error($link);    }    ?></body></html><?phpmysqli_close($link);?>

4.2 顯示留言內(nèi)容頁(yè)面./showmessage.php

用讀者點(diǎn)擊首頁(yè)留言標(biāo)題時(shí),跳轉(zhuǎn)到此頁(yè)面,用于展示該留言內(nèi)容。
代碼:

<?phpinclude "./inc/dblink.inc.php"http://將數(shù)據(jù)庫(kù)連接的文件包含到此文件中?><html><head><meta charset = "utf-8"><title>留言論壇</title></head><body><h1>留言內(nèi)容</h1><a href = "./index.php">返回首頁(yè)</a><hr /><?phpif(isset($_GET["id"])){    $id=$_GET["id"];    $sql="select * from messages where id=".$id;    if($results=mysqli_query($link,$sql)){$result=mysqli_fetch_assoc($results);echo $result["uname"].":".$result["title"]."<hr/>";echo $result["content"];    }else{echo mysqli_error($link);    }}else{    echo "id error";}?></body></html><?phpmysqli_close($link);?>

4.3 新增留言頁(yè)面./addMessage.php

作用:用于已登錄的用戶新增留言。
代碼:

<?phpinclude "./inc/dblink.inc.php"http://將數(shù)據(jù)庫(kù)連接的文件包含到此文件中?><html><head><meta charset = "utf-8"><title>留言論壇</title></head><body><?phpif(isset($_COOKIE["name"])){    $html=<<<HTML    <form     method="post">    標(biāo)題:<input type="text" name="userTitle"><br/>    留言內(nèi)容:<br/>    <textarea name="userContent"></textarea>    <input type="submit" name="userSubmit" value="提交">    </form>HTML;    echo $html."<br>";    if(isset($_POST["userSubmit"]) && isset($_POST["userTitle"])){$userName=$_COOKIE["name"];$title=mysqli_real_escape_string($link,$_POST["userTitle"]) ;//將提交的文本進(jìn)行轉(zhuǎn)義$content=mysqli_real_escape_string($link,$_POST["userContent"]);$sql="INSERT INTO `messages`( `uname`, `title`, `content`) VALUES ("".$userName."","".$title."","".$content."")";if($results=mysqli_query($link,$sql)){    echo "留言成功,<a href="./index.php">返回首頁(yè)</a>";}else{    echo mysqli_error($link);}    }else{echo "請(qǐng)?zhí)峤?;    }}else{    echo "您還未登錄,<a href="./member/login.php">請(qǐng)登錄</a>";}?></body></html><?phpmysqli_close($link);?>

4.4 測(cè)試

(1)瀏覽器打開網(wǎng)站首頁(yè),首頁(yè)內(nèi)容如下:

(2)點(diǎn)擊”我要留言“,彈出如下提示

(3)點(diǎn)擊請(qǐng)登錄,輸入賬號(hào)a,密碼1,并輸入驗(yàn)證碼,點(diǎn)擊提交。

(4)登錄后點(diǎn)擊返回首頁(yè),并點(diǎn)擊“我要留言”。此時(shí)可以輸入留言。

(5)輸入自己的留言并點(diǎn)擊提交。

(6)可以看到留言成功,點(diǎn)擊返回首頁(yè)。

(7)在首頁(yè)可以看到剛剛新增的留言列表。

(8)點(diǎn)擊剛剛新增的這個(gè)留言標(biāo)題,查看留言內(nèi)容。

到此這篇關(guān)于SQL+HTML+PHP 一個(gè)簡(jiǎn)單論壇網(wǎng)站的綜合開發(fā)案例(注冊(cè)、登錄、注銷、修改信息、留言等)的文章就介紹到這了,更多相關(guān)論壇網(wǎng)站的綜合開發(fā)案例內(nèi)容請(qǐng)搜索以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持!

標(biāo)簽: PHP
相關(guān)文章:
成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久
好吊色欧美一区二区三区视频| 精品美女在线播放| 亚洲人成久久| 亚洲特级毛片| 亚洲无线一线二线三线区别av| 欧美1级日本1级| 欧美日韩视频一区二区三区| 99久久综合精品| 日韩一级在线观看| 欧美一区二区在线不卡| 日韩一区二区免费在线电影| 在线电影院国产精品| 欧美一区二区三区免费大片| 精品视频色一区| 欧美一区二区在线播放| 亚洲精品在线观| 中文在线资源观看网站视频免费不卡 | 成人aa视频在线观看| 99久久久国产精品免费蜜臀| 欧美成人午夜| 国产区二精品视| 欧美性猛片aaaaaaa做受| 欧美视频一区二区| 日韩欧美区一区二| 国产调教视频一区| 亚洲精品欧美专区| 日本不卡的三区四区五区| 国产在线不卡视频| 91网站最新地址| 亚洲国产午夜| 欧美乱妇15p| 国产欧美日韩亚州综合 | 欧美日韩一区二区视频在线| 中文国产一区| 在线观看91av| 日本一区二区高清| 日韩专区欧美专区| 99国产精品久久久久久久久久 | 国产欧美大片| 欧美精选在线播放| 国产精品每日更新| 日本成人在线看| 97久久超碰国产精品| 国产日韩一区二区三区在线播放 | 国产美女一区| 欧美私人免费视频| 中文字幕在线一区免费| 日韩主播视频在线| 99久久精品国产精品久久| 一区二区av| 日韩视频一区二区三区在线播放| 国产精品美女久久久久久久久 | 国产精品一区二区免费不卡| 亚洲激情视频| 欧美一区二区啪啪| 亚洲制服丝袜av| 成人av网站免费观看| 一本久道久久久| 欧美成人aa大片| 三级亚洲高清视频| 午夜久久福利| 欧美日韩精品一区二区天天拍小说 | 欧美一区亚洲| 99久久亚洲一区二区三区青草| 在线观看一区不卡| 欧美日韩在线免费视频| 久久嫩草精品久久久久| 亚瑟在线精品视频| 欧美日韩国产三区| 91精品国产综合久久精品麻豆| 综合久久久久综合| 成人h动漫精品| 欧美在线视频不卡| 亚洲免费看黄网站| 欧美一区精品| xf在线a精品一区二区视频网站| 日日夜夜精品免费视频| 亚洲国产婷婷香蕉久久久久久99| 日韩欧美不卡一区| 国产一区不卡视频| 色综合久久精品| 亚洲午夜精品在线| 在线观看欧美一区| 欧美国产精品一区二区三区| 成人免费视频app| 宅男在线国产精品| 六月丁香综合在线视频| 久久久精品动漫| 亚洲午夜久久久久久久久久久| 欧美韩日精品| 久久精品视频一区| 成人动漫在线一区| 日韩欧美区一区二| 成人免费观看视频| 精品久久久久99| 丁香另类激情小说| 欧美一区二区三区影视| 麻豆成人久久精品二区三区红| 欧美亚洲色图校园春色| 亚洲国产精品一区二区www在线| 国精品一区二区三区| 国产精品高潮呻吟久久| 在线精品观看| 亚洲欧美偷拍三级| 国产日韩高清一区二区三区在线| 国产精品国产三级国产aⅴ无密码 国产精品国产三级国产aⅴ原创 | 国产综合精品一区| 国产精品福利电影一区二区三区四区 | 在线免费av一区| 久久成人免费电影| 日韩欧美一区二区在线视频| 国产精品一区二区无线| 91精品国产91综合久久蜜臀| 国产一区二区在线观看免费| 日韩欧美激情一区| 91美女片黄在线| 亚洲婷婷在线视频| 性久久久久久| 激情五月婷婷综合| 欧美精品一区二区三区很污很色的 | 日韩制服丝袜av| 欧美在线观看视频一区二区三区| 久久国产婷婷国产香蕉| 欧美一区三区四区| 欧美区高清在线| 一区二区三区欧美| 色婷婷综合久久久中文一区二区| 久久99九九99精品| 精品国产网站在线观看| 国产一区亚洲| 天天综合日日夜夜精品| 欧美精品日日鲁夜夜添| 91在线精品一区二区| 亚洲女性喷水在线观看一区| 亚洲免费综合| 国产成人精品免费一区二区| 久久精品人人做人人爽人人| 在线日本高清免费不卡| 日本免费新一区视频| 精品国产伦一区二区三区免费| 国语精品中文字幕| 日本在线不卡视频| 亚洲精品在线三区| 夜夜精品视频| 国产精品自拍av| 亚洲欧洲av一区二区三区久久| 久久一区国产| 97se亚洲国产综合自在线观| 亚洲永久免费视频| 日韩精品一区二区在线| 日韩一级在线| 国产激情视频一区二区三区欧美 | 日本欧美韩国一区三区| 国产三级精品在线| 欧美中文字幕一区| 国产精品a久久久久| 麻豆成人久久精品二区三区小说| 久久久久久久久一| 91成人看片片| 精品不卡视频| 国产成人精品免费网站| 亚洲风情在线资源站| 欧美精品一区二区不卡| 噜噜噜噜噜久久久久久91| av电影在线观看完整版一区二区| 亚洲韩国精品一区| 久久香蕉国产线看观看99| 在线观看av一区二区| 亚洲人人精品| 91香蕉国产在线观看软件| 另类综合日韩欧美亚洲| 亚洲摸摸操操av| 国产日韩欧美一区二区三区乱码 | 亚洲视频在线观看一区| 欧美va在线播放| 色婷婷综合久久久中文字幕| 精品二区久久| www.一区二区| 日韩一区二区三区在线| 在线免费观看日韩欧美| 国产精品女主播一区二区三区| 91毛片在线观看| 国产999精品久久| 日韩av一二三| 一区二区不卡在线播放| 中文字幕日本不卡| 国产日韩精品视频一区| 欧美va日韩va| 欧美一级日韩免费不卡| 欧美二区三区91| 欧美体内she精视频| 久久亚洲高清| 久久精品日产第一区二区| 国产精品免费一区二区三区观看 | 久久久水蜜桃| 亚洲欧美日韩在线综合| 中文欧美日韩| 一区二区激情| 夜夜爽av福利精品导航 | 久久精品一区二区三区不卡 |