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 "";
}
?>
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;
}
}
用户:
标题:
内容:
------------------------------------------------
head.php
-------------------------------------------------
-------------------------------------------------
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 条".
//.(...).用来连接变量名
}
?>
$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 "";
}
//提交表单判断登录ID是否为admin,密码是否匹配'PHP'的MD5值,并标记cookie为ok
if($_POST[id] =='admin'){
$pw=md5($_POST[pw]);
if ($pw=='e1bfd762321e409cee4ac0b6e841963c'){
setcookie("cookie","ok");
//刷新登录页面使cookie标记值生效.
echo "";
}
}
//加载head.php文件
include("head.php");
//提交表单判断cookie标记值不为ok,则显示登录页,否则显示退出页
if($_COOKIE['cookie']!='ok'){
?>
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;
}
}
}
用户名:
密 码:
}else{
?>
}
?>
---------------------------------------------------