PHP初级练习实战之留言板
初学者做的东西,有的地方写的不好,哈哈哈!
一.知识重点
1.三目运算 $page= empty($_GET['p']) ? 1: $_GET['p'];
2.数据库的操作MySQLi的方法
3.html css js
4.字符串的拼接
5.制作分页页码
6.完整验证码的制作
7.类的运用
8.session传递验证码的方法
创新互联是一家专注于成都做网站、成都网站建设与策划设计,金东网站建设哪家好?创新互联做网站,专注于网站建设十多年,网设计领域的专业建站公司;建站业务涵盖:金东等地区。金东做网站价格咨询:13518219792
二 .代码
代码分为6个文件,liuyanbook.php为主页
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.= "";
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;
}
三.数据库
表结构
四.截图界面