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(" ", " ", $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>
密 碼: <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