Thinkphp学习笔记——友情链接的添加和验证

xiaoxiao2021-03-01  10

*============在公共模板的左侧列表 增加友情链接和友情链接下的链接列表==============↓ D:\phpStudy\WWW\niwo\application\admin\view\common\left.html 复制内容: <li> <a href="#" class="menu-dropdown"> <i class="menu-icon fa fa-gear"></i> <span class="menu-text">系统</span> <i class="menu-expand"></i> </a> <ul class="submenu"> <li> <a href="/admin/document/index.html"> <span class="menu-text"> 配置 </span> <i class="menu-expand"></i> </a> </li> </ul> </li> 修改内容: <li> <a href="#" class="menu-dropdown"> <i class="menu-icon fa fa-gear"></i> <span class="menu-text">友情链接</span> <i class="menu-expand"></i> </a> <ul class="submenu"> <li> <a href="/admin/document/index.html"> <span class="menu-text"> 链接列表 </span> <i class="menu-expand"></i> </a> </li> </ul> </li> <li> <a href="#" class="menu-dropdown"> <i class="menu-icon fa fa-gear"></i> <span class="menu-text">系统</span> <i class="menu-expand"></i> </a> <ul class="submenu"> <li> <a href="/admin/document/index.html"> <span class="menu-text"> 配置 </span> <i class="menu-expand"></i> </a> </li> </ul> </li> http://127.0.0.1/niwo/public/index.php/admin *============在公共模板的左侧列表 增加友情链接和友情链接下的链接列表==============↑

*============修改友情链接的图标==============↓ http://www.yidt.cn/Home/FontAwesome 右键点击要修改的图标,在弹出的菜单中,选择检查按钮,在右侧的调试信息中,找的该图标的class,并修改: 比如,把 <i class="menu-icon fa fa-anchor"></i> <span class="menu-text">友情链接</span> 修改为: <i class="menu-icon fa fa-link"></i> <span class="menu-text">友情链接</span> 其中,可供选择的图标,可以在Dashboard Elements Icons FontAwesome中找到。 *============修改友情链接的图标==============↑ *============在数据库blog下 创建tp_links 列表==============↓ 新建数据表 名字: tp_links 字段数: 4 编辑字段信息: 名字 id 类型 MEDIUMINT 索引 PRIMARY A_I(自增) 勾选 注释 链接id 名字 title 类型 VARCHAR 长度/值 30 注释 链接标题 名字 url 类型 VARCHAR 长度/值 60 注释 链接地址 名字 desc 类型 VARCHAR 长度/值 255 注释 链接说明 存储引擎 MyISAM 点击 保存 *============在数据库blog下 创建tp_links 列表===============↑ *============在控制器下、模块下、验证器下、创建友情链接文件和文件夹==============↓ D:\phpStudy\WWW\niwo\application\admin\controller 复制Admin.php文件,重命名Links.php D:\phpStudy\WWW\niwo\application\admin\model 复制Admin.php文件,重命名Links.php D:\phpStudy\WWW\niwo\application\admin\validate 复制Admin.php文件,重命名Links.php D:\phpStudy\WWW\niwo\application\admin\view 复制Admin文件夹,重命名links文件夹 *============在控制器下、模块下、验证器下、创建友情链接文件和文件夹==============↑ *============修改控制器下 修改友情链接文件==============↓ D:\phpStudy\WWW\niwo\application\admin\controller\Links.php 原内容 <?php namespace app\admin\controller; use think\Controller; use app\admin\model\Admin as AdminModel; // 引入model类、位置、名称有重名的要改名字 class Admin extends Controller { public function lst() { $list = AdminModel::paginate(3);// 分页输出列表 每页显示3条数据 $this ->assign('list',$list); // 把$list,分配到模板list return $this->fetch();//把数据返回给视图。 } // public function lst() // { // return $this->fetch(); // } public function add() { if(request()->isPost()){ $data=[ 'username'=>input('username'), 'password'=>input('password'), ]; $validate = \think\Loader::validate('Admin');//实例化validate if(!$validate->scene('add')->check($data)){ //在add场景下,验证$data里面的数据,如果验证没有通过 $this->error($validate->getError()); die; //获取错误信息并打印。 } if(db('admin')->insert($data)){ return $this->success('添加管理员成功!','lst'); }else{ return $this->error('添加管理员失败!'); } return; } return $this->fetch(); } public function edit(){ $id = input('id'); //把网页提交过来的id数据,存储在$id里。 $admins = db('admin')->find($id);// 在数据库的admin表单,以id为字段进行查找。把找到的数据,存储到$admins if(request()->isPost()){ // 处理表单数据(判断是否以表单提交数据->post是从表单提交数据) $data = [ // 接收数据以数组格式 'id' =>input('id'), 'username' =>input('username'), 'password' =>input('password'), ]; if(input('password')){ // 如果修改管理员密码 $data['password'] = md5(input('password')); // 在$data数组中修改,然后加密 }else{ $data['password'] = $admins['password']; // 否则密码留空,用原有密码 } $validate = \think\Loader::validate('Admin'); if(!$validate->scene('edit')->check($data)){ // 在编辑场景验证 $this->error($validate->getError()); die; } if(db('admin')->update($data)){ // 将数据库的admin表格修改成数组$data形式 $this->success('修改管理员成功!','lst'); }else{ $this->error('修改管理员失败!'); } return; // 要处理数据,return下面的就不显示 } $this->assign('admins',$admins); // 分配显示在模板中(分配到模板中的值,值等于$admins/这两个要对应) return $this->fetch(); } public function del(){ // 删除的方法 $id = input('id'); //把网页提交过来的id数据,存储在$id里 if($id != 1) { // 如果$id不等于1 if (db('admin')->delete(input('id'))) { //在数据库的admin表单,删除以id为字段数据内容。 $this->success('删除管理员成功!', 'lst'); } else { $this->error('删除管理员失败!'); } }else{ $this->error('初始化管理员不能删除!'); } } } 修改内容: 把大部分的admin修改成了Links <?php namespace app\admin\controller; use think\Controller; use app\admin\model\Links as LinksModel; // 引入model类、位置、名称有重名的要改名字 class Links extends Controller { public function lst() { $list = LinksModel::paginate(3);// 分页输出列表 每页显示3条数据 $this ->assign('list',$list); // 分配到模板名称为list,值就是获取到的 return $this->fetch(); } public function add() { if(request()->isPost()){ $data=[ 'username'=>input('username'), 'password'=>input('password'), ]; $validate = \think\Loader::validate('Links'); if(!$validate->scene('add')->check($data)){ $this->error($validate->getError()); die; } if(db('Links')->insert($data)){ return $this->success('添加管理员成功!','lst'); }else{ return $this->error('添加管理员失败!'); } return; } return $this->fetch(); } public function edit(){ $id = input('id'); $Linkss = db('Links')->find($id);// 将数据库的Links表格修改成数组$data形式 if(request()->isPost()){ // 处理表单数据(判断是否以表单提交数据->post是从表单提交数据) $data = [ // 接收数据以数组格式 'id' =>input('id'), 'username' =>input('username'), 'password' =>input('password'), ]; if(input('password')){ // 如果修改管理员密码 $data['password'] = md5(input('password')); // 在$data数组中修改,然后加密 }else{ $data['password'] = $Linkss['password']; // 否则密码留空,用原有密码 } $validate = \think\Loader::validate('Links'); if(!$validate->scene('edit')->check($data)){ // 在编辑场景验证 $this->error($validate->getError()); die; } if(db('Links')->update($data)){ // 将数据库的Links表格修改成数组$data形式 $this->success('修改管理员成功!','lst'); }else{ $this->error('修改管理员失败!'); } return; // 要处理数据,return下面的就不显示 } $this->assign('Linkss',$Linkss); // 分配显示在模板中(分配到模板中的值,值等于$Linkss/这两个要对应) return $this->fetch(); } public function del(){ // 删除的方法 $id = input('id'); // 把input('id')赋值给$id if($id != 1) { // 如果$id不等于1 if (db('Links')->delete(input('id'))) { $this->success('删除管理员成功!', 'lst'); } else { $this->error('删除管理员失败!'); } }else{ $this->error('初始化管理员不能删除!'); } } } *============修改控制器下、修改友情链接文件==============↑ *============验证器下 修改友情链接文件==============↓ D:\phpStudy\WWW\niwo\application\admin\model\Links.php 修改内容: <?php namespace app\admin\model; use think\Model; // 引入模型这个类 class Links extends Model // 继承模型这个类 { } 引入类创建发法 D:\phpStudy\WWW\niwo\application\admin\validate\Links.php 原内容 class Admin extends Validate // 继承引用过来的类 修改为: class Links extends Validate // 继承引用过来的类 *============验证器下 修改友情链接文件==============↑

 

*============修改公共文件下的left文件==============↓ http://www.iheyu.com/wanzheng/public/index.php/admin 修改链接列表地址 D:\phpStudy\WWW\niwo\application\admin\view\common\left.html 原内容 <li> <a href="/admin/document/index.html"> <span class="menu-text"> 链接列表 </span> <i class="menu-expand"></i> </a> </li> 修改为: <li> <a href="{:url('links/lst')}"> <span class="menu-text"> 链接列表 </span> <i class="menu-expand"></i> </a> </li> http://www.iheyu.com/wanzheng/public/index.php/admin 下查看链接列表 地址wanzheng/public/index.php/admin/links/lst *============修改公共文件下的left文件==============↑ *============修改视图里友情链接的查找和添加==============↓ D:\phpStudy\WWW\niwo\application\admin\view\links\lst.html 修改为: <div class="page-breadcrumbs"> <ul class="breadcrumb"> <li> <a href="#">系统</a> </li> <li class="active">链接管理</li> </ul> </div> http://www.iheyu.com/wanzheng/public/index.php/admin/links/lst 系统/链接管理 D:\phpStudy\WWW\niwo\application\admin\view\links\lst.html 把“用户”全部替换成“连接” 修改内容: <button type="button" tooltip="添加连接" class="btn btn-sm btn-azure btn-addon" onClick="javascript:window.location.href = '{:url('Links/add')}'"> <i class="fa fa-plus"></i> Add </button> D:\phpStudy\WWW\niwo\application\admin\view\links\add.html 把“管理员”全部替换成“连接” *============修改视图里友情链接的查找和添加==============↑

 

*============修改视图里的友情链接和添加文件样式==============↓ http://www.iheyu.com/wanzheng/public/index.php/admin/links/lst.html 点击"Add",跳转到wanzheng/public/index.php/admin/links/add.html D:\phpStudy\WWW\niwo\application\admin\view\links\add.html 修改内容: 把"管理员"改成"链接"; http://www.iheyu.com/wanzheng/public/index.php/admin/links/add.html 修改application\admin\view\links\add.htm模板 C:\phpStudy\PHPTutorial\WWW\wanzheng\application\admin\view\links\add.htm 修改为: <li> <a href="#">系统</a> </li> <li> <a href="{:url('links/lst')}">链接管理</a> </li> <li class="active">添加链接</li> </ul> </div> <!-- /Page Breadcrumb --> 把<label for="username" class="col-sm-2 control-label no-padding-right">链接名</label> 修改为: <label for="username" class="col-sm-2 control-label no-padding-right">链接标题</label> 把<label for="username" class="col-sm-2 control-label no-padding-right">链接密码</label> 修改为: <label for="username" class="col-sm-2 control-label no-padding-right">链接地址</label> 复制以下内容: <div class="form-group"> <label for="username" class="col-sm-2 control-label no-padding-right">链接地址</label> <div class="col-sm-6"> <input class="form-control" id="username" placeholder="" name="username" required="" type="text"> </div> <p class="help-block col-sm-4 red">* 必填</p> </div> 修改为: <div class="form-group"> <label for="username" class="col-sm-2 control-label no-padding-right">链接描述</label> <div class="col-sm-6"> <textarea></textarea> </div> </div> http://www.iheyu.com/wanzheng/public/index.php/admin/links/add.html 链接描述样式不对 ***************************************************************************************** 把<textarea></textarea>下面的</div>前面的空格都删掉! 描述的格式就对了! http://www.iheyu.com/wanzheng/public/index.php/admin/links/add.html ***************************************************************************************** 修改描述的样式 C:\phpStudy\PHPTutorial\WWW\wanzheng\application\admin\view\links\add.htm <div class="col-sm-6"> <textarea class="form-control"></textarea> </div> 链接描述就修改好的! http://www.iheyu.com/wanzheng/public/index.php/admin/links/add.html *============修改视图里的友情链接和添加文件样式==============↑

 

*============修改视图里友情链接和添加文件发送的数据==============↓ D:\phpStudy\WWW\niwo\application\admin\view\links\add.html 把<label for="username" class="col-sm-2 control-label no-padding-right">链接标题</label> <div class="col-sm-6"> <input class="form-control" id="username" placeholder="" name="username" required="" type="text"> </div> 修改为: <label for="username" class="col-sm-2 control-label no-padding-right">链接标题</label> <div class="col-sm-6"> <input class="form-control" id="title" placeholder="" name="title" required="" type="text"> </div> 把<label for="username" class="col-sm-2 control-label no-padding-right">链接地址</label> <div class="col-sm-6"> <input class="form-control" id="password" placeholder="" name="password" required="" type="text"> </div> 修改为: <div class="form-group"> <label for="username" class="col-sm-2 control-label no-padding-right">链接地址</label> <div class="col-sm-6"> <input class="form-control" id="url" placeholder="" name="url" required="" type="text"> </div> 把<label for="username" class="col-sm-2 control-label no-padding-right">链接描述</label> <div class="col-sm-6"> <textarea class="form-control"></textarea> </div> 修改为: <label for="username" class="col-sm-2 control-label no-padding-right">链接描述</label> <div class="col-sm-6"> <textarea name="desc" class="form-control"></textarea> </div> D:\phpStudy\WWW\niwo\application\admin\controller\Links.php 原内容 public function add() // 加载管理员信息 { if (request()->isPost()) { $data = [ 'username' => input('username'), 'password' => md5(input('password')), ]; $validate = \think\Loader::validate('Links'); if (!$validate->check($data)) { $this->error($validate->getError()); die; } if (db('Links')->insert($data)) { return $this->success('添加管理员成功', 'lst'); } else { return $this->error('添加管理员失败!'); } return; 修改为: public function add() { if(request()->isPost()){ $data=[ 'title'=>input('title'), 'url'=>input('url'), 'desc'=>input('desc'), ]; $validate = \think\Loader::validate('Links'); if(!$validate->scene('add')->check($data)){ $this->error($validate->getError()); die; } if(db('Links')->insert($data)){ return $this->success('添加链接成功!','lst'); }else{ return $this->error('添加链接失败!'); } return; http://www.iheyu.com/wanzheng/public/index.php/admin/links/add.html 可以添加链接操作了! 要是点击"新增链接"中的"保存信息",没反应就要把C:\phpStudy\PHPTutorial\WWW\wanzheng\application\admin\validate\Links.php 中的验证规则全部注释! D:\phpStudy\WWW\niwo\application\admin\view\links\lst.html 原内容 <table class="table table-bordered table-hover"> <thead class=""> <tr> <th class="text-center"width="4%">ID</th> <th class="text-center"width="70%">连接名称</th> <th class="text-center"width="14%">操作</th> </tr> </thead> <tbody> {volist name="list" id="vo"} <tr> <td align="center">{$vo.id}</td> <td align="center">{$vo.username}</td> 修改为: <table class="table table-bordered table-hover"> <thead class=""> <tr> <th class="text-center"width="4%">ID</th> <th class="text-center">连接名称</th> <th class="text-center">连接地址</th> <th class="text-center">连接描述</th> <th class="text-center"width="14%">操作</th> </tr> </thead> <tbody> {volist name="list" id="vo"} <tr> <td align="center">{$vo.id}</td> <td align="center">{$vo.title}</td> <td align="center">{$vo.url}</td> <td align="center">{$vo.desc}</td> http://127.0.0.1/niwo/public/index.php/admin/links/lst.html 就不会报错了 *============修改视图里友情链接和添加文件发送的数据==============↑

 

*============把视图里友情链接连接和地址变成网址==============↓ D:\phpStudy\WWW\niwo\application\admin\view\links\lst.html 原内容 <tr> <td align="center">{$vo.id}</td> <td align="center">{$vo.title}</td> <td align="center">{$vo.url}</td> <td align="center">{$vo.desc}</td> <td align="center"> <a href="{:url('admin/edit',array('id'=>$vo['id']))}" class="btn btn-primary btn-sm shiny"> <i class="fa fa-edit"></i> 编辑 </a> {if condition="$vo['id'] neq 1"} <a href="#" onClick="warning('确实要删除吗', '{:url('admin/del',array('id'=>$vo['id']))}" class="btn btn-danger btn-sm shiny"> <i class="fa fa-trash-o"></i> 删除 </a> {/if} </td> </tr> 修改为: <tr> <td align="center">{$vo.id}</td> <td align="center">{$vo.title}</td> <td align="center"><a href="{$vo.url}" target="_black">{$vo.url}</a></td> <td align="center">{$vo.desc}</td> <td align="center"> <a href="{:url('admin/edit',array('id'=>$vo['id']))}" class="btn btn-primary btn-sm shiny"> <i class="fa fa-edit"></i> 编辑 </a> {if condition="$vo['id'] neq 1"} <a href="#" onClick="warning('确实要删除吗', '{:url('admin/del',array('id'=>$vo['id']))}" class="btn btn-danger btn-sm shiny"> <i class="fa fa-trash-o"></i> 删除 </a> {/if} </td> </tr> *============把视图里友情接链接连和地址变成网址==============↑

 

*============验证、验证器里的友情链接==============↓ D:\phpStudy\WWW\niwo\application\admin\validate\Links.php 修改为: <?php namespace app\admin\validate; use think\Validate; // 引入了空间类文件 class Links extends Validate // 继承引用过来的类 { // 验证规则就写在这个数组里面 protected $rule = [ 'title' => 'require|max:25', 'url' => 'require', ]; // 错误提示 protected $message = [ 'title.require' => '链接标题必须填写', 'title.max' => '链接的标题长度不能大于25位', 'url.require' => '链接的地址必须填写', ]; // 验证 scene 场景 protected $scene = [ 'add' => ['title','url'], // 在添加场景限定[]里的验证 'edit' => ['title','url'], ]; } 添加友情链接地址成功! http://www.iheyu.com/wanzheng/public/index.php/admin/links/lst.html D:\phpStudy\WWW\niwo\application\admin\view\links\lst.html 原内容 <td align="center"><a href="{$vo.url}" target="_black">{$vo.url}</a></td> <td align="center">{$vo.desc}</td> 修改为: <td align="center"><a href="{$vo.url}" target="_black">{$vo.url}</a></td> <td align="center"> {if condition="$vo['desc'] neq ''"} {$vo.desc} {else /} 暂无描述 {/if} </td> 修改隐藏界面 原内容 <a href="{:url('admin/edit',array('id'=>$vo['id']))}" class="btn btn-primary btn-sm shiny"> <i class="fa fa-edit"></i> 编辑 </a> {if condition="$vo['id'] neq 1"} <a href="#" onClick="warning('确实要删除吗', '{:url('admin/del',array('id'=>$vo['id']))}" class="btn btn-danger btn-sm shiny"> <i class="fa fa-trash-o"></i> 删除 </a> {/if} 修改为: <a href="{:url('admin/edit',array('id'=>$vo['id']))}" class="btn btn-primary btn-sm shiny"> <i class="fa fa-edit"></i> 编辑 </a> <a href="#" onClick="warning('确实要删除吗', '{:url('admin/del',array('id'=>$vo['id']))}" class="btn btn-danger btn-sm shiny"> <i class="fa fa-trash-o"></i> 删除 </a> 去掉隐藏的删除键! http://www.iheyu.com/wanzheng/public/index.php/admin/links/lst.html *============验证、验证器里的友情链接==============↑

 

转载请注明原文地址: https://www.6miu.com/read-3650202.html

最新回复(0)