首先我不是一名開發人員,只是一名小小的運維工程師,PHP是我自己喜歡的一門開發語言,所以我偶爾也會敲一些代碼,寫一些案例。今天我給大家分享的是使用PHP開發的留言板,留言板功能不全所以請大家見諒,也不知道滿不滿足企業開發的要求,大家看看就可以了,有什麼不足的請大家提出謝謝!
下面是效果圖,沒有進行CSS美化,比較簡單請見諒:
我使用的環境是:LNMP,數據庫名稱爲:test,表名爲:lyb,用戶名和密碼均爲:root
index.php文件內容:(用戶訪問的首頁文件)
<?php
include("conn.php"); //調用數據庫連接php
$sql = "select * from lyb order by id desc"; //sql查詢語句
$result = $conn->query($sql); //執行sql查詢語句
if($result == false ){ //判斷sql語句是否執行成功
?>
<script language="javascript">
alert('<?php echo "sql語句錯誤"; ?>'); //執行錯誤後彈框提示語句錯誤
</script>
<?php
}
$rows = []; //設置數組(存放數據庫查詢出的內容)
while ($row = $result->fetch_assoc() ) { //循環sql查詢到的內容
# code...
$rows[] = $row; //將循環的sql內容輸入到數組
}
?>
<!DOCTYPE html>
<html>
<head>
<title>留言板</title>
<meta charset="utf-8"> // 設置html字符編碼
<style type="text/css" media="screen"> // 設置css
.over{
margin: 0 35%;
}
.user{
color: #aed;
}
.time{
float: right;
}
.times{
color: red;
}
.content{
display: block;
width: 585px;
border: 1px solid #abc;
margin-top: 5px;
margin-bottom: 20px;
word-wrap:break-word;
word-break:break-all;
}
.mess{
width: 585px;
height: 500px;
overflow-x: hidden;
}
</style>
</head>
<body>
<div class="over"> // 設置留言板整體DIV
<div> //設置用戶輸入的DIV
<form action="save.php " method="POST" accept-charset="utf-8"> //設置表單的提交方式,字符編碼,提交後的PHP處理文件
<textarea cols="80" rows="10" name="lynr" >留言內容</textarea> //設置用戶輸入留言的表單
<br>
<input type="text" name="lyr" value="留言人"> //設置輸入用戶名的表單
<input type="submit" value="提交"> //設置提交按鈕
</form>
<div class="mess">
<?php foreach ($rows as $rowe){ ?> //循環數組,循環整個DIV
<div> //設置留言板的輸出
留言人:<font class="user"><?php echo "$rowe[user]"; ?></font> //將循環數組中的用戶輸出
<div class="time">留言時間:<a class="times">
<?php echo date("Y-m-d H:i:s",$rowe['time']); ?> //將循環數組中的用戶留言時間輸出
</a></div>
<div>留言內容:<a class="content">
<?php echo "$rowe[connect]"; ?> //將循環數組中的留言內容輸出
</a></div>
</div>
<?php } ?>
</div>
</div>
</div>
</body>
</html>
save.php內容:(執行用戶點擊提交後的操作)
<?php
include("class.php"); //調用類php
include("conn.php"); //調用連接數據庫php
$content = $_POST['lynr']; //接收用戶輸入的留言內容
$user = $_POST['lyr']; //接收用戶輸入的用戶名
$class = new pd; //將類實例化
$ur = $class->input($user); //向函數內傳輸參數,並將返回的結果輸出變量
$con = $class->input($content); //向函數內傳輸參數,並將返回的結果輸出變量
if ($ur == false ) { //判斷用戶輸入的內容是否正確
?>
<script language="javascript">
alert('<?php echo "輸入的用戶名不正確"; ?>'); //輸入錯誤後彈框輸出
</script>
<?php
include("index.php"); //輸入錯誤後返回主頁
exit; //輸入錯誤後截停程序
}
if ($con == false) {
# code...
?>
<script language="javascript">
alert('<?php echo "輸入的留言內容不正確"; ?>');
</script>
<?php
include("index.php");
exit;
}
$time = time(); //獲取當前時間戳
$sql = "insert into lyb(connect,user,time) value('{$content}','{$user}','{$time}')"; //sql插入語句
$result = $conn->query($sql); //執行sql語句,並設置爲變量
if($result == false){ //判斷數據庫語句是否執行成功
?>
<script language="javascript">
alert('<?php echo "未留言成功,請重新輸入"; ?>');
</script>
<?php
include("index.php");
exit;
}
?>
<script language="javascript">
alert('<?php echo "留言成功,正在爲您轉到主頁"; ?>');
</script>
<?php
include("index.php");
?>
conn.php內容:(此文件用於連接數據庫)
<?php
$HOST = "localhost"; //數據庫IP地址
$USER = "root"; //連接數據庫的用戶名
$PASSWD = "root"; //數據庫用戶密碼
$DB = "test"; //數據庫名稱
$conn = new mysqli( $HOST,$USER,$PASSWD,$DB ); //連接數據庫的sql語句
if (!$conn) { //判斷數據庫是否連接成功
# code...
die("連接數據庫失敗");
}
$sql = ("SET NAMES UTF8"); //設置數據庫傳輸字符編碼
$res = $conn->query($sql); //執行sql語句
if ($res == false) { //sql語句是否執行成功
# code...
die("數據庫語句執行失敗");
}
?>
class.php內容:(此文件用於判斷用戶輸入的內容是否符合要求)
<?php
/**
* 定義判斷用戶輸入內容是否符合規定
*/
class pd //定義類
{
function input($post) //設置函數,此函數用來判斷輸入內容
{
# code...
if ($post == "" ){ //判斷是否內容爲空
return false; //輸出結果爲false
}
$zf = ["張三","李四","王五"]; //我這裏就拿這幾個字符做特殊字符了
foreach ($zf as $er ) { //判斷是否存在特殊字符
# code...
if ($post == $er) {
# code...
return false;
}
}
return true; //輸出結果爲true
}
}
?>
大家一定要給我提出寶貴意見喲!!!!