PHP+MYSQL留言板製作

daqianmen發表於2021-09-09

PYTHON學習先告一段落,最近一直在研究PHP,剛好最近看到留言板製作,所以整理了點自己的心得寫了出來,供大家參考

PS:附件有程式碼包供大家下載.


系統環境:    WAMP

IDE:         NETBEANS

SQL工具:     NAVICAT


顯示效果

如圖:

圖片描述

圖片描述

圖片描述

圖片描述


1.匯入MYSQL資料:

將如下SQL語句匯入庫,假定庫名稱為bbs,這裡保證庫與表欄位的編碼都為UTF-8模式

-------------------------------------------

CREATE TABLE `message` (

 `id` tinyint(1) NOT NULL auto_increment,

 `user` varchar(25) NOT NULL,

 `title` varchar(50) NOT NULL,

 `content` tinytext NOT NULL,

 `lastdate` date NOT NULL,

 PRIMARY KEY  (`id`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;

--------------------------------------------


2.部分PHP程式碼

add.php

------------------------------------------------

//載入conn.php檔案

include("conn.php");

//載入head.php檔案

include("head.php");

//提交表單到資料庫

if($_POST['submit']){

  $sql = "insert into message(id,user,title,content,lastdate) " .

         "values('','$_POST[user]','$_POST[title]','$_POST[content]',now())";

  mysql_query($sql);

  echo "

}


?>

<!--利用JS對錶單輸入進行字元限制--&gt

   function CheckPost() {

       if (myform.user.value==""){

           alert("請填寫使用者名稱");

           myform.user.focus();

           return false;

       }

       if (myform.title.value.length

           alert("標題不能少於5個字元");

           myform.title.focus();

           return false;

       }

       if (myform.content.value==""){

           alert("必須要填寫留言內容");

           myform.content.focus();

           return false;

       }


}

<!--HTML表單結構--&gt

使用者:
   

標題:

內容:



------------------------------------------------


head.php

-------------------------------------------------

<!--HTML頭導航連結--&gt

| |


-------------------------------------------------


list.php

-------------------------------------------------

//載入conn.php檔案

include("conn.php");

//載入head.php檔案

include("head.php");


//設定分頁值為5

$pagesize=5;

//取得除域名外後面完整的地址路徑

$url=$_SERVER["REQUEST_URI"];

//取得該固定鍵值[path][query]的url陣列

$url=parse_url($url);

//print_r($url);

//取得url的[path]路徑值

$url=$url[path];


//取得test表資訊

$numq =  mysql_query("select * from message");

//取得test表內容的行數

$num = mysql_num_rows($numq);


//判斷是否能取到page引數值

if($_GET[page]){

   //將該值傳給pageval

   $pageval=$_GET[page];

   //計算page值,供SQL語句使用

   $page=($pageval-1)*$pagesize;

   //等價於 $page = $page.',' 意思就是將page引數值與,連線起來

   $page.=",";

}


//判斷資料庫條目總數大於頁數,顯示分頁

if($num > $pagesize){

   //判斷上一頁和下一頁的值若小於0,則按照0處理

   if($pageval

       $pageval=1;

   //顯示分頁

   echo "共 $num 條".

   //.(...).用來連線變數名

   " ";

}


?>

<!--HTML留言列表結構--&gt

 

 $sql = "select * from message order by id desc limit $page $pagesize";

 $query = mysql_query($sql);

 while($row=mysql_fetch_array($query)){

 ?>

 

 

 

 

     

 

 

 

 

 }

 ?>

標題:=$row[title]?> 使用者:=$row[user]?>
內容: echo htmtocode($row[content]); ?>
時間:=$row[lastdate]?>

-------------------------------------------------


conn.php

--------------------------------------------------

//登入MYSQL資料庫

$conn = @ mysql_connect("localhost", "root", "") or die("資料庫連結錯誤");

//進入BBS庫

mysql_select_db("bbs", $conn);

//使用UTF-8中文編碼傳輸資料流

mysql_query("set names 'UTF8'");

//修改空格和回車編碼為HTML可識別編碼

function htmtocode($content){

   $content = str_replace("n","
", str_replace(" ", " ", $content));

   return $content;

}


?>

--------------------------------------------------


login.php

---------------------------------------------------

//載入conn.php檔案

include("conn.php");

//判斷是否退出,並標記cookie為out,返回登入頁

if($_GET[out]){

   setcookie("cookie","out");

   echo "

location.href='login.php';
";

}

//提交表單判斷登入ID是否為admin,密碼是否匹配'PHP'的MD5值,並標記cookie為ok

if($_POST[id] =='admin'){

   $pw=md5($_POST[pw]);

   if ($pw=='e1bfd762321e409cee4ac0b6e841963c'){

       setcookie("cookie","ok");

       //重新整理登入頁面使cookie標記值生效.

       echo "

location.href='login.php';
";

   }

}

//載入head.php檔案

include("head.php");

//提交表單判斷cookie標記值不為ok,則顯示登入頁,否則顯示退出頁

if($_COOKIE['cookie']!='ok'){

?>

<!--利用JS對登入字元進行限制--&gt

   function Checklogin(){

       if (myform.id.value ==""){

           alert("請填寫登入名");

           myform.id.focus();

           return false;

       }

       if (myform.id.value !=="admin"){

           alert("使用者名稱錯誤");

           myform.id.focus();

           return false;

       }

       if (myform.pw.value ==""){

           alert("密碼不能為空");

           myform.pw.focus();

           return false;

       }


       }

   }

<!--HTML登入頁--&gt

   使用者名稱:

   密  碼:

   



}else{

?>

<!--HTML退出頁--&gt

   

}

?>



來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/1727/viewspace-2801862/,如需轉載,請註明出處,否則將追究法律責任。