thinkphp が異なる Action クラスの異なる関数間で値を転送する方法
ログイン ページを作成するために ThinkPHP を使用します。
ログイン ページは、フォームを action="__APP__/Index/login_do" に送信し、それを作成しました。 IndexAction クラスの login_do 関数:
public function login_do()
{
if($_SESSION['verify'] != md5($_POST['userauthcode']))
{
$this- >error('認証コードエラー!');
}
$username=$_POST['username'];
$password=$_POST['password'];
$password= md5($password);
$user=M('user');
$res=$user->where("user_name='$username' && パスワード=' $password'" )->find();
if($res)
{
redirect('../Home/home',1,"
ログインに成功しました! ページがジャンプしています...
");
}
else
{
$this->error('Login failed!');
}
}
次は HomeAction クラスです。
class HomeAction は Action
{
public function home()
{
$this->display();
}
}
..../Tpl/Home/home.html はホームページです。
ここで質問は次のとおりです。ホームページ名にユーザーを表示したいのですが、ユーザー名の値を home.html に転送して表示するにはどうすればよいですか? 専門家にアドバイスをいただければ幸いです。
--- ---解決策---- ----------------
ログインするときに、セッションを保存し、ホーム コントローラーで $name=Session :: get ( 'name' ) を使用してユーザー名
を取得し、次に $this->assign('name', $name);
テンプレートを出力し、最後にテンプレート ページ {$name}
で速度のポイントを与えます
------解決策---------#1 で説明したように、__URL__/ に
上位の対応するメソッド内