![](/img/trans.png)
[英](re-arrange)Codeigniter. Where/How should I write the login method if it's on sidebar
[英]Codeigniter. Where/How should I write the login method if it's on the footer
初學者問題抱歉:我有具有頁眉,導航欄,內容,邊欄和頁腳的模板。 但是我的登錄框位於邊欄上,而我的視圖文件“ 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 footer
}
public function register()
{
$this->load->view('header');
$this->load->view('register_content'); // so this has a content
//// 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' value='Log in'>
</li>
</ul>
</form>
當用戶輸入錯誤的密碼時,我希望網站與錯誤消息顯示在同一頁面上,並且“內容視圖”仍然相同。
例如,在您的登錄控制器中:
public function login() {
// Do your logic... Don't load any views or anything
if ($error) {
$this->session->set_flashdata('login_error', TRUE);
}
// Load the user agent library
$this->load->library('user_agent');
// Load the url help
$this->load->helper('url');
// Then redirect to the previous page. You can add more security and check if the previous page is not empty and is from your website.
redirect($this->agent->referrer());
}
然后在標題視圖中:
<?php if ($this->session->flashdata('login_error')): ?>
<div class="error">Something went wrong ! Check your username / password.</div>
<?php endif;?>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.