Я занимаюсь разработкой сайта с Codeigniter 2.1.3Codeigniter HMVC и ion_auth с ajaxForm
Я использую HMVC для создания ion_auth модулей.
Я пытаюсь отделить мою систему входа в систему и бэкэнд.
Я создал два модуля для ion_auth: приложения/модули/Авт - для внешнего интерфейса приложений/модулей/администратора - для внутреннего интерфейса
Оба имеют одни и те же файлы, за исключением контроллера администратора Идента звонит другие вид входа в систему.
Мое мнение Главная вызывает вид входа в систему, как это:
echo Module::run('auth/login');
Оба контроллера аутентификации продлить Frontend_controller, который проходит MY_Controller. MY_Controller находится в приложении/ядре, и он расширяет 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>
У меня есть несколько проблем:
Проблема одна: я читал через документацию 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: \ сайтов \ ТЛ \ приложения \ ядро \ MY_Controller.php на линии 12
Проблема 2. Если я не делаю эти изменения проверки формы и не пытаюсь отправить форму регистрации на главной странице, она снова открывает окно входа в систему на новой странице без ошибок. Похоже, что он не использует jquery для отправки формы
Пожалуйста, помогите с этим?
Я боюсь в течение нескольких дней, чтобы эта система входа в систему работала.
Похоже, проблема заключается в том, что форма входа не отправляется через вызов jQuery ajaxForm, но я не знаю почему. –