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;//继承Controllerclass 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怎么跳转当前页的详细内容,更多请关注php中文网其它相关文章!

推荐内容