[PHP] PHP+MYSQL留言板製作

來源:互聯網
上載者:User

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

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


系統內容:    WAMP

IDE:         NETBEANS

SQL工具:     NAVICAT


顯示效果

:

650) this.width=650;" src="http://www.bkjia.com/uploads/allimg/140114/0912552S2-0.jpg" title="1.jpg" alt="wKiom1LOaN_ylQA2AABIuPmS5fQ575.jpg" style="float:none;" />

650) this.width=650;" src="http://www.bkjia.com/uploads/allimg/140114/0912553243-1.jpg" title="2.jpg" alt="wKiom1LOaN_AA_VnAAGjGc5OYew734.jpg" style="float:none;" />

650) this.width=650;" src="http://www.bkjia.com/uploads/allimg/140114/091255JO-2.jpg" title="3.jpg" alt="wKioL1LOaNPCSbOxAABUGpgitw4886.jpg" style="float:none;" />

650) this.width=650;" src="http://www.bkjia.com/uploads/allimg/140114/0912554962-3.jpg" title="4.jpg" alt="wKiom1LOaN_x9jSQAAAbiSstFWU938.jpg" style="float:none;" />


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 "<script language=\"javascript\">alert('添加成功');history.go(-1)</script>";

}


?>

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

<SCRIPT language=javascript>

   function CheckPost() {

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

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

           myform.user.focus();

           return false;

       }

       if (myform.title.value.length<5){

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

           myform.title.focus();

           return false;

       }

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

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

           myform.content.focus();

           return false;

       }


}

</SCRIPT>

<!--HTML表單結構-->

<form action="add.php" method="post" name="myform" onsubmit="return CheckPost();">

使用者: <input type="text" size="10" name="user"/><br>    

標題: <input type="text" name="title" value="value" size="40" maxlength="40"/><br>

內容: <textarea name="content"></textarea><br/>


<input type='submit' name='submit' value="發布留言"/>


</form>

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


head.php

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

<!--HTML頭導航連結-->

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

<title></title>

<link href=\'#\'" /css.css" rel="stylesheet" type="text/css">

<b><a href=\'#\'" /a> | <a href="list.php">瀏覽留言</a> | <a href="login.php">登陸</a></b>

<hr size="1">

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


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<=1)

       $pageval=1;

   //顯示分頁

   echo "共 $num 條".

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

   " <a href=$url?page=".($pageval-1).">上一頁</a> <a href=$url?page=".($pageval+1).">下一頁</a>";

}


?>

<!--HTML留言列表結構-->

<table width=500 border="0" align="center" cellpadding="5" cellspacing="1" bgcolor="#add3ef">

 <?

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

 $query = mysql_query($sql);

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

 ?>

 <tr bgcolor="#eff3ff">

 <td>標題:<?=$row[title]?> 使用者:<?=$row[user]?></td>

 </tr>

 <tr bgColor="#ffffff">

     <td>內容:<? echo htmtocode($row[content]); ?></td>

 <tr bgColor="#ffffff">

 <td>時間:<?=$row[lastdate]?></td>

 </tr>

 <?

 }

 ?>

</table>

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


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","<br>", str_replace(" ", "&nbsp;", $content));

   return $content;

}


?>

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


login.php

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

<?

//載入conn.php檔案

include("conn.php");

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

if($_GET[out]){

   setcookie("cookie","out");

   echo "<script language=\"javascript\">location.href='login.php';</script>";

}

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

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

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

   if ($pw=='e1bfd762321e409cee4ac0b6e841963c'){

       setcookie("cookie","ok");

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

       echo "<script language=\"javascript\">location.href='login.php';</script>";

   }

}

//載入head.php檔案

include("head.php");

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

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

?>

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

<SCRIPT language=javascript>

   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;

       }


       }

   }

</SCRIPT>

<!--HTML登入頁-->

<form action="" method="post" name="myform" onsubmit="return Checklogin();">

   使用者名稱: <INPUT type="text" name="id" /><br>

   密&nbsp;&nbsp;碼: <INPUT type="password" name="pw" />

   <input type="submit" name="submit" value="登陸">


</form>


<?

}else{

?>

<!--HTML退出頁-->

   <a href='?out=login'>退出</a>

<?

}

?>

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


本文出自 “一路向北” 部落格,請務必保留此出處http://showerlee.blog.51cto.com/2047005/1350339

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.