1. 程式人生 > >php——25-留言板例項(前後端配合)

php——25-留言板例項(前後端配合)

mysql.php

前端頁面

<?php
//預定義資料庫連線引數
$host = '127.0.0.1';
$dbuser = 'root';
$psd = '123456';
$dbname = 'sql-practise';

//連線到資料庫
$db = new mysqli($host, $dbuser, $psd, $dbname);
if ($db->connect_errno <> 0) {
    die('連線資料庫失敗');
}

//設定資料庫資料傳輸的編碼
$db->query('SET NAMES UTF8');

//執行
$sql='SELECT * FROM msg ORDER BY id DESC'
; $mysqli_result=$db->query($sql); if($mysqli_result===false){ die('sql執行錯誤'); } //迴圈資料 $rows=[]; while ($row=$mysqli_result->fetch_array(MYSQLI_ASSOC)){ $rows[$row['id']]=$row; } //var_dump($rows);//列印資料 ?>
<!DOCTYPE html> <html lang="en"> <head> <meta charset
="utf-8">
<title>留言本</title> </head> <style> .wrap { width: 600px; margin: 0 auto; } .add { overflow: hidden; } .add .content { width: 598px; margin: 0; padding: 0; } .add .user { float: left;
} .add .btn { float: right; } .msg { margin: 20px 0; background: #ccc; padding: 5px; } .msg .info { overflow: hidden; } .msg .user { display: inline-block; color: blue; } .msg .time { float: right; color: #999; } .msg .content { display: block; margin-top: 40px; }
</style> <body> <div class="wrap"> <!--發表留言--> <div class="add"> <form action="save.php" method="post"> <textarea name="content" class="content" cols="50" rows="5"></textarea> <br> <input name="user" type="text" class="user"> <input type="submit" value="發表留言" class="btn"> </form> </div> <!--檢視留言--> <?php foreach ($rows as $value):?> <div class="msg"> <div class="info"> <span class="user"><?php echo $value['user'] ?></span> <span class="time"><?php echo date('Y-m-d,h-m-s',$value['intime']) ?></span> <span class="content"><?php echo $value['content'] ?></span> </div> </div> <?php endforeach; ?> </div> </body> </html>

input.php

所引入的input.php檔案(面向物件封裝)

<?php

//面向物件
class input
{
    //定義函式,對留言內容進行檢查
    function post($content)
    {
        //判斷空
        if ($content == '') {
            return false;
        }

        //禁止使用使用者名稱
        $n = ['張三', '李四', '王五', '趙六'];
        foreach ($n as $name) {
            if ($content == $name) {
                die('禁止使用的使用者名稱');
            }
        }

        return true;
    }
}

save.php

後臺資料接收

<?php

include('input.php');

$content = $_POST['content'];
$user = $_POST['user'];

$input = new input();

//呼叫函式,檢查留言
$is = $input->post($content);
if (!$is) {
    //die指停止中止程式 並列印內包含的字串
    die('留言內容不能為空');
}
$is = $input->post($user);
if (!$is) {
    die('留言人不能為空');
}

var_dump($content, $user);

//2、將資料入庫
//預定義資料庫連線引數
$host = '127.0.0.1';
$dbuser = 'root';
$psd = '123456';
$dbname = 'sql-practise';

//連線到資料庫
$db = new mysqli($host, $dbuser, $psd, $dbname);
if ($db->connect_errno <> 0) {
    die('連線資料庫失敗');
}

//設定資料庫資料傳輸的編碼
$db->query('SET NAMES UTF8');

//裡面的花括號是定界符,存放變數(下面引號內容,先在資料庫執行檢測一下再用)
$time = time();
$sql = "INSERT INTO msg(content,user,intime) VALUES ('{$content}','{$user}','{$time}')";

//執行sql
$is = $db->query($sql);

//列印判斷是否執行成功(true成功,false失敗)
var_dump($is);

header("location:mysql.php");//執行完自動跳轉回頁面 用於頁面內部資料更新