首页 > 数据库 > MySQL > 正文

打造简单的PHP&MYSQL留言板

2024-07-24 12:57:02
字体:
来源:转载
供稿:网友

数据库结构:(库名:lyb)

表一: admin
字段: id(int11)   name(varchvr)   password(varchvr)

表二: lo
字段: id(int11)   username(varchvr)  sex(varchvr)  qq(varchvr)  email(varchvr)  info(text)  ip(varchvr)  submit_time(datetime)

1、conn.php(连接数据库文件)

<?php
mysql_connect("localhost","root","");//连接数据库
mysql_select_db("lyb");//选择数据库
?>

2、header.php(公用头部文件)

<!doctype html public "-//w3c//dtd xhtml 1.0 transitional//en" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=gb2312" />
<title>银子留言板 version 1.0</title>
</head>
<link href="css.css" rel="stylesheet" type="text/css" />
<body>
<div id="head">
    <div id="head_l">
        <ul>
            <li><a href="index.php">偶要看留言</a></li>
            <li><a href="post.php">偶要发表</a></li>
            <?php
            session_start();
            if($_session["key"]==1){//如果获取的session为1则显示管理项
            ?>
            <li><a href="adminexit.php">退出管理</a></li>
            <?
            }
            else
            {
            ?>
            <li><a href="admin.php">偶要管理</a></li>
            <?}?>
        </ul>
    </div>
    <div id="head_r">银子留言板 version 1.0</div>
</div>

3、footer.php(公用底部文件)

<?php
$counterfile="conter.xml";
function displaycounter($counterfile){
$fp  =  fopen($counterfile,"rw");
$num =  fgets($fp,5);
$num += 1;
print "<div id=/"footer/">银子留言板 version 1.0&nbsp;&nbsp;&nbsp;您是第&nbsp;"."$num"."&nbsp;位无聊的银</div>";
exec("rm -rf $counterfile");
exec("echo $num > $counterfile");
}
if(!file_exists($counterfile)){
exec("echo 0 > $counterfile");
}
displaycounter($counterfile);
?>

</body>
</html>

4、index.php(首页)

<?php
require_once("conn.php");
require_once("header.php");
session_start();

//分页代码开始
$pagesize = 10;//设置每页显示条数
$rs = mysql_query("select count(*) from lo");//取得记录总数,计算总页数用
$myrow = mysql_fetch_array($rs);
$numrows = $myrow[0];//计算总记录

$pages = intval($numrows/$pagesize);
if($numrows%$pagesize)$pages++;//设置页数
if(isset($_get['page']))
    {
        $page = intval($_get['page']);
    }
    else
    {
        $page = 1;//设为第一页
    }
$offset = $pagesize*($page-1);//计算记录偏移量
//分页代码结束


$sql = "select id,username,sex,qq,email,info,ip,date_format(submit_time, '%y年%m月%d日 %t' ) from lo order by id desc limit $offset,$pagesize";//用到了date-format格式化日期格式
$result = mysql_query($sql);
$num = mysql_num_rows($result);

if($num>0){
    while($row = mysql_fetch_array($result))
    {
    //echo print_r($row);
        if($row[2]=="男")//这个使性别改成你想要的名称^_^
        {
            $sex = "帅锅";
        }
        else
        {
            $sex = "美女";
        }


?>

<div id="show">
    <p class="num">第 [<?= $row[0] ?>] 条留言<p>
    <p class="unline">留言人:<span class="blue"><?= $row[1]?></span>&nbsp;&nbsp;性别:<?= $sex ?>&nbsp;&nbsp;留言时间:<?= $row[7] ?>&nbsp;<? if($row[3]) {?>&nbsp;<a href="http://wpa.qq.com/msgrd?v=1&uin=<?= $row[3] ?>&site=http://www.loai.cn&menu=yes"><img src="http://www.VeVb.com/htmldata/2007-01-19/img/qq.gif" alt="<?= $row[3]?>" /></a><? } ?><? if($row[4]){ ?>&nbsp;<a href="mailto:<?= $row[4] ?>"><img src="http://www.VeVb.com/htmldata/2007-01-19/img/email.gif" alt="<?= $row[4]?>" /></a>&nbsp;<? }?><? if($_session["key"]==1){ ?>&nbsp;ip:<?= $row[6] ?>&nbsp;&nbsp;<a href="update.php?wuleying&id=<?= $row[0]?>">更改</a>&nbsp;<a href="delete.php?wuleying&id=<?= $row[0]?>">删除</a><?}?></a></p>
    <p class="blue">留言内容:</p>
    <div id="show_info"><?= nl2br(htmlspecialchars($row[5])) ?></div>
</div>
<?php
    }
}
else
    {
        echo "<div id=/"show/">无数据......</div>";
    }
?>

<div id="show_page">
<p>
<?php
$first=1;
$prev=$page-1;
$next=$page+1;
$last=$pages;
if($page==1&&$pages>1)
{
    echo "首页&nbsp;|&nbsp;";
    echo "上一页&nbsp;|&nbsp;";
    echo "<a href=/"index.php?page=".$next."/">下一页</a>&nbsp;|&nbsp;";
    echo "<a href=/"index.php?page=".$last."/">尾页</a>&nbsp;|&nbsp;";
}
elseif($page>=1&&$page!=$pages&&$num>0)
{
    echo "<a href=/"index.php?page=".$first."/">首页</a>&nbsp;|&nbsp;";
    echo "<a href=/"index.php?page=".$prev."/">上一页</a>&nbsp;|&nbsp;";
    echo "<a href=/"index.php?page=".$next."/">下一页</a>&nbsp;|&nbsp;";
    echo "<a href=/"index.php?page=".$last."/">尾页</a>&nbsp;|&nbsp;";
}
elseif($page==$pages&&$page!=1)
{
    echo "<a href=/"index.php?page=".$first."/">首页</a>&nbsp;|&nbsp;";
    echo "<a href=/"index.php?page=".$prev."/">上一页</a>&nbsp;|&nbsp;";
    echo "下一页&nbsp;|&nbsp;";
    echo "尾页&nbsp;|&nbsp;";
}
elseif($page==$pages)
{
    echo "首页&nbsp;|&nbsp;";
    echo "上一页&nbsp;|&nbsp;";
    echo "下一页&nbsp;|&nbsp;";
    echo "尾页&nbsp;|&nbsp;";   
}
else
{
    echo "首页&nbsp;|&nbsp;";
    echo "上一页&nbsp;|&nbsp;";
    echo "下一页&nbsp;|&nbsp;";
    echo "尾页&nbsp;|&nbsp;";
}
?>
共&nbsp;<span><?= $pages ?></span>&nbsp;页&nbsp;|&nbsp;当前第&nbsp;<span><?= $page ?></span>&nbsp;页&nbsp;|&nbsp;共&nbsp;<span><?=$numrows ?></span>&nbsp条留言</p>
</div>


<?php
mysql_close();
?>

<?php
require_once("footer.php");
?>

5、post.php(提交留言页面)

<?
require_once("header.php");
?>
<div id="input">
<form method="post" action="input.php" name="form1">
    <h1>提交留言</h1>
    <p>姓名 :<input type="text" name="name" size="20" class="y" />&nbsp;</p>
    <p>性别 :<input name="sex" type="radio" value="男" checked/>&nbsp;帅锅&nbsp;<input type="radio" name="sex" value="女"/>&nbsp;美女</p>
    <p>q q :<input type="text" name="qq" class="y" />&nbsp;(可选填)</p>
    <p>email:<input type="text" name="email" class="y" />&nbsp;(可选填)</p>
    <p>留言内容:</p>
    <p><textarea name="info" rows="5" cols="40"></textarea></p>
    <p class="cen">
        <input type="submit" value="偶填好了" />
        <input type="reset" value="偶要重写">
    </p>
    <p class="cen1">银子留言板 version 1.0</p>
</form>
</div>
</body>
</html>

6、input.php(插入留言)

<?php
require_once("conn.php");


$username = $_post['name'];
$sex = $_post['sex'];
$qq = $_post['qq'];
$email = $_post['email'];
$info = $_post['info'];

if (strrpos($username,"<")!==false || strrpos($username,">")!==false||strrpos($username,"@")!==false||strrpos($username,"/"")!==false||strrpos($username,"'")!==false||strrpos($username,"_")!==false)
{
    echo "<script>alert('名称不能有特殊字符!');location.href='post.php';</script>";
    exit();
}

if (!ereg("^[0-9]{0,}$",$qq))//用正则检查qq格式
{
    echo "<script>alert('oicq信息有错误!必须是数字!');location.href='post.php';</script>";
    exit();
}

if($email)
{//如果填写了邮箱就用正则检查邮箱格式
    if (!ereg("^[a-za-z0-9_/-/.][email protected][a-za-z0-9/-]+/.[a-za-z0-9/-/.]+$",$email))
    {
        echo "<script>alert('email格式不正确!');location.href='post.php';</script>";
        exit();
    }
}

if(!$username)
{
    echo "<script>alert('名称不能为空哦!');location.href='post.php';</script>";
    exit();
}
elseif(!$info)
{
    echo "<script>alert('留言不能为空哦!');location.href='post.php';</script>";
    exit();
}
else
{
    $ip = getenv('remote_addr');//获取客户端ip地址

    $sql = "insert into lo (username,sex,qq,email,info,ip,submit_time) values ('$username','$sex','$qq','$email','$info','$ip',now())";

    $result = mysql_query($sql);

    mysql_close();

    echo "<script>alert('提交成功!返回首页');location.href='index.php';</script>";
}
?>

7、update.php(修改留言页)

<?php
session_start();
require_once('conn.php');
require_once('header.php');


if($_session["key"]==1)
{
$id = $_get['id'];
$sql = "select * from lo where id= ".$id;
$result = mysql_query($sql);
$row = mysql_fetch_array($result);

?>

<div id="update">
    <form action="updatepost.php?wuleying&id=<?= $row[0] ?>" method="post">
        <h1>修改留言</h1>
        <p>姓名:<input type="text" value="<?= $row[1]?>" name="name" class="y"></input></p>
        <p>留言:</p>
        <p><textarea  name="info" rows="5" cols="35"><?= $row[5] ?></textarea></p>
        <p class="cen"><input type="submit" value="偶要修改" /></p>
        <p class="cen1">银子留言板 version 1.0</p>
    </form>

<div>


<?php
}
else
{
header('location:index.php');
}
?>

8、updatepost(修改提交页)

<?php
require_once('conn.php');

$username = $_post['name'];
$info = $_post['info'];
$id = $_get['id'];
//echo $id;

$sql = "update lo set username= '".$username."',info='".$info."' where id=".$id;
mysql_query($sql);

echo "<script>alert('修改成功!');location.href='index.php';</script>";
?>

9、delete.php(删除留言页)

<?php
session_start();
require_once('conn.php');

$id=$_get['id'];

if($_session["key"]==1)
{
$sql = "delete from lo where id=".$id;
mysql_query($sql);
echo "<script>location.href='index.php'</script>";
}
else
{
header('location:index.php');
}
?>

10、admin.php(管理登录页)

<?php
require_once('conn.php');
require_once('header.php');
?>

<div id="admin">
    <form method="post" action="adminpost.php">
    <h1>管理员登录</h1>
        <p>姓名 : <input type="text" name="name" size="20" class="y" />&nbsp;</p>
        <p>密码 : <input type="password" name="password" size="20" class="y" />&nbsp;</p>
        <p class="cen"><input type="submit" value="管理员登录" /></p>
        <p class="cen1">银子留言板 version 1.0</p>
    </form>
</div>

11、adminpost.php(管理验证页)

<?php
session_start();
require_once('conn.php');

$name = $_post['name'];
$password = $_post['password'];

$sql = "select * from admin where name='".$name."'";
$result = mysql_query($sql);
$num = mysql_num_rows($result);

if (strrpos($name,"<")!==false || strrpos($name,">")!==false||strrpos($name,"@")!==false||strrpos($name,"/"")!==false||strrpos($name,"'")!==false||strrpos($name,"_")!==false)
{
    echo "<script>alert('不能有特殊字符!');location.href='admin.php';</script>";
}

if($num)
{//如果用户存在,就检查密码是否正确
    $rs = mysql_fetch_array($result);
    if($rs[2]!=$password)
    {
        echo "<script>alert('密码不正确,请确认后输入!');location.href='admin.php';</script>";
    }
    else
    {//用户名,密码都正确,注册session变量,然后跳转到首页
        $_session["key"]=1;
        echo "<script>alert('登录成功!');location.href='index.php';</script>";
    }
}
else
{//如果没有这个用户
    echo "<script>alert('没有这个用户,请确认后输入!');location.href='admin.php';</script>";
}
?>

12、adminexit.php(退出管理页)

<?php
session_start();
$_session["key"] = 0;//使session不为1,0为游客,1为管理员

header('location:index.php');
?>

只是些基本的东东,像md5加密,ubb,表情图片,添加管理员账号,回复留言(-_!!)等我都没加上去,有兴趣的同学可以完善下,不足的地方请指出^_^

管理员账号:wuleying  密码:123456

源文件下载:点击这里下载源文件

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表