所属分类:php教程
thinkphp跳转当前页的方法:1、在index/login下新建一个login.html页面;2、新建一个login控制器;3、通过“protected function success(){...}”判断跳转是否成功;4、打开“dispatch_jump.tpl”文件;5、修改“config.php”下面的配置代码即可。
php入门到就业线上直播课:进入学习
Apipost = Postman + Swagger + Mock + Jmeter 超好用的API调试工具:点击使用
本教程操作环境:Windows7系统、ThinkPHP5版、Dell G3电脑。
ThinkPHP5之页面跳转
页面跳转的方法
首先可以用简单的success和error方法来实现
1.在index/login下新建一个login.html页面
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>登陆</title>
</head>
<body>
<!--{:url('check')} :提交到本页面的控制器下的check方法-->
<form action="{:url('check')}" method="post">
<p>
账号:<input type="text" name="username" id="username">
</p>
<P>
密码:<input type="text" name="password" id="password">
</P>
<p>
<input type="submit" value="提交">
<input type="reset" value="重置">
</p>
</form>
</body>
</html>
登录后复制
2.新建一个login控制器
namespace app\index\controller;
use think\Controller;
//继承Controller
class Login extends Controller
{
public function index(){
return view();
}
// 判断登陆成功失败的逻辑
public function check(){
$user=$_POST['username'];
$pwd=$_POST['password'];
if($user=='admin' && $pwd=='123'){
// 如果成功则跳到index/index页面
$this->success('登陆成功',url('/index/index'));
}else{
$this->error('登陆失败');
}
}
}
登录后复制
系统的success方法说明
/**
* 操作成功跳转的快捷方法
* @access protected
* @param mixed $msg 提示信息
* @param string $url 跳转的 URL 地址
* @param mixed $data 返回的数据
* @param int $wait 跳转等待时间
* @param array $header 发送的 Header 信息
* @return void
* @throws HttpResponseException
*/
protected function success($msg = '', $url = null, $data = '', $wait = 3, array $header = [])
{}
登录后复制
跳转成功的页面效果:success()方法会有一个等待时间的界面,然后跳到/index/index,同样error()方法同样有个等待界面
修改跳转界面 上面显示登陆成功的界面可能不符合我们的需求,所以需要修改一下这个模板界面
1.修改模板界面,首先需要找到这个模板界面,打开config.php我们可以看到有下面两行代码
// 默认跳转页面对应的模板文件
'dispatch_success_tmpl' => THINK_PATH . 'tpl' . DS . 'dispatch_jump.tpl', //成功跳转的界面
'dispatch_error_tmpl' => THINK_PATH . 'tpl' . DS . 'dispatch_jump.tpl', //失败跳转的界面
登录后复制
通过上面的代码我们可以看出,不管是成功跳转还是失败跳转,他都是同一个界面,dispatch_jump.tpl,我们通过目录thinkphp\tpl\dispatch_jump.tpl找到这个文件
然后修改文件的代码,下面我贴出关键的信息
<!--根据code来判断显示成功还是失败,1代表成功,0代表失败-->
<?php switch ($code) {?>
<?php case 1:?>
<h1>:)</h1>
<!--这行代码是我自己在static下添加的一张成功的笑脸图片,路径是根据入口文件的位置来定义图片的位置,入口文件和static是同一级目录-->
<img src="/static/xiao.jpg" width="100px" height="100px">
<p><?php echo(strip_tags($msg));?></p>
<?php break;?>
<?php case 0:?>
<h1>:(</h1>
<!--这行代码是我自己在static下添加的一张失败的哭脸图片,路径是根据入口文件的位置来定义图片的位置,入口文件和static是同一级目录-->
<img src="/static/ku.jpg" width="100px" height="100px">
<p><?php echo(strip_tags($msg));?></p>
<?php break;?>
<?php } ?>
登录后复制
2.修改配置文件,修改为自己写的界面,我们在thinkphp\tpl目录下新建两个文件,一个success.tpl和一个error.tpl文件,修改config.php下面的配置代码
//原来指定的路径
// 默认跳转页面对应的模板文件
'dispatch_success_tmpl' => THINK_PATH . 'tpl' . DS . 'dispatch_jump.tpl',
'dispatch_error_tmpl' => THINK_PATH . 'tpl' . DS . 'dispatch_jump.tpl'
//修改为自定义的文件路径
'dispatch_success_tmpl' => THINK_PATH . 'tpl' . DS . 'success.tpl',
'dispatch_error_tmpl' => THINK_PATH . 'tpl' . DS . 'error.tpl'
登录后复制
bootstrap是一个非常优秀的前端框架,里面已经写好很多效果来让我们调用,比如轮播图,导航栏等等,而且优先移动端适配
推荐学习:《thinkPHP视频教程》
以上就是thinkphp怎么跳转当前页的详细内容,更多请关注zzsucai.com其它相关文章!