Создание формы входа в CodeIgniter на основе библиотеки Ion Auth
Я все еще учусь в CodeIgniter.
Я хотел бы создать форму входа в систему в своем приложении codeigniter на основе библиотеки Ion Auth.
Я установил библиотеку, следуя инструкции, и она прекрасно работает при переходе к auth/login, auth / create_user, auth/logout и т.д...
Тем не менее, мне не нужна отдельная страница для входа в систему, я хотел бы вставить форму на мою домашнюю страницу. Когда я использую пример входа в систему на своей домашней странице, я получаю следующие ошибки:
- Сообщение: неопределенная переменная: сообщение
- Сообщение: неопределенная переменная: идентификатор
- Сообщение: неопределенная переменная: пароль
Я понимаю, что вышеупомянутые переменные не определены на мой взгляд, я просто не могу понять, где и как они должны быть определены и почему они работают нормально в предоставленном примере, который поставляется с библиотекой?
3 ответа
конфиг /routes.php
$route['login/check'] = 'auth/my_front_end_login';
Посмотреть
<?php echo form_open('login/check'); ?>
<fieldset>
<legend>login Credentials<legend>
<label for="identity">∗ Identity</label>
<input type="text" name="identity" id="identity" value="<?php echo set_value('identity');?>" />
<?php echo form_error('identity');?>
<label for="password">∗ Password</label>
<input type="password" name="password" id="password" value="<?php echo set_value('password');?>" />
<?php echo form_error('password');?>
<label for="message">∗ 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();?>
Контроллеры / аутентификации
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();
}
}
Загружаете ли вы нужные библиотеки в контроллере, связанном с представлением, куда вы хотите встроить форму входа, например, "form_validation", если вы используете, например, form_input($message), ... в любом случае вы можете избежать этого, проверив, если $var is_set,
<?php echo form_open('login/check'); ?>
<fieldset>
<legend>login Credentials<legend>
<label for="identity">∗ Identity</label>
<input type="text" name="identity" id="identity" value="<?php echo set_value('identity');?>" />
<?php echo form_error('identity');?>
<label for="password">∗ Password</label>
<input type="password" name="password" id="password" value="<?php echo set_value('password');?>" />
<?php echo form_error('password');?>
<label for="message">∗ 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();?>