передать значение сообщения из представления в контроллер в модель и обратно в контроллер в коде воспламенителя - PullRequest
2 голосов
/ 10 февраля 2011

Я создаю форму входа в систему с Codeigniter, и у меня есть контроллер, который собирает входные данные из формы, затем я хочу проверить, чтобы убедиться, что введенный пользователь находится в базе данных, поэтому я собираю эти значения в посте и хочу отправить их в модель для подключения к базе данных. Затем, если результаты находятся в базе данных, я хочу отправить что-то обратно на контроллер с да или нет, и тогда я могу перейти оттуда. Я немного застрял, но это то, что я до сих пор:

Контроллер:

function do_login()
{
    $login = $this->input->post('Login');
    $pwd = md5($this->input->post('Passwd'));


}

Модель:

function check_login()
{

    $sql = $this->db->query("SELECT * FROM members WHERE loin = '?' AND password = '?'", array(//POST stuff goes in here));
    return $sql->result();

}

Я не уверен, как передать данные в модель, а затем обратно в контроллер.

Любая помощь будет отличной! Спасибо!

Ответы [ 3 ]

1 голос
/ 10 февраля 2011

+ 1 к @bensiu (я пытался найти ответ, но пока не смог)

Также: не забывайте, что вам нужно явно загрузить вашу модель.

Чтение Эта часть руководства пользователя должна ответить на большинство ваших вопросов.

1 голос
/ 10 февраля 2011

В любой форме MVC POST отправляет контроллеру (в свойстве action в форме) и контроллеру (как описано имя) контролирует, что произойдет, в вашем случае следует запросить базу данных для проверки через модель, получить ответ, решить, чтоделать и использовать представление для отображения результатов ...

так в вашем контроллере:

function do_login() {
 $login = $this->input->post('Login');     
 $pwd = md5($this->input->post('Passwd')); 
 $results = $this->...your_model_name...->chek_login( parameters as login and password would help )
 // base on results: has records or has not - do something
 // maybe display view

} 
0 голосов
/ 10 февраля 2011

Я бы добавил 2 параметра к check_login и сделал бы его логическим:

function check_login($user, $password)
{

    $sql = $this->db->query("SELECT * FROM members WHERE loin = '?' AND password = '?'", array($user, $password));
    if (...) 
        return TRUE;
    else
        return FALSE;
}

Make it boolean позволяет полную проверку входа в систему в контроллере, чтобы при наличии других тестов разработчик, использующий модель, не знал их, поэтому он избегал ошибок.

Например, если вы хотите проверить, что в базе данных есть только одна строка и внутренняя переменная, чтобы узнать, разрешен ли вход в систему или нет (просто пример). Будет ли все разработчик читать документацию об этой переменной, которая должна быть проверена перед проверкой логина? Будет ли эта документация написана?

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