2012-03-11 41 views
3

我仍然在CodeIgniter中學習。在基於Ion Auth庫的CodeIgniter中創建登錄表單

我想根據Ion Auth library在我的codeigniter應用程序中創建一個登錄表單。

我已經安裝了指令之後的庫並導航到認證/註冊,認證/ create_user,AUTH /註銷,等等

然而,當它工作得很好,我不需要一個獨立的頁面爲了登錄,我想將表格嵌入我的主頁。當我使用的樣品提供的登錄視圖在我的主頁,我得到以下錯誤:

  • 消息:未定義的變量:消息
  • 消息:未定義的變量:身份
  • 消息:未定義的變量:密碼

我意識到上述變量沒有在我的視圖中定義,我只是無法弄清楚它們應該在哪裏以及如何定義,以及爲什麼它們在隨庫提供的示例中正常工作?

回答

0

配置/ routes.php文件

$route['login/check'] = 'auth/my_front_end_login'; 

視圖

<?php echo form_open('login/check'); ?> 

<fieldset> 
    <legend>login Credentials<legend> 

    <label for="identity">&lowast; Identity</label> 
    <input type="text" name="identity" id="identity" value="<?php echo set_value('identity');?>" /> 
    <?php echo form_error('identity');?> 

    <label for="password">&lowast; Password</label> 
    <input type="password" name="password" id="password" value="<?php echo set_value('password');?>" /> 
    <?php echo form_error('password');?> 

    <label for="message">&lowast; Message</label> 
    <input type="text" name="message" id="message" value="<?php echo set_value('message');?>" /> 
    <?php echo form_error('message');?> 
</fieldset> 

<?php echo form_close();?> 

控制器/ AUTH

public function my_front_end_login(){ 
    if($this->form_validation->run('login_frontend')) // uses config/form_validation.php 
    { 
     //validation passed, now attempt login via ION_AUTH 
     //open ION_Auth library file and see what the login method requests in its params. 
     if(ION_Auth::login($params)) // Im not familiar with it 
     { 
     //login success 
     } 
     else 
     { 
     //login failure 
     } 
    } 
    else 
    { 
     $this->index(); 
    } 
} 
+0

謝謝,這個作品。但是,我仍然不知道爲什麼樣本視圖不會抱怨這些變量,但我的觀點確實如此。經過多一點調查,看起來像ci_vars(包含這些變量:消息,身份,...)加載在示例視圖中,但不是它我的看法。感謝你的寶貴時間。 – farjam 2012-03-12 02:00:22

+0

正如我所說我不熟悉ION_Auth,但問題可能是在表單驗證失敗的指示方式,在上述情況下,我只需調用$ this-> index()方法。因此,set_value()vars在該範圍內可用。即:主頁 – Philip 2012-03-12 02:12:20

0

你是否加載了需要的適當的庫,在控制器相關的視圖中你想嵌入登錄表單,例如「form_validation」,如果你使用form_input($ message)例如......無論如何,你可以通過檢查如果$ var is_set。

+0

form_validation在我的構造函數中加載。我可以使用isset來避免這些錯誤,我只是好奇爲什麼表單在提供的示例視圖中工作正常,但不是在我自己的視圖中。 – farjam 2012-03-12 01:19:05

0
<?php echo form_open('login/check'); ?> 

<fieldset> 
    <legend>login Credentials<legend> 

    <label for="identity">&lowast; Identity</label> 
    <input type="text" name="identity" id="identity" value="<?php echo set_value('identity');?>" /> 
    <?php echo form_error('identity');?> 

    <label for="password">&lowast; Password</label> 
    <input type="password" name="password" id="password" value="<?php echo set_value('password');?>" /> 
    <?php echo form_error('password');?> 

    <label for="message">&lowast; Message</label> 
    <input type="text" name="message" id="message" value="<?php echo set_value('message');?>" /> 
    <?php echo form_error('message');?> 
</fieldset> 

<?php echo form_close();?> 
相關問題