PHP初级练习实战之留言板
初学者做的东西,有的地方写的不好,哈哈哈!
一.知识重点
1.三目运算 $page= empty($_GET['p']) ? 1: $_GET['p'];
2.数据库的操作mysqli的方法
3.html css js
4.字符串的拼接
5.制作分页页码
6.完整验证码的制作
7.类的运用
8.session传递验证码的方法

二 .代码
代码分为6个文件,liuyanbook.php为主页
PHP初级练习实战之公司留言板(原生)_第1张图片

1.liuyanbook.php主界面

connect_errno != 0) {
    echo "连接失败:";
    echo $db->connect_error;
    exit;
}

//分页
$db->query("set names utf8");
$limit =  ($page-1) * 5;
$sql = "select * from msg order by id desc limit {$limit},5";

$mysqli_result = $db->query($sql);
if ($mysqli_result == false) {
    echo "SQL错误!";
    exit;
}
//var_dump($mysqli_result);

//总页数
$total_sql = "select count(*) from msg";
$total_result = $db->query($total_sql);
$total_array = mysqli_fetch_array($total_result,MYSQLI_ASSOC);
$total = $total_array["count(*)"];
//echo $total;

//计算页数
$total_pages = ceil($total/5);
//echo $total_pages;
?>




    
    三态电子商务有限公司
    
    


三态电子商务有限公司

留言板


留言人:

验证码图片: 换一个? 请输入图片中的内容:

//页码部分
1) { $page_banner = "首页"; $page_banner.= "  "."上一页"; } //初始化前面页码数据 $start = 1; $end = $total_pages; if ($total_pages > $showPage) { if($page > $pageoffset + 1) { $page_banner.="..."; } if ($page > $pageoffset) { $start = $page - $pageoffset; $end = $total_pages > $page + $pageoffset ? $page + $pageoffset : $total_pages; } else { $start = 1; $end = $total_pages > $showPage ? $showPage : $total_pages; } if ($page + $pageoffset > $total_pages) { $start = $start - ($page + $pageoffset - $total_pages); } } //显示前面的页码 for($i=$start;$i<$end;$i++) { $page_banner.= "  "."{$i}"; } //显示尾部省略 if ($total_pages > $showPage && $total_pages > $page + $pageoffset) { $page_banner.="..."; } if ($page < $total_pages) { $page_banner.= "  "."下一页"; $page_banner.= "  "."尾页"; } //页码部分字符拼接 $page_banner.= "  "."共".$total_pages."页"; $page_banner.= "  "."共".$total."条留言"; $page_banner.= "
"; $page_banner.= "  "."跳转到第页"; $page_banner.= ""; $page_banner.= "
"; echo $page_banner; ?>

2.liuyan.php后端验证,插入数据

post($content);
if ($is == false) {
    die("留言内容不能为空或者存在禁止关键字!");
}

$is = $input->post($user);
if ($is == false) {
    die("留言人不能为空或者存在禁止关键字!");
}

//检测验证码
$codeinput = new codeinput();

$iscode = $codeinput->check($authcode);
if ($iscode == false) {
    die("请输入正确的验证码!");
}

//var_dump($content,$user);

//将留言内容写入数据库
$time = time();
$sql = "insert into msg (content, user, intime) values ('{$content}','{$user}','{$time}')";
//echo $sql;

$is = $db->query($sql);
//var_dump($is);
header("location:liuyanbook.php");//跳回主页
?>

3.class_input.php两个类,验证关键字和验证码的类

 $value) {
        if ($word == $value) {
            return false;
        }
    }
            return true;
    }
}

class codeinput {
    function check($code) {
        if ($code == "") {
            return false;
        }

    //判断输入验证码是否正确

    if (isset($code)) {
    session_start();

    if (strtolower($code) == $_SESSION["authcode"]) {
        return true;
    } else {
        return false;
    }
    exit();
}   
    }
}

?>

4.dbcontent.php数据库连接

connect_errno != 0) {
    die("连接数据库失败!");
}
$db->query("set names UTF8");
?>

5.str.php生成验证码

6.style.css界面样式

.all {
    width: 800px;
    margin: 0px auto;
}

.contentout {
    width: 1000px;
    margin: 0 auto;

}

.date {
    text-align:right;
}
.h {
    text-align:center;
}
.add {overflow: hidden;}
.add .content {
    width: 98%;
    padding: 6px;
    margin: 0px;
    font-size:20px;
    }

.add .btn {
    float: right;
    width: 100px;
    height: 40px;
    font-size: 20px;
}

.msg {
    margin: 10px 0px;
    background: #ccc;
    padding: 10px;
    font-size: 18px;
} 
.msg .info{overflow: hidden;}
.msg .user {
    float: left;
    color: blue;
}

.msg .num { 
    font-style: italic; 
    font-size: 16px;
    color: red;
} 
.msg .time {
    float: right;
    color: #999;
}
.msg .content {
    width: 100%;
}
.page {
    text-align:center;
    font-size: 18px;
}`
`.all {
    width: 800px;
    margin: 0px auto;
}

.contentout {
    width: 1000px;
    margin: 0 auto;

}

.date {
    text-align:right;
}
.h {
    text-align:center;
}
.add {overflow: hidden;}
.add .content {
    width: 98%;
    padding: 6px;
    margin: 0px;
    font-size:20px;
    }

.add .btn {
    float: right;
    width: 100px;
    height: 40px;
    font-size: 20px;
}

.msg {
    margin: 10px 0px;
    background: #ccc;
    padding: 10px;
    font-size: 18px;
} 
.msg .info{overflow: hidden;}
.msg .user {
    float: left;
    color: blue;
}

.msg .num { 
    font-style: italic; 
    font-size: 16px;
    color: red;
} 
.msg .time {
    float: right;
    color: #999;
}
.msg .content {
    width: 100%;
}
.page {
    text-align:center;
    font-size: 18px;
}

三.数据库
表结构
PHP初级练习实战之公司留言板(原生)_第2张图片

PHP初级练习实战之公司留言板(原生)_第3张图片

四.截图界面
PHP初级练习实战之公司留言板(原生)_第4张图片