post.php
運(yùn)行代碼框
[Ctrl+A 全部選擇 提示:你可先修改部分代碼,再按運(yùn)行]
下面開(kāi)始解釋?zhuān)?/STRONG>
if($Submit) { //----------------->,如果頁(yè)面已經(jīng)提交,這里寫(xiě)一些入庫(kù)的判斷,深度 1
if (empty($user)||empty($title)||empty($ly)) //----------------->如果有空值,輸出不能為空的信息,深度 2 echo "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=gb2312\">"; echo "<script language=javaScript> \n alert(\"輸入必要的信息\") \n</script>"; echo "<script language=javascript>javascript:history.back()</script>"; exit();} if (strrpos($user,"<")!==false || strrpos($user,">")!==false || strrpos($title,">")!==false) { //----------------->特殊輸出字符,報(bào)錯(cuò),深度深度 3 echo "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=gb2312\">"; echo "<script language=javascript>\n alert(\"名稱(chēng)有特殊字符\")\n</script>"; echo "<script language=javascript>javascript:history.back()</script>"; exit();} if (!ereg("^[0-9]{0,}$",$qq)) { //----------------->正則驗(yàn)證錯(cuò)誤的,驗(yàn)證失敗的話,報(bào)錯(cuò).關(guān)于正則用法,ubb里面使用的最多,以后詳談.深度 3 echo "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=gb2312\">"; echo "<script language=javascript>\n alert(\"OICQ信息有錯(cuò)誤\")\n</script>"; echo "<script language=javascript>javascript:history.back()</script>"; exit();}
$user=trim($user); $title=trim($title); $ly=trim($ly); $user_ip=getip();
//----------------->去空格,這里設(shè)計(jì)到的getip()函數(shù),在inc/function.php里面,本篇最后介紹
$conn->execute("insert into php_guest (szd_user,szd_title,szd_content,szd_ip) values('$user','$title','$ly','$user_ip')"); //----------------->寫(xiě)入數(shù)據(jù)庫(kù),這里不需要累贅了吧
header("location:index.php"); //----------------->直接頁(yè)面跳轉(zhuǎn),相當(dāng)于response.redirect,不sleep時(shí)間的. $conn->Close(); $conn =NULL; else{
//----------------->,如果頁(yè)面沒(méi)提交,輸出表單,深度 1 require_once('postfunction.php'); postfunction();
} ?>
上面設(shè)計(jì)到一個(gè)獲取ip的函數(shù),在inc/function.php里面,函數(shù)名getip,返回ip。請(qǐng)?zhí)砑拥嚼锩妗?/SPAN>
// 獲取客戶端IP function getip() { if (isset($_SERVER)) { if (isset($_SERVER[HTTP_X_FORWARDED_FOR])) { $realip = $_SERVER[HTTP_X_FORWARDED_FOR]; } elseif (isset($_SERVER[HTTP_CLIENT_IP])) { $realip = $_SERVER[HTTP_CLIENT_IP]; } else { $realip = $_SERVER[REMOTE_ADDR]; } } else { if (getenv("HTTP_X_FORWARDED_FOR")) { $realip = getenv( "HTTP_X_FORWARDED_FOR"); } elseif (getenv("HTTP_CLIENT_IP")) { $realip = getenv("HTTP_CLIENT_IP"); } else { $realip = getenv("REMOTE_ADDR"); } } return $realip; }
以下是postfunction.php文件的內(nèi)容:
運(yùn)行代碼框
[Ctrl+A 全部選擇 提示:你可先修改部分代碼,再按運(yùn)行]
這里我主要是考慮到管理員編輯留言的時(shí)候要用到這個(gè)表單的,增加了2個(gè)參數(shù),mode和id,如果mode不是1的話就是編輯頁(yè)面,action的處理文件也不一樣,還輸出隱藏的id選項(xiàng)。
1、如果寫(xiě)信息留言的話,顯示如下:
2、如果管理員回復(fù)留言的就是這個(gè)界面:
出處:藍(lán)色理想
責(zé)任編輯:moby
上一頁(yè) 輸出記錄并分頁(yè) 下一頁(yè) 管理員處理頁(yè)面
◎進(jìn)入論壇網(wǎng)絡(luò)編程版塊參加討論
|