簡體   English   中英

(重新安排)Codeigniter。 如果在側邊欄上,應該在哪里/如何編寫登錄方法

[英](re-arrange)Codeigniter. Where/How should I write the login method if it's on sidebar

初學者問題對不起:我有模板(只是從頭開始構建它,所以它是html css的簡單模板),它具有標題,導航欄,內容,側邊欄和頁腳。 但是我的登錄框位於邊欄上,而我的視圖文件“ footer.php”由邊欄和頁腳組成。 (所以我的登錄框位於footer.php上)我的控制器,每個方法都將導入header.php視圖,somemodule.php(內容)視圖和footer.php視圖。

問題是當我編寫登錄方法時,它沒有內容視圖,因為loginbox已在頁腳中。 不需要somemodule.php(content)視圖。 (我的登錄表單將數據發布到控制器登錄方法)

這是我的控制器

 public function login()
{
    $this->load->view('header');

    /// login and validation  algorithm here////
    /// not have $this->load->view('some content') ///

    $this->load->view('footer');  ////my loginform is in footer

}
 public function register()
{
   $this->load->view('header');
   $this->load->view('register_content');   // See? the other methods have a content view
   //// algorithm and validation here /////
   $this->load->view('footer');
}

這是我在頁腳視圖中的表單

<?php echo form_open('member/login');?>  //post data to method login controller
                    <h2> Login </h2>
                    <ul id='login'>
                        <li>
                            Username:<br>
                            <input type='text' name='username'>
                        </li>
                        <li>
                            Password:<br>
                            <input type='password' name='password'>
                        </li>
                        <br>
                        <li>
                            <input type='submit' name='btn' value='Log in'>
                        </li>
                    </ul>   
                </form>

當用戶輸入錯誤的密碼時,我希望網站與錯誤消息顯示在同一頁面上,並且“內容視圖”仍然相同。

還是應該在“模型”文件夾中編寫算法並將其導入控制器? 但由於所有頁面都有頁腳(loginbox),因此必須將該登錄模型導入控制器的所有方法。

使用ajax,使用ajax發布請求,並以登錄方式以json格式發送響應並進行處理。

`if ($this->input->server('REQUEST_METHOD') === 'POST') {
    // Validate Login
         return "{'status':'fail','msg':'invalid ID/Password'}";
    }`

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM