欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時(shí)間:2022年12月27日 15:37:28   投稿:mdxy-dxy  
這篇文章主要介紹了SQL+HTML+PHP?一個(gè)簡單論壇網(wǎng)站的綜合開發(fā)案例(注冊(cè)、登錄、注銷、修改信息、留言等),需要的朋友可以參考下

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

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

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

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

2.1 論壇首頁

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

數(shù)據(jù)庫的創(chuàng)建以及與PHP之間的連接可具體參考《【PHP基礎(chǔ)-10】實(shí)現(xiàn)PHP與SQL數(shù)據(jù)庫之間的交互》,在本綜合案例中,創(chuàng)建數(shù)據(jù)庫及其相應(yīng)的數(shù)據(jù)表步驟如下:
(1)先在數(shù)據(jù)庫中創(chuàng)建一個(gè)jrlt的數(shù)據(jù)庫。
在這里插入圖片描述
(2)在該數(shù)據(jù)庫下創(chuàng)建兩個(gè)表,一個(gè)是users,一個(gè)是messages,所含字段分別如下:

在這里插入圖片描述
在這里插入圖片描述

3.2 論壇首頁./index.php

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

代碼如下。

<html>
<head>
    <meta charset="utf-8">
    <title>  首頁----今日論壇</title>

</head>
<body>
    <h1>今日論壇BBS</h1>
    <?php
    if(isset($_COOKIE['name'])){
        echo "歡迎來到今日論壇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è)頁面./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 接收來自注冊(cè)頁面的表單數(shù)據(jù)./member/addUser.php

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

<meta charset="utf-8">
<?php
include "../inc/dblink.inc.php"http://將數(shù)據(jù)庫連接的文件包含到此文件中
?>

<?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ù)庫中是否有此用戶,若無則新增,若有則要求重新輸入
        $sql1="select * from users where name='".$userName."'";
        if(!$results1=mysqli_query($link,$sql1)){
            die("SQL語句有誤");
        }else{
            if(!mysqli_num_rows($results1)){//非空往數(shù)據(jù)庫中增加
                if($userPass1===$userPass2){
                    $sql2="insert into users(name, password) values('".$userName."', md5($userPass1))";
                    if(!$results2=mysqli_query($link,$sql2)){
                        die("SQL語句有誤");
                    }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));
?>

<?php
mysqli_close($link);
?>

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

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

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

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

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

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

<?php
    include "../inc/dblink.inc.php"http://將數(shù)據(jù)庫連接的文件包含到此文件中
?>

<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 "歡迎來到您的個(gè)人中心,".$_COOKIE['name'] ."! <a href='../index.php'>返回首頁</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語句有誤");
        }
    }else{
        echo "<a href='./login.php'>請(qǐng)登錄</a>";
    }
    ?>
</body>
</html>

<?php
    mysqli_close($link);
?>

3.7 登錄頁面 ./member/login.php

當(dāng)$_POST['userSubmit']具有數(shù)據(jù)時(shí),則判斷將用戶輸入的信息與數(shù)據(jù)庫信息進(jìn)行對(duì)比,正確則可以成功登錄;若$_POST['userSubmit']無數(shù)據(jù)時(shí),則設(shè)置表單用于收集用戶輸入賬號(hào)及密碼,設(shè)置登錄按鈕用于提交表單數(shù)據(jù)(表單數(shù)據(jù)提交到當(dāng)前頁面)。
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)站首頁也能獲取到cookie,需要設(shè)置路徑為/PHP/jrltbbs。
代碼:

<?php
include "../inc/dblink.inc.php"http://將數(shù)據(jù)庫連接的文件包含到此文件中
?>
<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'>首頁</a>或<a href='./index.php'>個(gè)人中心</a>";
                }else{
                    echo "用戶名或密碼錯(cuò)誤,<a href='./login.php'>請(qǐng)重新登錄</a>";
                }
            }else{
                die("sql語句有誤");
            }

        }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>

<?php
mysqli_close($link);
?>

3.8 注銷頁面./member/logout.php

使COOKIE過期;
代碼:

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

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

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

<meta charset='utf-8'>
<?php
include "../inc/dblink.inc.php"http://將數(shù)據(jù)庫連接的文件包含到此文件中
?>

<?php
if(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語句有誤");
        }

    }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";
}
?>

<?php
mysqli_close($link);
?>

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

用于簡單生成隨機(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)訪問今日論壇首頁,顯示結(jié)果為:
在這里插入圖片描述

(2)點(diǎn)擊注冊(cè),輸入賬號(hào)1,不輸入密碼。
在這里插入圖片描述
(3)點(diǎn)擊注冊(cè)時(shí),頁面顯示如下,提示”賬號(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)顯示登錄成功,返回首頁與個(gè)人中心。網(wǎng)頁獲取到服務(wù)端發(fā)來的COOKIE,返回首頁與個(gè)人中心均可用。


在這里插入圖片描述

(9)當(dāng)點(diǎn)擊返回首頁時(shí)的頁面結(jié)果如下。
在這里插入圖片描述

(10)當(dāng)點(diǎn)擊返回個(gè)人中心時(shí),頁面結(jié)果如下。
在這里插入圖片描述
(11)點(diǎn)擊修改頭像,選擇自己的圖片文件,并點(diǎn)擊提交。
在這里插入圖片描述
(12)圖像上傳成功,點(diǎn)擊返回個(gè)人中心。
在這里插入圖片描述
(13)返回個(gè)人中心后可以看到自己上傳的頭像。
在這里插入圖片描述
(14)點(diǎn)擊注銷即可退出登錄,系統(tǒng)將刪除COOKIE。
在這里插入圖片描述
(15)點(diǎn)擊返回首頁,可以重新回到首頁
在這里插入圖片描述

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

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

<?php
include "./inc/dblink.inc.php"http://將數(shù)據(jù)庫連接的文件包含到此文件中
?>

<html>
<head>
    <meta charset="utf-8">
    <title>  首頁----今日論壇</title>

</head>
<body>
    <h1>今日論壇BBS</h1>
    <?php
    if(isset($_COOKIE['name'])){
        echo "歡迎來到今日論壇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 "暫無留言內(nèi)容";
        }
    }else{
        echo mysqli_error($link);
    }
    ?>
</body>
</html>

<?php
mysqli_close($link);
?>

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

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

<?php
include "./inc/dblink.inc.php"http://將數(shù)據(jù)庫連接的文件包含到此文件中
?>

<html>
<head>
<meta charset = "utf-8">
<title>留言論壇</title>
</head>
<body>
<h1>留言內(nèi)容</h1><a href = './index.php'>返回首頁</a><hr />
<?php
if(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>
<?php
mysqli_close($link);
?>

4.3 新增留言頁面./addMessage.php

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

<?php
include "./inc/dblink.inc.php"http://將數(shù)據(jù)庫連接的文件包含到此文件中
?>
<html>
<head>
<meta charset = "utf-8">
<title>留言論壇</title>
</head>
<body>
<?php
if(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'>返回首頁</a>";
        }else{
            echo mysqli_error($link);
        }
    }else{
        echo "請(qǐng)?zhí)峤?;
    }
}else{
    echo "您還未登錄,<a href='./member/login.php'>請(qǐng)登錄</a>";
}

?>
</body>
</html>
<?php
mysqli_close($link);
?>

4.4 測(cè)試

(1)瀏覽器打開網(wǎng)站首頁,首頁內(nèi)容如下:
在這里插入圖片描述
(2)點(diǎn)擊”我要留言“,彈出如下提示
在這里插入圖片描述
(3)點(diǎn)擊請(qǐng)登錄,輸入賬號(hào)a,密碼1,并輸入驗(yàn)證碼,點(diǎn)擊提交。
在這里插入圖片描述

(4)登錄后點(diǎn)擊返回首頁,并點(diǎn)擊“我要留言”。此時(shí)可以輸入留言。
在這里插入圖片描述
在這里插入圖片描述

(5)輸入自己的留言并點(diǎn)擊提交。
在這里插入圖片描述

(6)可以看到留言成功,點(diǎn)擊返回首頁。
在這里插入圖片描述

(7)在首頁可以看到剛剛新增的留言列表。
在這里插入圖片描述
(8)點(diǎn)擊剛剛新增的這個(gè)留言標(biāo)題,查看留言內(nèi)容。
在這里插入圖片描述

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

相關(guān)文章

最新評(píng)論