1、留言板显示页面:note.php

<?php

$host = "127.0.0.1";
$user = "root";
$pwd = "zst@123";
$dbname = "php10";
$db = new mysqli($host, $user, $pwd, $dbname);
if($db->errno <> 0){
echo "数据库连接失败";
exit;
}
$sql = "select * from msg where id>15 order by id desc";
$mysqli_result = $db->query($sql);
if($mysqli_result == false){
echo "查询语句执行失败";
exit;
} $rows = [];
while($row = $mysqli_result->fetch_array(MYSQLI_ASSOC)){
$rows[] = $row;
}
//var_dump($rows); ?>
<html>
<head>
<meta charset="UTF-8"/>
<title>留言本</title>
<!--<link rel="stylesheet" type="text/css" href="test.css"> -->
<style type="text/css">
.wrap{
width: 800px;
margin: 0px auto;
}
.add{
overflow:hidden; <!--消除float-->
}
.add .content{
width: 798px;
margin: 0px;
padding: 0px;
}
.add .user{
float: left;
}
.add .btn{
float: right;
}
.msg{
margin: 20px 0px;
background: #ccc;
padding: 5px;
}
.msg .info{
overflow: hidden;
}
.msg .user{
float:left;
color: blue;
}
.msg .time{
float: right;
color:999;
}
.msg .content{
width: 100%;
} </style>
</head>
<body>
<div class="wrap">
<!--发表留言-->
<div class="add">
<form action="messageboard_class.php" method="post">
<textarea name="content" class="content" cols="50" rows="5"></textarea>
<br/>
<input name="user" class="user" type="text"/>
<input class="btn" type="submit" value="发表留言"/>
</form>
</div>
<!--查看留言 -->
<?php
//设置日期时区,否则会少7小时
date_default_timezone_set("Asia/Shanghai");
foreach ($rows as $key => $record) { ?>
<div class="msg">
<div class="info">
<span class="user"><?php echo $record["user"]; ?></span>
<span class="time"><?php echo date('Y-m-d H:i:s', $record["intime"]); ?></span>
</div>
<div class="content">
<?php echo $record["content"]; ?>
</div>
</div>
<?php
}
?>
</div>
</body>
</html>

2、提交留言后台处理:messageboard_class.php

<?php
include("messageboard_class_import.php"); //过滤留言名称的类
include("connect.php"); //数据库连接工具类 //var_dump($_POST);
$content = $_POST['content'];
$user = $_POST['user']; //使用包含文件中的类,初始化input类对象
$input = new input(); if($input -> valid($content) == false){
die("输入的内容不能为空!"); //die方法:停止程序,在页面上显示内容
}
if($input -> valid($user) == false){
die("输入的用户名为空或不合法!");
} //var_dump($_POST); /* 插入语句 */
//设置日期时区,否则会少7小时
date_default_timezone_set("Asia/Shanghai");
$time = time();
echo date("Y-m-d H:i:s", $time);
$sql = "insert into msg(content, user, intime) values('{$content}', '{$user}', '{$time}')";
$connectClass = new conClass();
$db = $connectClass->getDB();
$is = $db->query($sql);
if($is == true){
echo "执行成功";
}else{
echo "执行失败";
} //重定向浏览器访问
header("Location:note.php"); /*
//查询语句
$sql = "select * from msg where id > 15 order by id desc";
$con = new conClass();
$db = $con -> getDB();
$mysqli_result = $db ->query($sql);
if($mysqli_result == false){
echo "SQL 错误";
exit;
} //定义一个数组
$rows = [];
while($row = $mysqli_result->fetch_array(MYSQLI_ASSOC)){
$rows[] = $row; //rows 数组不写下标,意思是从0开始;
}
var_dump($rows); //可以看出是一个二维数组,键从0开始,值是每一行的数据(一维数组表示)
*/
?>

过滤留言名称的类 messageboard_class_import.php

<?php

class input{
public function valid($info){
if($info == ""){
return false;
} //禁止使用某个用户名留言
$note = ['张三', '李四', '王乐'];
foreach($note as $name => $value){
//echo $name;
if($info == $value){
return false;
}
} return true;
}
} ?>

数据库连接工具类connect.php

<?php

class conClass{
//写入数据库 public function getDB(){
$host = "127.0.0.1";
$dbuser = "root";
$passwd = "zst@123";
$dbname = "php10";
$db = new mysqli($host, $dbuser, $passwd, $dbname);
if($db->errno <> 0){
return null;
}
return $db;
} } ?>

PHP基础知识总结(四) 留言板例子 知识应用的更多相关文章

  1. ajax练习四留言板

    留言界面 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3 ...

  2. thinkphp留言板例子(多条件查询)

    登录: login.html <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "htt ...

  3. IM开发基础知识补课(四):正确理解HTTP短连接中的Cookie、Session和Token

    本文引用了简书作者“骑小猪看流星”技术文章“Cookie.Session.Token那点事儿”的部分内容,感谢原作者. 1.前言 众所周之,IM是个典型的快速数据流交换系统,当今主流IM系统(尤其移动 ...

  4. JavaWeb 例子 JDBC+JSP登陆注册留言板

    注册页面: <%@ page language="java" contentType="text/html; charset=UTF-8" pageEnc ...

  5. Django web框架开发基础-django实现留言板功能

    1.创建项目 cmd  django-admin startpoject cloudms 2.创建APP cmd django-admin startapp msgapp 3.修改settings,T ...

  6. [js高手之路] vue系列教程 - 实现留言板todolist(3)

    通过前面两篇文章的的学习,我们掌握了vue的基本用法. 本文,就利用这些基础知识来实现一个留言板, 老外把他称之为todolist. 第一步.使用bootstrap做好布局 <!DOCTYPE ...

  7. JSP简易留言板

    写在前面 在上篇博文JSP内置对象中介绍JSP的9个内置对象的含义和常用方法,但都是比较理论的知识.今天为大家带来一个小应用,用application制作的简易留言板. 包括三个功能模块:留言提交.留 ...

  8. Repeater+AspNetPager+Ajax留言板

    最近想要巩固下基础知识,于是写了一个比较简单易懂实用的留言板. 部分样式参考了CSDN(貌似最近一直很火),部分源码参照了Alexis. 主要结构: 1.前期准备 2.Repeater+AspNetP ...

  9. html的留言板制作(js)

    这次留言板运用到了最基础的localstorage的本地存储,展现的效果主要有: 1.编写留言2.留言前可以编辑自己的留言昵称.不足之处: 1.未能做出我喜欢的类似于网易的叠楼功能. 2.未能显示评论 ...

随机推荐

  1. POJ - 1655 (点分治-树的重心)

    题目:https://vjudge.net/contest/307753#problem/D 题意:给你一棵树,让你求出一个点,让他的最大子树的节点数尽量小 思路:最大子树节点数尽量小,一看就是树的重 ...

  2. setTimeout,clearTimeout,setInterval,clearInteral详解

    设置定时器,在一段时间之后执行指定的代码,setTimeout与setInterval的区别在于setTimeout函数指定的代码仅执行一次 方法一: window.setTimeout(" ...

  3. Linux查看文件大小5个常用命令

    1. 前言 Linux 系统有非常好用的命令,功能也非常丰富,如果你对命令行工具熟悉,可以非常高效率完成维护工具.本文主要介绍Linux系统中,用于查看文件大小的命令. Linux 查看文件大小5个常 ...

  4. Linux崩溃时启动脚本获取进程相关信息

    编写test.cpp #include <stdlib.h> #include <stdio.h> #include <exception> #include &l ...

  5. 记录js中的兼容问题及解决办法

    1.获取非行内样式的兼容问题: 2.获取事件对象的兼容问题: 3.事件冒泡的兼容: 4.keyCode的兼容问题: 5.处理默认事件的兼容问题: 6.事件的绑定兼容问题:

  6. js try{}catch(e){}的理解

    程序开发中,编程人员经常要面对的是如何编写代码来响应错误事件的发生,即例外处理(exception handlers).如果例外处理代码设计得周全,那么最终呈现给用户的就将是一个友好的界面.否则,就会 ...

  7. Java Console/控制台 打印表格

    功能:控制台打印表格,支持字段动态长度,左对齐,右对齐,居中,设置最大列长,设置列间隔符,设置最多打印多少行. 类下载地址:http://download.csdn.net/download/j506 ...

  8. 利用hover,制作点击有缩放效果

    .tab-pic-wrap .pic-wrap .list li a:hover img { transform: scale(1.03); } .tab-pic-wrap .pic-wrap .li ...

  9. net core微服务构建方案

    随着Net core升级,基本趋于完善了,很多都可以使用core开发了.已经有的Net framework就不说了,说实话,关注少了. 今天说说微服务方案,在之前说几句废话,core还在升级改造,AP ...

  10. NSQ消息队列

    前面的总结中提到过这个玩意,所以简单说说,win上面的测试验证 网上有比较合适的博文,我先推荐几篇 https://blog.csdn.net/a2247889821/article/details/ ...