<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                # 優化前端 雖然現在已經可以正常登錄,但是登錄之后的頁面仍然有注冊按鈕,未登錄的頁面沒有登錄按鈕,我們要對前端頁面進行一些優化. `resources\views\_layout\header.blade.php`: ~~~~ html ~<a class="btn btn-outline-success my-2 my-sm-0" href="{{ url('user/auth/create') }}">注冊</a>~ @if(session('user')) <a class="btn btn-outline-success my-2 my-sm-0" href="{{ url('user/auth/read', ['id' => session('user.id')]) }}"> {{ session('user.name') }} </a> @else if <a class="btn btn-outline-success my-2 my-sm-0" href="{{ url('user/auth/create') }}">注冊</a> <a class="btn btn-outline-success my-2 my-sm-0" href="{{ url('user/session/create') }}">登錄</a> @endif ~~~~ 基本的登錄之后的前端提示已經完成. ## 自動登錄 非常簡單的,和前一章一樣,我們只用在注冊跳轉的地方添加 `session` 即可. `application\user\controller\Auth.php`: ~~~~ php public function save(Request $request) { $requestData = $request->post(); $result = $this->validate($requestData, 'app\user\validate\Auth'); if (true !== $result) { return redirect('user/auth/create')->with('validate',$result); } else { $user = User::create($requestData); +Session::set('user', $user);+ return redirect('user/auth/read')->params(['id' => $user->id]); } } ~~~~ 現在再訪問 `http://thinkphp.test/user/auth/create.html` 進行一遍注冊,則會自動登錄并跳轉至 `http://thinkphp.test/user/auth/read/id/2.html`. 可是如果我們訪問 `http://thinkphp.test/user/session/create.html` 仍然會出現登錄的頁面,所以也需要在 `Session` 控制器中進行判斷. `application\user\controller\Auth.php`: ~~~~ php public function create() { if (Session::has('user')) { $user = Session::get('user'); return redirect('user/auth/read')->params(['id' => $user->id]); } else { $token = $this->request->token('__token__', 'sha1'); $this->assign('token', $token); return $this->fetch(); } } ~~~~ `application\user\controller\Session.php`: ~~~~ php public function create() { if (Session::has('user')) { $user = Session::get('user'); return redirect('user/auth/read')->params(['id' => $user->id]); } else { $token = $this->request->token('__token__', 'sha1'); $this->assign('token', $token); return $this->fetch(); } } ~~~~ 可以發現,如果不使用中間件,而是手動進行攔截的話,我們需要在每個控制器的每個方法上都寫入 `if (Session::has('user'))`,這樣的工程實在太繁瑣了,到了后期也非常難以維護.
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看