CodeIgniter лучший метод? - PullRequest
       4

CodeIgniter лучший метод?

0 голосов
/ 17 ноября 2010

Я новичок в Code Igniter.

Я хочу переписать нашу текущую систему для использования воспламенителя кода.

Мой текущий вопрос:

Япередача формы авторизации.В настоящее время у нас есть страница, которая получает запрос ajax, проверяет данные и возвращает статус при отправке формы.

Как мне поступить в Code Igniter?Мои мысли состоят в том, чтобы создать контроллер, который получает запрос.

Но,

Контроллер не должен выдавать никакого ответа.

Значит ли это, что я должен создать представлениепросто выплюнуть пару строк json?

Ответы [ 3 ]

1 голос
/ 04 июля 2012

Code Igniter имеет входной класс и класс проверки формы.Они оба имеют методы, которые полезны для обработки ввода формы:

Я бы создал контроллер учетной записи сметод входаМетод login использует ранее упомянутые классы для обработки форм, а затем вызывает вашу модель для выполнения запроса к БД.

Я не думаю, что наличие контроллера ajax было бы для вас очень полезным.Скорее всего, вы будете использовать ajax во всех ваших контроллерах.Если вы хотите подумать об оптимизации ваших контроллеров для ajax, я бы разбил все «движущиеся части» на небольшие, слабо связанные задачи.Поскольку запросы ajax не перезагружают всю страницу, это облегчает запуск только требуемой логики.

На внешнем интерфейсе полезно использовать макеты на основе шаблонов.Таким образом, единственное, что вы отправляете на выход - это обновление части.Класс синтаксического анализатора Code Igniter также помогает с шаблонами.

1 голос
/ 17 ноября 2010

Конечно. Вы могли бы даже сделать это универсальным представлением, которое может выдавать любой JSON-файл, который вы хотите, а затем передать объекту значение json_encode d для представления. Таким образом, вы можете повторно использовать то же представление для других контроллеров, которые также обрабатывают запросы AJAX.

0 голосов
/ 10 апреля 2013

Вот пример того, как вы могли бы сделать вход в систему. Это с одного из моих сайтов. Буду также признателен за отзывы других, если вы увидите лучшие практики, которые мне не хватает

VIEW

if (isset($message)) {echo $message;} //error message

echo form_open('login/validate_credentials', 'class="form-container"');
echo form_input('username', 'Username',  'class="form-field"');
echo form_password('password', 'Password',  'class="form-field"');
echo form_submit('submit', 'Login');
echo anchor('login/signup', 'Need an account? Enroll now!');
echo form_close();

CONTROLLER

function validate_credentials()
    {       
    $this->load->model('usermodel');
    $query = $this->usermodel->validateUser();

    if($query) // if the user's credentials validated...
    {
        $data = array(
            'username' => $this->input->post('username'),
            'is_logged_in' => true,
            'bt_link' => $this->usermodel->getBTlink($this->input->post('username')), 
        );

        $this->session->set_userdata($data); //store in session

        $this->load->view('membership'); //logged in
    }
    else // incorrect username or password
    {
        $data['message'] = "Invalid credentials";
        $data['header_type'] = 'header';
        $data['main_content'] = 'login_form';
        $this->load->view('template', $data);
    }
}   

Вот отличное руководство по CI

http://net.tutsplus.com/sessions/codeigniter-from-scratch

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...