Thinkphp5学习004-引入bootstrap用表单操作数据库
本节内容:
1.引入bootstrap对表单进行验证
2. 控制器如何获取表单数据
3.用表单提交操作数据库
一. 在tp5框架的public目录下有一static目录,该目录就是用来存放静态资源的,包括第三方的前台框架boostrap
下载三个文件
1.bootstrap-3.3.7-dist.zip
2. bootstrapvalidator-0.4.5.zip
3. jquery-3.4.1.min.js
解压后放在static中
二. 在index模块,创建student控制器,代码如下:
<?php
namespace app\index\controller;
use think\Controller;
/**
* Class Student
*/
class Student extends Controller
{
public function index()
{
return $this->fetch();
}
}
三.在接下来,在view目录下,创建student目录,然后创建模板文件index.html
需要讲解的是 head 区中的link和script标签中的 __STATIC__
使用 __STATIC__ 的目的是:获取样式文件和脚本文件所在目录
这个常量我们在配置文件config.php事先定义好的
打开application目录中的config.php文件,找到 view_replace_str
修改成
'view_replace_str' => [
'__STATIC__' => $_SERVER['REQUEST_SCHEME']
. "://".$_SERVER['HTTP_HOST']
. rtrim(dirname($_SERVER['SCRIPT_NAME']))
. '/static',
],
四.在控制器student.php中添加方法add()
public function add()
{
$data = input('post.');
try {
ret = Db::name('student')->insert(
$this->success('添加成功',url('index'));
} catch (PDOException $ex) {
this->error('添加失败,' .
}
}
代码解析:
1.其中input('post.no') 表示 获取post方式传递来的变量,其中no 就是表单元素的name属性的值,区分大小写
性的值,区分大小写
2. 在上面的代码中出现了:$this->success() 和 $this->error() 两个方法的使用。这两个方法在tp5的控制器中的两个方法,分别表示成功跳转,失败跳转
成功:页面会显示“添加成功”,并且将路由指定到当前控制器的index方法
失败:error()方法没有指定跳转的路由,默认会返回到上一页
另外,我们也可以使用重定向方法redirect(),将控制器中的代码改写如下
===Add方法也可以写成:===
public function add()
{
$data = input('post.');
try {
$ret = Db::name('student')->insert($data);
echo '添加成功';
} catch (PDOException $ex) {
die($ex->getMessage());
}
}
解析:其中input('post.') 表示获取post方式传递过来的所有变量,并且以数组的方式存放
五.测试一下