ThinkPHP est un framework de développement PHP open source qui fournit une prise en charge puissante des modèles MVC, permettant aux développeurs de développer rapidement des applications Web robustes. Lors du développement d'applications Web, des sauts de page sont souvent nécessaires. Par exemple, une fois qu'un utilisateur s'est connecté avec succès, il doit accéder à l'interface utilisateur. Cet article explique comment utiliser ThinkPHP pour accéder aux pages et encapsuler une fonction de saut de page.
1. Utilisez ThinkPHP pour les sauts de page
ThinkPHP fournit deux fonctions intégrées pour les sauts de page :
la fonction redirect() est utilisée pour accéder à l'adresse URL spécifiée. Sa syntaxe est la suivante :
redirect('url', '参数', '状态码')->send();
Où :
Par exemple, pour accéder à la page http://www.example.com/user/index, le code est le suivant :
redirect('http://www.example.com/user/index')->send();
success() et Fonctions error() Utilisées pour afficher un message d'invite lorsque la page saute. Les informations d'invite de réussite utilisent la fonction success() et les informations d'invite d'échec utilisent la fonction error(). Leur syntaxe est la suivante :
success('提示信息', '跳转URL', '等待时间')->send(); error('提示信息', '跳转URL', '等待时间')->send();
Parmi eux :
Par exemple, pour afficher un message de réussite et accéder à la page http://www.example.com/user/index, le code est le suivant :
success('登录成功', 'http://www.example.com/user/index')->send();
2. Encapsulez la fonction de saut de page
Dans l'ordre pour faciliter la réutilisation, nous pouvons encapsuler les sauts de page. Ce qui suit est un simple code de fonction de page de saut :
/** * 跳转页函数 * * @param string $url 要跳转的URL地址 * @param string $message 信息提示 * @param int $waitTime 等待时间 * @return void */ function jump($url, $message = '', $waitTime = 1) { if (empty($url)) { exit('错误:未指定跳转URL地址!'); } if (!empty($message)) { $message = htmlspecialchars($message); } if ($waitTime == 0) { header("Location: {$url}"); exit; } $css = <<<EOF <style type="text/css"> .jump { text-align:center; padding-top:5%; font-family: 'Microsoft Yahei', Verdana, Arial; font-size:16px; } .jump h3 { font-size:24px; font-weight:bold; } </style> EOF; $html = <<<EOF <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>跳转提示</title> {$css} </head> <body> <div class="jump"> <h3>跳转提示</h3> <p>{$message}</p> <p>等待时间:<span id="wait_time">{$waitTime}</span>秒</p> <p><a href="{$url}">立即跳转</a></p> </div> <script type="text/javascript"> var wait_time = {$waitTime}; var interval = setInterval(function(){ if(wait_time > 0) { wait_time--; document.getElementById('wait_time').innerHTML = wait_time; } else { clearInterval(interval); window.location.href = '{$url}'; } }, 1000); </script> </body> </html> EOF; echo $html; }
En utilisant la fonction d'encapsulation ci-dessus, vous pouvez implémenter le code suivant dans le contrôleur :
public function login() { if($this->request->post()){ $data = $this->request->post(); // 验证码验证 $user = UserModel::where('username', $data['username'])->find(); if(!$user || $user->password != $data['password']){ jump(url('login/index'), '用户名或密码错误', 3); } else { jump(url('user/index'), '登录成功', 3); } } return $this->fetch(); }
Ce qui précède est un didacticiel sur l'utilisation de ThinkPHP pour accéder à la page et encapsuler la page de saut. fonction. Utilisez les fonctions wrapper pour les réutiliser facilement dans différents contrôleurs.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!