<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>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                # 退出會話 退出會話的原理也非常簡單,我們在前面檢驗是否登錄都是通過 `Session` 來判斷,現在只需要刪除對應的 `Session` 就大功告成了. 首先修改前端,添加一個退出的按鈕 `resources\views\_layout\header.blade.php`: ~~~~ html ~ <a class="btn btn-outline-success my-2 my-sm-0" href="{{ url('user/auth/read', ['id' => session('user.id')]) }}"> {{ session('user.name') }} </a> ~ @if(session('user')) <div class="dropdown"> <button class="btn btn-secondary dropdown-toggle" type="button" id="dropdownMenuButton" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> {{ session('user.name') }} </button> <div class="dropdown-menu" aria-labelledby="dropdownMenuButton"> <a class="dropdown-item" href="{{ url('user/auth/read', ['id' => session('user.id')]) }}">個人主頁</a> <a class="dropdown-item"> <form action="{{ url('user/session/delete', ['id' => session('user.id')]) }}" method="POST"> <input type="hidden" name="__token__" value="{{ $token }}" /> <button class="btn btn-block" type="submit" name="button">退出</button> </form> </a> </div> </div> @else <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 ~~~~ 此時再刷新頁面,會提示 `token` 未定義,我們需要為 `read` 方法添加 `token` `application\user\controller\Auth.php`: ~~~~ php public function read($id) { if (Session::has('user')) { $user = User::find($id); $token = $this->request->token('__token__', 'sha1'); $this->assign([ 'user' => $user, 'token' => $token ]); return $this->fetch(); } else { return redirect('user/session/create')->with('validate','請先登錄'); } } ~~~~ 現在再次刷新前端頁面,可以正常輸出了. 在前端的 `退出` 按鈕里,我們創建了一個 `DELETE` 方法的表單,現在需要實現退出功能. `application\user\controller\Session.php`: ~~~~ php public function delete($id) { if (SessionFacade::has('user') && $id === SessionFacade::get('user.id')) { SessionFacade::delete('user'); return redirect('user/session/create')->with('validate','您已退出'); } else { return '非法請求'; } } ~~~~ 刪除 `Session` 并重定向到登錄頁面,退出功能已經完成.
                  <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>

                              哎呀哎呀视频在线观看