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. angularjs radio 默认选中

    添加ng-model后checked="checked"失效,可见angularjs也不好,会失效html标准属性 解决:添加ng-checked="1" &l ...

  2. myeclipse2017使用总结

    1.之前的myeclipse 2010项目导入后,需要配置项目发布内容,否则class.lib.web.xml等文件不会自动发布到tomcat中:

  3. Archive.org:互联网档案馆

    Archive.org:互联网档案馆   2009年的最后一天,辞旧迎新,互联网也同样如此,在过往40年的基础上一步步积累发展.对于我们而言很希望通过以往的每个网页.见证和找寻历史,这就是今天所介绍的 ...

  4. VSphere随笔 - vCenter6.5安装报错 “Failed to authenticate with the guest operating system using the supplied“

    今天重新安装VCSA,安装多次一直卡在80%的画面不动,显示正在安装RPM包,同时log日志显示“Failed to authenticate with the guest operating sys ...

  5. g++ 之 -m64选项

    今天编译之前的项目,竟然报了下面的错误 usr/bin/ld: i386 architecture of input file `./proxycpp/soapRemoteDiscoveryBindi ...

  6. QTP 保留对象

    1. 常用保留对象(Utility Objects) 保留对象:所谓QTP保留对象就是QTP本身预留的一些可用对象. 通俗些讲就是,当打开QTP时它就已经把这些对象给实例化了,直到关闭QTP后,这些保 ...

  7. ID和Phone高压缩比存储和查询

    ID和Phone高压缩比存储和查询的简单例子, 无多线程处理 运行环境JDK8+maven 0. 模块分割 1. 基本思路 源文件BCP每一行都转为一个全局的RowID,可以直接映射到FileName ...

  8. 基于虚拟用户登录的ftp服务配置

    文章结构:             一.使用逻辑卷配置ftp数据存放目录             二.安装和配置vsftpd服务             三.使用不通权限的用户访问ftp服务器 系统环 ...

  9. php函数练习20191031

    <?php$str="what is you name?";$arr=array('i','s');$arr_1=array('s','i');//是先后替换的.echo s ...

  10. activiti 流程部署的各种方式

    流程资源可以是各种类型的文件,在启动流程或流程实例运行过程中会被读取.下面介绍常用的流程资源. 一.流程资源 流程定义文件:扩展名为bpmn20.xml和bpmn; 流程定义的图片:用BPMN2.0规 ...