《十天学会 PHP》的重难点
记录一下我在学习《十天学会 PHP》(第六版)的过程中的遇到的重难点,该课程是学习制作一个简单的留言板。
准备工作
- XAMPP(Apache + MySQL + PHP + PERL) 是一个功能强大的建站集成软件包。现在 XAMPP 的官方版本使用的数据库是 MariaDB,但是国内使用 MySQL 数据库较多,视频里 XAMPP 的站点似乎也没了,反正我是没找到,后来在 php 中文网找到了和视频里一样的 XAMPP 版本,这个版本使用的是 MySQL 数据库,同时php中文网也是学习学习 PHP 等不错的网站。下载地址
- PHP手册 一定要有,直接百度 php 手册就可以找到下载了。
- Navicat 是一个数据库管理工具,破解版的安装方法在这篇博客( Navicat Premium 12 安装与破解),方便简单快捷,不需要任何花里胡哨的操作。
- HTML 手册是学习 HTML 的很好的工具。
Navicat 的使用
- 建立如下图所示的数据库,主要是我目前不知道不同字符集和排列规则会对数据造成什么样的影响,所以只能照搬视频里的样式建立数据库。

image
代码
- 把代码都放在 \xampp\htdocs 文件夹下面,其它具体的细节,现在有些遗忘了,通过代码回忆。
- 先是一个 gbook.php 文件
<?php
include('connect.php');
$sql = "SELECT * FROM msg ORDER BY id DESC";
$mysqli_result = $db->query($sql);
if ($mysqli_result === false) {
echo "SQL错误";
exit;
}
while ($row = $mysqli_result->fetch_array(MYSQL_ASSOC)) {
$rows[] = $row;
}
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>留言本</title>
<style>
.wrap{
width: 600px;
margin: 0px auto;
}
.add{
overflow: hidden;
}
.add .content{
width: 598px;
margin: 0;
padding: 0;
}
.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="save.php" method="post">
<textarea name="content" class="content" cols="50" rows="5"></textarea>
<input name="user" class="user" type="text" />
<input class="btn" type="submit" value="发表留言" />
</form>
</div>
<?php
foreach ($rows as $row) {
?>
<!-- 查看留言 -->
<div class="msg">
<div class="info">
<span class="user"><?php echo $row['user'];?></span>
<span class="time"><?php echo date("Y-m-d H:i:s", $row['intime']);?></span>
</div>
<div class="content">
<?php echo $row['content'];?>
</div>
</div>
<?php
}
?>
</div>
</body>
</html>
- 然后是 connect.php 文件
<?php
//预先定义数据库链接参数
$host = '127.0.0.1';
$dbuser = 'root';
$password = '123456';
$dbname = 'php10';
$db = new mysqli($host, $dbuser, $password, $dbname);
if ($db->connect_errno <> 0) {
die('链接数据库失败');
}
//设定数据库数据传输䣌编码
$db->query("SET NAME UTF8");
?>
- 接着是 input.php 文件
<?php
class input{
function post($content) {
if ($content == '') {
return false;
}
//禁止使用的用户名
$n = ['张三','李四','王五'];
foreach ($n as $name) {
if ($content == $name) {
return false;
}
}
return true;
}
}
?>
- 最后是 sava.php 文件
<?php
include('input.php');
include('connect.php');
$content = $_POST['content'];
$user = $_POST['user'];
$input = new input();
//调用函数,检查留言内容
$is = $input->post($content);
if ($is == false) {
die('留言内容的数据不正确');
}
//调用函数,检查留言人
$is = $input->post($user);
if ($is == false) {
die('留言人的数据不正确');
}
//数据入库
$time = time();
$sql = "INSERT INTO msg(content, user, intime) VALUES ('{$content}', '{$user}', '{$time}')";
$is = $db->query($sql);
header("location: gbook.php");
?>
《十天学会 PHP》的重难点的更多相关文章
- 李洪强漫谈iOS开发[C语言-008]- C语言重难点
C语言学习的重难点 写程序的三个境界: 照抄的境界,翻译的境界,创新的境界 1 伪代码: 描述C语言的编程范式 范式: 规范的一种表示 对于C的范式学会的话,C, C++ Java 都会了 2 ...
- 标准之路网站上一篇文章《十天学会web标准(div+css)》的营养精华
以下精华出自如下链接,“http://www.aa25.cn/special/10day/index.shtml”,<十天学会web标准(DIV+CSS)>. 这个内容不要删掉:“< ...
- 十年学会编程 著者: Peter Norvig 翻译: Dai Yuwen
为何人人都这么着急? 信步走进任何一家书店,你会看到名为<如何在7天内学会Java>的书,还有各 种各样类似的书: 在几天内或几小时内学会Visual Basic, Windows, In ...
- PHP学习过程_Symfony_(3)_整理_十分钟学会Symfony
这篇文章主要介绍了Symfony学习十分钟入门教程,详细介绍了Symfony的安装配置,项目初始化,建立Bundle,设计实体,添加约束,增删改查等基本操作技巧,需要的朋友可以参考下 (此文章已被多人 ...
- 《十天学会单片机和C语言编程》
<十天学会单片机和C语言编程> 大家注意了这个文件只有最新版迅雷可以下载,下面的lesson几就是第几课.点击右键使用迅雷下载. ed2k://|file|[十天学会单片机和C语言编程]. ...
- “全栈2019”Java多线程第二十九章:可重入锁与不可重入锁详解
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java多 ...
- DIV+CSS专题:十天学会DIV+CSS
DIV+CSS专题:十天学会DIV+CSS,在网上看到的.感觉蛮好,推荐一下. 十天学会DIV+CSS(WEB标准)CHM格式文件下载 第十天 div+css网页标准布局实例教程(三) 第十天 div ...
- English--音标重难点
English|音标重难点 在拥有了,音标的元音与辅音的基础之后,需要对于这些音标进行加以区分,毕竟方言对于口型的影响非常的大. 前言 目前所有的文章思想格式都是:知识+情感. 知识:对于所有的知识点 ...
- 这是一份非常适合收藏的Android进阶/面试重难点整理
写在前面 记得我大二时“不务正业”地自学Android并跟了老师做项目,到大三开始在目前的公司实习,至今毕业已有几年多,学习Android已经6.7年多了!但总感觉知识点很零散,并且不够深入,遇到瓶颈 ...
随机推荐
- 猎豹全球智库执行院长:中国App出海的三大规律和最具代表的五大垂直品类
https://36kr.com/p/5100078 中国出海还是处于一个黄金时代. “国内互联网公司的竞争越来越白热化,出海的时间点变得越来越紧迫,”在36氪日前举办的“WISEx新出海行业峰会”上 ...
- 分享STM32 FLASH 擦除(以及防止误擦除程序代码)、写入
编译环境:我用的是(Keil)MDK4.7.2 stm32库版本:我用的是3.5.0一.本文不对FLASH的基础知识做详细的介绍,不懂得地方请查阅有关资料. 对STM32 内部FLASH进行编程操 ...
- Comet OJ - Contest #14 转转的数据结构题 珂朵莉树+树状数组
题目链接: 题意:有两个操作 操作1:给出n个操作,将区间为l到r的数字改为x 操作2:给出q个操作,输出进行了操作1中的第x到x+y-1操作后的结果 解法: 把询问离线,按照r从小到大排序 每次询问 ...
- php正则表示中的元字符
元字符 抛出问题: \d 代表匹配一个字符.而我现在想要匹配十个八个,任意多个数字肿么办? 这个时候我们就要用到元字符.在使用原子的时候,发现只能够匹配一个字符,可是要匹配多个字符就出现了问题.大理石 ...
- rpmlint 方便的rpm spec 以及rpm 文件检查工具
rpmlint 可以方便的让我们检查rpm spec 的信息,给予我们提示以及改进,同时也支持对于rpm 文件处理 安装 yum install -y rpmlint 使用 spec 检查 rpmli ...
- node安装失败报错
安装Node有时会报错 提示这段信息 怎么安装都不行 最后通过命令行安装就可以完成 1.首先去Node下载安装包 下载完后放在本地 比如我放在桌面aa这个文件夹里 2.进去aa这个文件 复制里面的路 ...
- [RN] React Native 使用 react-native-vector-icons 图标显示问号
我在第一次使用 react-native-vector-icons 时图标显示问号 后来在网上查了很多文章,发现原因有两个 1)安装完 react-native-vector-icons 后,没有li ...
- linux命令之------Tar解压缩
Tar解压缩 作用:将解压缩后缀名为tar的压缩包 -f<备份文件>或—file=<备份文件>指定备份文件 -v或-verbose显示指令执行过程 -x或-extract或-g ...
- 如何打开 win 10 内置应用
gpedit.msc windows设置 安全设置 本地策略 安全选项 >> 用户账户控制:用于内置管理员账户的管理员批准模式:已启用
- D3.js的v5版本入门教程(第四章)—— 理解Update、Enter、Exit
D3.js的v5版本入门教程(第四章) Update.Enter.Exit是D3.js中很重要的概念,下面来讲一下它们到底是什么?(当你看完后.你就会知道如果数据集个数和选择集个数不匹配的情况下使用d ...