服务器之家

服务器之家 > 正文

来自经典的打造简单的PHP&MYSQL留言板

时间:2019-10-27 11:51     来源/作者:php教程网

表一: 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   您是第 "."$num"." 位无聊的银</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>  性别:<?= $sex ?>  留言时间:<?= $row[7] ?> <? if($row[3]) {?> <a href="http://wpa.qq.com/msgrd?V=1&Uin=<?= $row[3] ?>&Site=http://www.loai.cn&Menu=yes"><img src="img/qq.gif" alt="<?= $row[3]?>" /></a><? } ?><? if($row[4]){ ?> <a href="mailto:<?= $row[4] ?>"><img src="img/email.gif" alt="<?= $row[4]?>" /></a> <? }?><? if($_SESSION["key"]==1){ ?> IP:<?= $row[6] ?>  <a href="update.php?wuleying&id=<?= $row[0]?>">更改</a> <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 "首页 | "; 
    echo "上一页 | "; 
    echo "<a href=\"index.php?page=".$next."\">下一页</a> | "; 
    echo "<a href=\"index.php?page=".$last."\">尾页</a> | "; 

elseif($page>=1&&$page!=$pages&&$num>0) 

    echo "<a href=\"index.php?page=".$first."\">首页</a> | "; 
    echo "<a href=\"index.php?page=".$prev."\">上一页</a> | "; 
    echo "<a href=\"index.php?page=".$next."\">下一页</a> | "; 
    echo "<a href=\"index.php?page=".$last."\">尾页</a> | "; 

elseif($page==$pages&&$page!=1) 

    echo "<a href=\"index.php?page=".$first."\">首页</a> | "; 
    echo "<a href=\"index.php?page=".$prev."\">上一页</a> | "; 
    echo "下一页 | "; 
    echo "尾页 | "; 

elseif($page==$pages) 

    echo "首页 | "; 
    echo "上一页 | "; 
    echo "下一页 | "; 
    echo "尾页 | ";     

else 

    echo "首页 | "; 
    echo "上一页 | "; 
    echo "下一页 | "; 
    echo "尾页 | "; 

?> 
共 <span><?= $pages ?></span> 页 | 当前第 <span><?= $page ?></span> 页 | 共 <span><?=$numrows ?></span> 条留言</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" /> </p> 
    <p>性别 :<input name="sex" type="radio" value="男" checked/> 帅锅 <input type="radio" name="sex" value="女"/> 美女</p> 
    <p>Q Q :<input type="text" name="qq" class="y" /> (可选填)</p> 
    <p>Email:<input type="text" name="email" class="y" /> (可选填)</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_\-\.]+@[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" /> </p> 
        <p>密码 : <input type="password" name="password" size="20" class="y" /> </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 

标签:

相关文章

热门资讯

玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分
玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分 2019-06-21
男生常说24816是什么意思?女生说13579是什么意思?
男生常说24816是什么意思?女生说13579是什么意思? 2019-09-17
华为nova5pro和p30pro哪个好 华为nova5pro和华为p30pro对比详情
华为nova5pro和p30pro哪个好 华为nova5pro和华为p30pro对比详情 2019-06-22
超A是什么意思 你好a表达的是什么
超A是什么意思 你好a表达的是什么 2019-06-06
抖音撒撒累累是什么歌 撒撒累累张艺兴歌曲名字
抖音撒撒累累是什么歌 撒撒累累张艺兴歌曲名字 2019-06-05
返回顶部