如何使用PHP串連資料庫實現留言板功能

來源:互聯網
上載者:User
PHP實現留言板功能:

1 首先是登入頁面:

<!DOCTYPE html><html>    <head>        <meta charset="UTF-8">        <title>留言板登入</title>        <script src="bootstrap/js/jquery-1.11.2.min.js"></script>        <script src="bootstrap/js/bootstrap.min.js"></script>        <link href="bootstrap/css/bootstrap.min.css" rel="stylesheet" type="text/css"/>    </head>    <style>        .header{            margin-left: 550px;            margin-top: 150px;            height: 300px;            max-width: 300px;        }        .xiugai{            max-width: 200px;        }        .login{            margin-top: 10px;        }    </style>    <body>        <form action="messloginchuli.php" method="post">        <p class="header">            <h2>開發部內部留言板</h2>            <p class="input-group xiugai">                <span class="input-group-addon" style="margin-top: 20px;">使用者名稱:</span>                <input type="text" class="form-control" name="uid" placeholder="請輸入使用者名稱">            </p>            <p class="input-group xiugai" style="margin-top: 10px;">                <span class="input-group-addon">口令:</span>                <input type="text" class="form-control" name="pwd" placeholder="請輸入口令">            </p>            <button type="submit" class="btn btn-success login">登入</button>        </p>    </form>    </body></html>

2 登入頁面完成後要進入登入處理頁面了,也就是上面提交到的messloginchuli.php

<?phpsession_start();    // 登入之後要把所包含登入的頁面串連起來,開啟session$uid = $_POST["uid"];    $pwd = $_POST["pwd"];    require_once "./DBDA.class.php";    $db = new DBDA();    $sql = "select password from yuangong where username=' {    $uid}'";    $arr = $db->query($sql,0);    //var_dump($arr[0][0]);    if($arr[0][0]=$pwd && !empty($pwd)) {    $_SESSION["uid"]=$uid;    header("location:message.php");}?>

登入頁面效果

3.登入完成後是進入首頁面,也就是顯示自己收到的對話內容,下面是設計的資料庫的表格和首頁面的代碼:

<!DOCTYPE html><html>    <head>        <meta charset="UTF-8">        <title></title>        <script src="bootstrap/js/jquery-1.11.2.min.js"></script>        <script src="bootstrap/js/bootstrap.min.js"></script>        <link href="bootstrap/css/bootstrap.min.css" rel="stylesheet" type="text/css"/>    </head>    <style>        .mess{            max-width: 800px;            margin-left: 250px;            margin-top: 150px;        }    </style>    <body>        <?php        session_start();        $uid = $_SESSION["uid"];        if(empty($_SESSION["uid"])){            header("location:messlogin.php");            exit;        }        ?>        <p style="margin-left: 880px; margin-top: 50px;font-size: 20px;" >            <a href="publish_info.php" >發布資訊</a>            <a href="tuichuchuli.php">退出系統</a>            </p>        <table class="table table-bordered mess" style="margin-top: -40px;">            <caption style="font-size: 20px;">                留言資訊:            </caption>                        <thead>                <tr>                    <th>發送人</th>                    <th>發送時間</th>                    <th>接收人</th>                    <th>資訊內容</th>                </tr>            </thead>            <tbody>                <?php                require_once "./DBDA.class.php";                $db = new DBDA();                $sql = "select * from liuyan where recever='{$uid}' or recever='all'";                $arr = $db->query($sql,0);                foreach($arr as $v){                    echo "<tr>                    <td>{$v[1]}</td>                    <td>{$v[2]}</td>                    <td>{$v[3]}</td>                    <td>{$v[4]}</td>                </tr>";                }                ?>                            </tbody>        </table>    </body></html>

退出登入系統實現使用者登出,返回登入頁面功能代碼如下:

<?phpsession_start();    $uid = $_SESSION["uid"];    unset($uid);    header("location:messlogin.php");?>

代碼寫到這裡,比較重要的部分就完成了,下面是要進入發布資訊頁面了,相當於之前寫的添加的頁面,其處理頁面也是和之前沒什麼區別的,差別在於現在的處理頁面是在使用者登入的情況下操作的,需要用session把所有的登入情況下的頁面串連起來

首頁面效果

4.最後是資訊發佈頁面,可以給任何人發送資訊

代碼如下:

<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title>發布資訊介面</title> <script src="bootstrap/js/jquery-1.11.2.min.js"></script> <script src="bootstrap/js/bootstrap.min.js"></script> <link href="bootstrap/css/bootstrap.min.css" rel="stylesheet" type="text/css"/> </head> <style> .mess {    max-width: 200px;    margin-top: 10px;}.mess1 {    margin-top: 10px;}.opt {    max-width: 200px;    margin-left: 80px;}.txt {    max-width: 200px;}</style> <body><?phpsession_start();    $uid = $_SESSION["uid"];    if (empty($_SESSION["uid"])) {    header("location:messlogin.php");    exit ;}?> <p style="margin-left: 500px;    margin-top: 150px;    "> <p style="margin-left: 60px;    margin-bottom: 20px;    font-size: 20px;    " > <a href="message.php" >查看資訊</a> <a href="seemess.php" style="margin-left: 80px;    " >查看發送資訊</a> </p> <form class="form-horizontal" role="form" action="infochuli.php" method="post"> <p class="form-group"> <label for="firstname" class="col-sm-2 control-label mess1">接收人:</label> <p class="form-group "> <select class="form-control opt" name="recever"> <option value="all">所有人</option> <?php require_once "./DBDA.class.php";    $db = new DBDA();    //這裡可以給特定的朋友發送資訊的sql語句 //$sql = "select firend.firend,yuangong.name from firend,yuangong where firend.firend //= yuangong.username and firend.me = ' {    $uid}'";    $sname = "select * from yuangong where username not in (' {    $uid}')";    $arr = $db->query($sname,0);    //var_dump($arr[0][2]);    foreach($arr as $v) {    echo "<option value=' {    $v[0]}'> {    $v[2]}</option>";}?> </select> </p> </p> <p class="form-group"> <label for="lastname" class="col-sm-2 control-label mess1">資訊內容:</label> <p class="col-sm-10"> <textarea class="form-control txt" rows="3" name="content"></textarea> </p> </p> <p class="form-group"> <p class="col-sm-offset-2 col-sm-10"> <button type="submit" class="btn btn-default"> 發送 </button> </p> </p> </form> </p> </body></html>

發資訊頁面

5.發布資訊完成後要進入處理頁面了,也就是提交到的infochuli.php,最後返回傳送資訊介面

<?phpsession_start();    $uid = $_SESSION["uid"];    $recever = $_POST["recever"];    $content = $_POST["content"];    $arr = $_POST["recever"];    $t = date("Y-m-d H:i:s");    require_once "./DBDA.class.php";    $db = new DBDA();    $sql = "insert into liuyan values('',' {    $uid}',' {    $t}',' {    $recever}',' {    $content}',0)";    $arr = $db->query($sql);    if($arr && !empty($arr)) {    header("location:publish_info.php");}else {    echo "發送失敗!";}?>

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.