官术网_书友最值得收藏!

  • ThinkPHP實戰
  • 夏磊
  • 330字
  • 2020-11-28 18:26:55

4.9 HTTP請求方法

很多情況下,需要判斷當前HTTP請求方法是否為GET、POST、PUT或DELETE,以此對同一個URL地址針對不同的請求方法來實現不同的響應。ThinkPHP內置了一些常量用來判斷請求方法,如表4-1所示。

表4-1

編輯Application/Home/Controller/IndexController.class.php方法,代碼如下:

        <? php
        namespace Home\Controller;
        use Think\Controller;
        class IndexController extends Controller
        {
        public function index()
        {
            $this->redirect('login', 'role=admin', 3, ’請登錄’);
        }
        public function bind($id = 1)
        {
            echo U('Blog/view', array('id' => 1), 'shtml');
        }
        public function login()
        {
            if (IS_POST)
            {
                echo ’當前為POST請求方法,需要處理登錄邏輯’;
            }
            else if (IS_GET)
            {
                echo ’當前為空GET請求方法,需要顯示登錄頁面’;
            }
            else
            {
                echo ’非法請求’;
            }
        }
        }

打開瀏覽器訪問http://localhost/chapter-4/Home/Index/login,輸出“當前為空GET請求方法,需要顯示登錄頁面”。

如何測試POST請求呢?這里使用表單來進行處理,在chapter-4的根目錄下新建post.html,代碼如下:

        <! DOCTYPE html>
        <html lang="en">
        <head>
        <meta charset="UTF-8">
        <title>Post</title>
        </head>
        <body>
        <form action="http://localhost/thinkphp-inaction/chapter-4/Home/Index/login" method="post">
        <button>提交</button>
        </form>
        </body>
        </html>

打開瀏覽器訪問http://localhost/chapter-4/post.html,點擊“提交”按鈕,輸出“當前為POST請求方法,需要處理登錄邏輯”,如此便實現了“相同URL根據不同請求方法實現不同響應”的功能。

主站蜘蛛池模板: 大埔县| 南川市| 道孚县| 蚌埠市| 安阳县| 襄樊市| 新野县| 蓬莱市| 阿鲁科尔沁旗| 错那县| 上思县| 凤台县| 固镇县| 泉州市| 石棉县| 盱眙县| 方城县| 偃师市| 兴安盟| 牟定县| 和田县| 义马市| 大理市| 隆尧县| 浦城县| 昌吉市| 隆昌县| 定兴县| 嵊州市| 东兰县| 黑河市| 阳谷县| 雷波县| 昂仁县| 肃南| 阜宁县| 永新县| 梁山县| 灌南县| 铁力市| 宁波市|