我開發一個網站使用CodeIgniter 2.1.3笨HMVC和ion_auth與給ajaxForm
我使用HMVC創建ion_auth模塊。
我想分開我的前端和後端登錄系統。
我創建ion_auth兩個模塊: 應用/模塊/ AUTH - 爲對前端 應用/模塊/管理 - 針對後端
兩者有相同的文件,除了管理員AUTH控制器被調用不同登錄視圖。
我的主頁視圖調用這樣登錄視圖:
echo Module::run('auth/login');
兩個AUTH控制器延伸Frontend_controller延伸MY_Controller。 MY_Controller在application/core中,它擴展了MX_Controller。
爲前端的登錄視圖是使用給ajaxForm提交表單:
<div id="login_form">
<?php
$attr = array('class'=>'form-inline', 'id'=>'loginForm');
$send = array('class'=>'btn btn-inverse', 'name'=>'signin', 'value'=>'Sign In');
echo form_open(site_url('auth/login', $attr));
?>
<div >
<img src="<?php echo site_url('assets/img/login.gif'); ?>" alt="Login" />
</div>
<div left; font-size:11px; font-weight:bold;padding-top:25px;margin-right:45px">LOGIN</div>
<div left">
<?php echo form_label('Cellphone', 'cellphone', array('class'=>'login-label')); ?>
</div>
<div class="span2" padding-top:10px"><?php echo form_input('identity', set_value('identity', ''), 'placeholder="cellphone no" class="span2 phone" id="cellphone"'); ?></div>
<div left; margin-left:10px"><?php echo form_label('Password', 'password', array('class'=>'login-label')); ?></div>
<div class="span2" padding-top:10px"><?php echo form_password('password', '', 'placeholder="password" class="span2" id="password"'); ?></div>
<div class="span1" ><?php echo form_submit($send); ?></div>
<input type="hidden" name="submitLogin" value="1" />
<?php echo form_close(); ?>
<div class="clearfix"></div>
</div>
<script>
$(function()
{
var options = {
target: '#login_form',
success: showResponse // post-submit callback
};
$('#loginForm').ajaxForm(options);
// post-submit callback
function showResponse(responseText, statusText, xhr, $form) {
alert('status: ' + statusText + '\n\nresponseText: \n' + responseText +
'\n\nThe output div should have already been updated with the responseText.');
}
});
</script>
我有幾個問題:
問題之一:i。通過HMVC文檔讀取並添加這些行到MY_Controller文件:
$this->load->library('form_validation');
$this->form_validation->CI =& $this;
我創建一個MY_Form_validation文件:應用程序/庫:
class My_Form_validation extends CI_Form_validation()
{
public $CI;
}
這樣做,當我去到我的主頁後,我得到這個錯誤: 無法訪問受保護的財產CI_Form_validation :: $ CI在C:\網站\ TL \程序\核心\上線MY_Controller.php 12
問題二:如果我不做這些表單驗證更改並嘗試在主頁上提交登錄表單,它會在新頁面中再次打開登錄視圖,而不會出現錯誤。它看起來像它不使用jquery提交表格
請問,有人可以幫助嗎?
我現在正努力工作好幾天才能擁有此登錄系統。
它看起來像問題是登錄表單不通過jQuery ajaxForm調用提交,但我不知道爲什麼。 –