>php教程 >PHP源码 >比较完整的留言板代码,添加注释,易懂

比较完整的留言板代码,添加注释,易懂

PHP中文网
PHP中文网원래의
2016-05-25 17:01:151907검색

1.index.htm

<html>
    <head>
    <title>µÇ¼ϵͳÊ×Ò³</title>
    </head>
     
    <body>
        <table align="center" vspace="80">
        <form action="member_login.php" method="post">
            <tr>
                <td>ÕË»§£º</td>
                <td><input type="text" name="username" /></td>
            </tr>
            <tr>
                <td>ÃÜÂ룺</td>
                <td><input type="password" name="password" /></td>
            </tr>
            <tr>
                <td><input type="submit" value="怬" /></td>
                <td><input type="reset" value="ÖØÖÃ" /></td>
            </tr>
            <tr>
                <td colspan="2">ûÓÐÕË»§£¿<a href="register.php">ÂíÉÏ×¢²á.....</a></td>
            </tr>
            <tr>
                <td colspan="2" align="left"><font size="-1"><a href="admin.php">¹ÜÀíÔ±µÇ¼</a></font></td>
            </tr>
        </form>
        </table>
    </body>
 
</html>

2.conn.php

<?php
if(!isset($_SESSION)){
    session_start();
}
define("DB_HOST","localhost");
define("DB_USER","root");
define("DB_PASS","123456");   //数据库密码
define("DB_NAME","mylog");
 
    function getDBlink(){
        $link=mysql_connect(DB_HOST,DB_USER,DB_PASS) or die ("数据库连接失败");
        mysql_select_db("mylog",$link) or die ("该数据库不存在");
        mysql_query("set names &#39;GBK&#39;");
        return $link;
    }
?>

3.member_index.php

<html>
<head>
<title>显示主界面</title>
</head>
<body>
<?php
    session_start();  //储存用户信息开始
    if(empty($_SESSION["pass"])){  //如果输入的的密码为空
    echo "您无权进入本系统,<a href=&#39;index.htm&#39;>点击返回登录界面</a>"; //提示 你无权进入系统,并返回登陆界面
    exit;//退出
    }
    if($_SESSION["pass"]=="ok") //如果密码正确
    {
        include("conn.php");  //调取数据库文件 conn.php
        $link=getDBlink(); 
        $name=$_SESSION[&#39;name&#39;];
    }
?>
<!-- 注销的按钮,返回文件 session_destory.php -->
<p><a href="session_destroy.php">注销</a></p>  
 
<!-- 输出用户名,使用echo $name,添加新留言,跳往new_message.php文件 -->
<p><? echo $name; ?> <a href="modify.php">修改个人信息</a> <a href="new_message.php">添加新留言</a> </p> 
<hr />
<?php 
//此段为获取并分页
        $pagesize=3;  //定义页面为3页
        $url=$_SERVER["REQUEST_URI"];   //取得并分析当前的url
        $url=parse_url($url);  //解释$url变量分析的url。 
        //parse_url函数,解析一个 URL 并返回一个关联数组,包含在 URL 中出现的各种组成部分。
         
        $url=$url[path];
         
        $numq=mysql_query("SELECT * FROM message"); //从数据库中选择Message。
        $num=mysql_num_rows($numq);         //取得总条数
        $sumpage=ceil($num/$pagesize);      //取得总共的页数
        if($_GET[page])  //如果获取到的page
        {
            $pageval=$_GET[page]; //获取总页数
            $page=($pageval-1)*$pagesize;   //当前页数的算法,总页数减一乘以总共页数
            $page.=",";
        }
         
        if($num<=$pagesize)
        {
            echo "共 1 页";  
            echo "<br><p>";
        }
        else
        {   
            if($pageval<=1) $pageval=1;
            echo "共 $sumpage 页 ";
             
            echo "<a href=$url?page=".($pageval-1).">上一页</a>  |  <a href=$url?page=".($pageval+1).">下一页</a>"." 第 $pageval 页";
            echo "<br><p>";
        }
        $sql="SELECT * FROM message ORDER BY id DESC limit $page $pagesize";
        $query=mysql_query($sql);
        while($result=mysql_fetch_array($query))
        {   
            echo "<font color=green>主题:</font>".$result[&#39;theme&#39;]."<br>";
            echo "内容:".$result[&#39;content&#39;]."<br>";
            echo $result[&#39;username&#39;]."  "."发表于"."  ".$result[&#39;time&#39;]."<br>";
            echo "<br><br>";
        }
     
?>
 
 
 
 
</body>
</html>

4.member_login.php

<html>
<head>
<title>登录提示</title>
</head>
<body>
<?php
    include_once("conn.php");  //调取头部数据库文件conn.php
     
    if(empty($_POST[&#39;username&#39;]))  //如果输入用户名为空
    {
        echo "账户不能为空,5秒后自动返回登录界面";  //提示错误,并返回界面
        header("refresh:5;URL=&#39;index.htm&#39;");  //5秒返回的提示代码
    }
    elseif(empty($_POST[&#39;password&#39;]))  //如果密码为空
    {
        echo "密码不能为空,5秒后自动返回登录页面";  //提示错误并返回界面
        header("refresh:5;URL=&#39;index.htm&#39;");  //5秒返回的提示代码
    }
    //否则,将进入正常流程
    else{
    $link=getDBlink();  
    $name=$_POST[username];  //获取表单传送的name
    $pw=md5($_POST[password]);// 获取表单传送的经过MD5加密的password
    $sql="SELECT * FROM userinfo WHERE username=&#39;".$name."&#39;"; //匹配数据库中的username
    //mysql_query为向数据库发送一条查询
    $result=mysql_query($sql); //向数据库中发送一条查询
    $num=mysql_num_rows($result);  //mysql_num_rows为结果集中行的数目,进队mysql,即数据库有效。
     
    if($num==0) //如果变量$num为0
    {
        echo "账户不存在,5秒返回登录界面";  //提示账户不存在。返回首页
        header("refresh:5;URL=&#39;index.htm&#39;");
    }
     
    while($row=mysql_fetch_object($result)) //while 循环语句
    // mysql_fetch_object — 从结果集中取得一行作为对象   
     
    {
        if($row->password!=$pw) //如果变量$row传值进入password,不等于$pw,则为密码错误
        {
            echo "账户名或密码错误,5秒返回登录页面";
            header("refresh:5;URL=&#39;index.htm&#39;");
        }
        else //否则,账号密码输入正确,登陆成功,跳转到member_index.php
        {
            session_start();
            $_SESSION["pass"]="ok";
            $_SESSION["name"]=$_POST[&#39;username&#39;];
            header("location: member_index.php");
            mysql_close();
        }
    }
    }
     
    ?>
</body>
</html>

5.message_delete.php

<html>
<head>
<title>留言删除</title>
</head>
<body>
<?php
    $id=$_GET[&#39;id&#39;]; //获取留言文件的id号
    include("conn.php"); //调取头部数据库文件conn.php
    $link=getDBlink(); 
    $sql="DELETE FROM message WHERE id=&#39;$id&#39;"; //从数据库中删除id.使用DELETE FROM message WHERE id=&#39;$id&#39;;
    $query=mysql_query($sql);
    $sql_1="SELECT * FROM message WHERE id=&#39;$id&#39;"; //使用变量$sql_1重新再获取一遍id
    $query=mysql_query($sql_1);
    $result=mysql_fetch_array($query);  //mysql_fetch_query,从结果集中取得一行作为关联数组,或数字数组
    if(empty($result))//如果变量$result中的内容为空,则表示删除成功
    echo "删除成功,<a href=&#39;message_manage.php&#39;>点击返回主界面</a>";
 
?>
 
</body>
</html>

6.message_manage.php

<html>
<head>
<title>留言管理</title>
</head>
<body>
<?php
 //消息管理页面
    session_start();  //开始记录
    if(empty($_SESSION[&#39;pass&#39;])){  //如果输入的密码为空,则无权进入
    echo "对不起,您无权使用本系统,<a href=&#39;index.htm&#39;>点击进入登录系统</a>";
    exit;}
    if($_SESSION[&#39;name&#39;]=="admin"){
?>           
    <p><a href="session_destroy.php">注销</a></p>
    <p>留言管理  <a href="user_manage.php">查看用户信息</a>    管理员界面</p>
    <hr />
<?php
    include("conn.php");
    $link=getDBlink();
     
    $pagesize=3;
        $url=$_SERVER["REQUEST_URI"];   //取得并分析当前的url
        $url=parse_url($url); //解析url
        $url=$url[path];
         
        $numq=mysql_query("SELECT * FROM message"); //选择message数据库
        $num=mysql_num_rows($numq);         //取得总条数
        $sumpage=ceil($num/$pagesize);      //取得总共的页数
        if($_GET[&#39;page&#39;])  //获得页数
        {
            $pageval=$_GET[&#39;page&#39;];
            $page=($pageval-1)*$pagesize;
            $page.=",";
        } //写到这里!
         
        if($num<=$pagesize)
        {
            echo "共 1 页";
            echo "<br><p>";
        }
        else
        {   
            if($pageval<=1) $pageval=1;
            echo "共 $sumpage 页 ";
             
            echo "<a href=$url?page=".($pageval-1).">上一页</a>  |  <a href=$url?page=".($pageval+1).">下一页</a>"." 第 $pageval 页";
            echo "<br><p>";
        }
        $sql="SELECT * FROM message ORDER BY id DESC limit $page $pagesize";
        $query=mysql_query($sql);
        while($result=mysql_fetch_array($query))
        {           
            $id=$result[&#39;id&#39;];                  //获取要删除留言的序列号
            //echo $result[&#39;id&#39;]."<br>";
            echo "主题:".$result[&#39;theme&#39;]."<br>";
            echo "内容:".$result[&#39;content&#39;]."<br>";
            echo $result[&#39;username&#39;]."发表于".$result[&#39;time&#39;]."<br>";
            echo "<a href=message_delete.php?id=".$result[&#39;id&#39;].">删除</a>";   //使用GET传送要删除的id
            echo "<br><br>";
        }
             
         
}
    ?>
 
</body>
</html>

7.modify_post.php

<html>
<head>
<title>修改信息提示</title>
</head>
<body>
<?php
    session_start();
    if(empty($_SESSION[&#39;name&#39;])) //如果输入名字为空
    header("location:index.htm");//返回首页
    include("conn.php"); //调取数据库文件
    $link=getDBlink();
    $name=$_SESSION[&#39;name&#39;]; //设置表单获取的名称
    $new_nickname=$_POST[&#39;nickname&#39;];
    $new_phonenumber=$_POST[&#39;phonenumber&#39;];
    $new_msn=$_POST[&#39;msn&#39;];
    $new_email=$_POST[&#39;email&#39;];
     
    //对修改信息合法性进行判断
    if(!empty($_POST[&#39;phonenumber&#39;])&&!is_numeric($_POST[&#39;phonenumber&#39;]))//判断输入电话号码是否为空,为空则返回修改
    {echo "电话号码必须为数字,<a href=&#39;modify.php&#39;>返回重新修改</a>";exit;}
    elseif(!empty($_POST[&#39;msn&#39;])&&!ereg("([0-9a-zA-Z]+)([@])([0-9a-zA-Z]+)(.)([0-9a-zA-Z]+)",$_POST[&#39;msn&#39;]))//判断msn是否为空或输入错误,输入错误则返回修改
    {echo "MSN格式不合法,<a href=&#39;modify.php&#39;>返回重新修改</a>";exit;}
    elseif(!empty($_POST[&#39;email&#39;])&&!ereg("([0-9a-zA-Z]+)([@])([0-9a-zA-Z]+)(.)([0-9a-zA-Z]+)",$_POST[&#39;email&#39;]))//判断输入的邮箱是否合法,为空或错误则翻回修改
    {echo "邮箱格式不合法,<a href=&#39;modify.php&#39;>返回重新修改</a>"; exit;}
    else //否则,输入全部正确则写入数据库
    {
        $sql="UPDATE userinfo SET nickname=&#39;$new_nickname&#39; WHERE username=&#39;$name&#39;";
        $result=mysql_query($sql);
        $sql="UPDATE userinfo SET phonenumber=&#39;$new_phonenumber&#39; WHERE username=&#39;$name&#39;";
        $result=mysql_query($sql);
        $sql="UPDATE userinfo SET msn=&#39;$new_msn&#39; WHERE username=&#39;$name&#39;";
        $result=mysql_query($sql);
        $sql="UPDATE userinfo SET email=&#39;$new_email&#39; WHERE username=&#39;$name&#39;";
        $result=mysql_query($sql);
     
        $sql="SELECT * FROM userinfo WHERE username=&#39;$name&#39;";
        $result=mysql_query($sql); //获取数据库语法,检测。
     
        if(!$rs=mysql_fetch_object($result))
        {
            echo "错误";
            exit;
        }
     
    }
?>
<p><a href="session_destroy.php">注销</a></p>
<p><? echo $name; ?> <a href="member_index.php">返回主页面</a> <p align="center">修改个人信息</p>
<hr />
<p align="center">修改成功,以下是您修改后的信息</p>
<table align="center">
    <tr>
        <td>昵称:</td>
        <td><input type="text" name="nickname" value="<? echo $rs->nickname; ?>" /></td>
    </tr>
    <tr>
        <td>电话:</td>
        <td><input type="text" name="phonenumber" value="<? echo $rs->phonenumber; ?>" /></td>
    </tr>
    <tr>
        <td>MSN:</td>
        <td><input type="text" name="msn" value="<? echo $rs->msn; ?>" /></td>
    </tr>
    <tr>
        <td>邮箱:</td>
        <td><input type="text" name="email" value="<? echo $rs->email; ?>" /></td>
    </tr>
</table>
 
 
</body>
</html>

8.modify.php

<html>
<head>
<title>修改个人信息</title>
</head>
<body>
 
 
<?php
    session_start();
    if(empty($_SESSION[&#39;pass&#39;])){
    echo "对不起,您无权进入本系统,<a href=&#39;index.htm&#39;>点击进入登陆界面</a>";
    exit;}
    $name=$_SESSION[&#39;name&#39;];
?>
 
 
<p><a href="session_destroy.php">注销</a></p>
<p><? echo $name; ?> <a href="member_index.php">返回主页面</a> <p align="center">修改个人信息</p>
<hr />
 
 
<?php
    include("conn.php");
    $link=getDBlink();
    $sql="SELECT * FROM userinfo WHERE username=&#39;$name&#39;";
    $query=mysql_query($sql);
    $result=mysql_fetch_array($query);
?>
 
<table align="center">
    <form action="modify_post.php" method="post">
     
    <tr>
        <td>昵称:</td>
        <td><input type="text" name="nickname" value="<? echo $result[&#39;nickname&#39;]; ?>" /></td>
    </tr>
    <tr>
        <td>电话:</td>
        <td><input type="text" name="phonenumber" value="<? echo $result[&#39;phonenumber&#39;]; ?>" /></td>
    </tr>
    <tr>
        <td>MSN:</td>
        <td><input type="text" name="msn" value="<? echo $result[&#39;msn&#39;]; ?>" /></td>
    </tr>
    <tr>
        <td>邮箱:</td>
        <td><input type="text" name="email" value="<? echo $result[&#39;email&#39;]; ?>" /></td>
    </tr>
     
    <tr>
        <td><input type="submit" name="submit" value="提交" /></td>
        <td><input type="reset" name="reset" value="重置" /></td>
    </tr>
    </form>
</table>
 
 
</body>
</html>

9.register_get.php

<html>
<head>
<title>注册提示</title>
</head>
<body>
<?php
    session_start();
    $name=trim($_POST[&#39;username&#39;]);   //用trim函数去除首位空格防止用户名为空格注册
    $code=$_POST[&#39;code&#39;];  //获取验证码
    $checkcode=$_SESSION[&#39;code&#39;]; //
    include("conn.php"); //读取数据库文件
    $link=getDBlink(); 
    $sql="SELECT * FROM userinfo WHERE username=&#39;$name&#39;"; //写入数据库语法
    $query=mysql_query($sql); //读取$sql语法
    $query_result=mysql_fetch_array($query); //从$query结果集中取得一行作为关联数组,或数字数组
     
    //以下对用户注册信息进行判断 
 
if(empty($name))  //如果输入的名字为空,
echo "用户名不能为空,<a href=&#39;register.php&#39;>返回重新注册</a>"; //输出错误,并返回注册页面
elseif(!empty($query_result))
echo "对不起,该用户名已被注册,请重新选择用户名,<a href=&#39;register.php&#39;>点击返回登录界面</a>";
elseif(empty($_POST[password]))
echo "密码不能为空,<a href=&#39;register.php&#39;>返回重新住注册</a>";
elseif($_POST[password]!=$_POST[re_password])
echo "两次密码输入不一致,<a href=&#39;register.php&#39;>返回重新注册</a>";
elseif(empty($_POST[sex]))
echo "性别必须选择,<a href=&#39;register.php&#39;>返回重新注册</a>";
elseif(!empty($_POST[&#39;phonenumber&#39;])&&!is_numeric($_POST[&#39;phonenumber&#39;]))
echo "电话号码必须为数字,<a href=&#39;register.php&#39;>返回重新注册</a>";
elseif(!empty($_POST[&#39;msn&#39;])&&!ereg("([0-9a-zA-Z]+)([@])([0-9a-zA-Z]+)(.)([0-9a-zA-Z]+)",$_POST[&#39;msn&#39;]))
echo "MSN格式不合法,<a href=&#39;register.php&#39;>返回重新注册</a>";
elseif(!empty($_POST[&#39;email&#39;])&&!ereg("([0-9a-zA-Z]+)([@])([0-9a-zA-Z]+)(.)([0-9a-zA-Z]+)",$_POST[&#39;email&#39;]))
echo "邮箱格式不合法,<a href=&#39;register.php&#39;>返回重新注册</a>";  
elseif($checkcode!=$code)
echo "验证码输入错误,<a href=&#39;register.php&#39;>返回重新注册</a>";
else //如果全部输入,并检测无误,则进入写入数据库环节
{
    //写入数据库语法
    $sql_1="INSERT INTO userinfo(id,username,password,sex,nickname,phonenumber,msn,email) VALUES (&#39;&#39;,&#39;".$_POST[&#39;username&#39;]."&#39;,&#39;".md5($_POST[&#39;password&#39;])."&#39;,&#39;".$_POST[&#39;sex&#39;]."&#39;,&#39;".$_POST[&#39;nickname&#39;]."&#39;,&#39;".$_POST[&#39;phonenumber&#39;]."&#39;,&#39;".$_POST[&#39;msn&#39;]."&#39;,&#39;".$_POST[&#39;email&#39;]."&#39;)";
     
    $result_1=mysql_query($sql_1) or die (mysql_error()); //向数据库发送一条查询
    $name=$_POST[&#39;username&#39;];//获取用户名
    $db1="userinfo";  //数据表单名 userinfo
    function result($db,$name){    //建立函数 result
        $sql="select * from $db where username=&#39;$name&#39;";  //从数据库中选择变量$db中的表单,和查询用户名$name
        $query=mysql_query($sql);//向数据库发送查询语句
        $num=mysql_num_rows($query); 
        return $num; //返回变量$num
    }
    $row1=result($db1,$name);
    if($row1==0)
    {
        echo "注册失败,<a href=&#39;register.php&#39;>请重新注册</a>";
    }
    else
    {
        session_start();
        $_SESSION[&#39;pass&#39;]="ok";
        $_SESSION[&#39;name&#39;]=$_POST[&#39;username&#39;];
        echo "$name,恭喜您注册成功!<a href=&#39;member_index.php&#39;>点击立刻进入主界面</a>";
    }
     
}  
?>       
</body>
</html>

10.register.php

<html>
<head>
<title>注册系统首页</title>
</head>
    <body>
    <p align="left"><a href="index.htm">登录</a></p>
    <p align="center"><font size="+3" color="#3300FF">欢迎新用户注册</font></p>
     
    <table align="center">
    <form action="register_get.php" method="post">
    <tr>
        <td>用户名:<font color="#FF0000">*</font></td>
        <td><input type="text" name="username" /><td>
    </tr>
    <tr>
        <td>密码:<font color="#FF0000">*</font></td>
        <td><input type="password" name="password" /></td>
    </tr>
    <tr>
        <td>再次输入密码:<font color="#FF0000">*</font></td>
        <td><input type="password" name="re_password" /></td>
    </tr>
    <tr>
        <td>性别:<font color="#FF0000">*</font></td>
        <td>男<input type="radio" name="sex" value="男" />    女<input type="radio" name="sex" value="女" /></td>
    </tr>
    <tr>
        <td>昵称:</td>
        <td><input type="text" name="nickname" /></td>
    </tr>
    <tr>
        <td>电话:</td>
        <td><input type="text" name="phonenumber" /></td>
    </tr>
    <tr>
        <td>MSN:</td>
        <td><input type="text" name="msn" /></td>
    </tr>
    <tr>
        <td>邮箱:</td>
        <td><input type="text" name="email" /></td>
    </tr>
    <tr>
        <td></td>
        <td><img src="authcode.php"></td>
    </tr>
    <tr>
        <td>请输入验证码:<font color="#FF0000">*</font></td>
        <td><input type="text" name="code"></td>
    </tr>
    <tr>
        <td colspan="2">其中加<font color="#FF0000">*</font>为必填</td>
    </tr>
    <tr>
        <td><input type="submit" name="submit" value="提交" /></td>
        <td><input type="reset" name="reset" value="重置" /></td>
    </tr>
    </form>
    </table>
     
    </body>
</html>
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.