• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

thinkphp怎么跳转当前页

武飞扬头像
PHP中文网
帮助60

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="https://www.swvq.com/static/xiao.jpg"   height="100px">
            <p><?php echo(strip_tags($msg));?></p>
            <?php break;?>
            <?php case 0:?>
            <h1>:(</h1>
            <!--这行代码是我自己在static下添加的一张失败的哭脸图片,路径是根据入口文件的位置来定义图片的位置,入口文件和static是同一级目录-->
            <img src="https://www.swvq.com/static/ku.jpg"   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是一个非常优秀的前端框架,里面已经写好很多效果来让我们调用,比如轮播图,导航栏等等,而且优先移动端适配

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanfchba
系列文章
更多 icon
同类精品
更多 icon
继续加载