留言发布
定义数据库 conn.php
<?php
//利用mysql_connect()开启数据库链接,@用于隐藏错误
$conn = @mysql_connect("localhost", "root", "") or die("数据库链接错误");
//使用mysql_select_db(" ",__)打开数据库,""里面是数据库,__是链接标识符
mysql_select_db("bbs", $conn);
//mysql_query()对数据库的表进行操作;使用GBK中文编码;
mysql_query("set names 'GBK'");
//function函数作用:在写字板上显示的内容会有空格和回车的效果,使用str_replace替换函数
function htmtocode($content){
$content = str_replace("\n","<br>",str_replace(" ", " ", $content));
return $content;
}
?>
用户输入: add.php
<?php
include("conn.php"); //把数据库链接
//用isset()可以省略出现的notice提示;
利用$_POST方法接收传递过来的参数,判断接收的是不是submit
if(isset($_POST['submit']))
{
//把输入的数据存放到数据库的表中并在数据库显示
$in="insert into message (id, user, title, content, lastdate)";
$val="values('','$_POST[user]','$_POST[title]','$_POST[content]',now())";
$sql=$in.$val;
mysql_query($sql); //对数据库中的表进行操作
echo
"<script language=\"javascript\">
alert('添加成功');history.go(-1)
</script>"; //输出一个js脚本,弹出“添加成功”,然后回退
}
?>
<SCRIPT language=javascript> <!--提交表单用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>
//action是转向地址,即form表单需要提交到哪里;onsubmit:提交事件
<form action="add.php" method="post" name="myform" onsubmit="return CheckPost();">
用户:<input type="text" size="10" name="user"/><br>
标题:<input type="text" name="title"/><br>
内容:<textarea name="content" cols="60" rows="9"></textarea><br>
<input type="submit" name="submit" value="发布留言"/>
</form>
列表显示+分页显示 list.php
<?php
include("conn.php");
$pagesize=4; //每一页中显示的个数
$page=0; //页数以0开始
$pageval=0;
$url=$_SERVER["REQUEST_URI"]; //取得当前url的路径地址
$url=parse_url($url); //解析url,得到url的各项参数
$url=$url['path']; //取parse_url解析出来的path值
$numq=mysql_query("SELECT * FROM message");
$num=mysql_num_rows($numq); //求出message中有多少条信息
if(isset($_GET['page'])) //判断page(当前页数)是否存在
{
//当前页的总信息条数(公式:$page*pagesize,当page=0时)
$page=$_GET['page']*$pagesize;
}
//当显示的信息个数大于每页设定显示的个数,显示上下页控制按钮,反之不显示
if($num > $pagesize)
{
if($pageval<=0) //上一页或者下一页的值不能少于0(即不可能为负第n页)
{
$pageval=0;
}
echo "共 $num 条".
"<a href=$url?page= ".($pageval).">上一页</a> <a href=$url?page= ".($pageval+1).">下一页</a>";
}
$sql="select * from message limit $page,$pagesize"; //从第1条开始取,取page条信息
$query=mysql_query($sql); //两句合起来表示执行一个查询会员的语句
while($row=mysql_fetch_array($query)) //获取查询结果
{
?>
<table width=500 border="0" align="center" cellpadding="5" cellspacing="1" bgcolor="#add3ef">
<tr bgcolor="#eff3ff">
<td>标题:<?=$row['title']?> 用户:<?=$row['user']?></td> <!--$row['']获取文本框提交的值-->
</tr>
<tr bgcolor="#ffffff">
<td>内容:<? echo htmtocode($row['content'] ) ?></td> <!--htmtocode让显示的内容有回车和空格效果-->
</tr>
</table>
<?
}
?>
用户登录 login.php
<?php
include("conn.php");
//如果退出登录,写入cookie,记录已退出状态
if(isset($_GET['out']))
{
//设置cookie变量的名称为cookie,cookie的值为out
setcookie("cookie","out");
//当用户没退出时,一直显示login.php的页面
echo"<script language=\"javascript\">location.href='login.php';</script>";
}
if(isset($_POST['id']) == 'admin'){ //当用户以admin登录时可以进入
$pw=md5($_POST['pw']);
if($pw=='21232f297a57a5a743894a0e4a801fc3')
{
//设置cookie的名称为cookie,cookie的值为ok
setcookie("cookie","ok");
echo "<script language=\"javascript\">location.href='login.php';</script>";
}
}
if(isset($_COOKIE['cookie']) != 'ok') //当cookie的值为ok时,执行以下语句
{
?>
<SCRIPT language=javascript>
function Checklogin()
{
if(myform.id.value == "")
{
alert("请填写登录名");
myform.id.focus();
return false;
}
if(myform.pw.value == "")
{
alert("密码不能为空");
myform.pw.focus();
return false;
}
}
</SCRIPT>
<form action="" method="post" name="myform" onsubmit="return Checklogin();">
ID:<input type="text" name="id" /><br>
PW:<input type="password" name="pw" /><input type="submit" name="submit" value="登录"/>
</form>
<?
}else{
?>
<a href='?out=login'>退出</a>
<?
}
?>