post.php
运行代码框
[Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]
下面开始解释:
if($Submit) { //----------------->,如果页面已经提交,这里写一些入库的判断,深度 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) { //----------------->特殊输出字符,报错,深度深度 3 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 (!ereg("^[0-9]{0,}$",$qq)) { //----------------->正则验证错误的,验证失败的话,报错.关于正则用法,ubb里面使用的最多,以后详谈.深度 3 echo "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=gb2312\">"; echo "<script language=javascript>\n alert(\"OICQ信息有错误\")\n</script>"; echo "<script language=javascript>javascript:history.back()</script>"; exit();}
$user=trim($user); $title=trim($title); $ly=trim($ly); $user_ip=getip();
//----------------->去空格,这里设计到的getip()函数,在inc/function.php里面,本篇最后介绍
$conn->execute("insert into php_guest (szd_user,szd_title,szd_content,szd_ip) values('$user','$title','$ly','$user_ip')"); //----------------->写入数据库,这里不需要累赘了吧
header("location:index.php"); //----------------->直接页面跳转,相当于response.redirect,不sleep时间的. $conn->Close(); $conn =NULL; else{
//----------------->,如果页面没提交,输出表单,深度 1 require_once('postfunction.php'); postfunction();
} ?>
上面设计到一个获取ip的函数,在inc/function.php里面,函数名getip,返回ip。请添加到里面。
// 获取客户端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文件的内容:
运行代码框
[Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]
这里我主要是考虑到管理员编辑留言的时候要用到这个表单的,增加了2个参数,mode和id,如果mode不是1的话就是编辑页面,action的处理文件也不一样,还输出隐藏的id选项。
1、如果写信息留言的话,显示如下:

2、如果管理员回复留言的就是这个界面:

出处:蓝色理想
责任编辑:moby
上一页 输出记录并分页 下一页 管理员处理页面
◎进入论坛网络编程版块参加讨论
|