php——25-留言板例項(前後端配合)
阿新 • • 發佈:2018-11-12
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");//執行完自動跳轉回頁面 用於頁面內部資料更新