Как получить значение модели для контроллера?

Я использую codeigniter 3.1.

Я хочу передать опубликованные данные через модель, но чтобы пройти логин, мне нужно получить значение модели для контроллера?

<? php if ( ! defined ( 'BASEPATH' )) exit ( «Разрешен прямой доступ к скрипту» ); class Login extends CI_Controller { public function __construct () { parent :: __construct (); $ this -> load -> model ( "user_login" ); } public function index () { $ post = $ this -> input -> post ( «post» , true ); if ( $ this -> user_login -> check ( $ post )) { if ( $ this -> user_login -> logins == "pass" ) { echo "valid" ; } else { echo "Invalid" ; } } } } ?>

контроллер

<?php

class User_Login extends CI_Model 
{
    var $logins=false;

    public function check($post) 
    {
        $results = $this->db->where('username', $post)
                            ->get('users');

        if($results->num_rows() > 0){
            $this->logins = "pass";
        } else {
            $this->logins = "fail";
        }
    }
}
?>

Модель

$logins=false;

php,mysql,codeigniter,codeigniter-3,

0

Ответов: 2


1 принят

1) Сначала, если вы хотите использовать любую общедоступную переменную, не нужно использовать var с ней. Просто пишиreturn "pass"

2) Затем вам нужно что-то из вашей модели для проверки этого типа вещей. Как return "fail"или$return_value = $this->user_login->check($post)

3) После этого, когда вы проверяете его с контроллера, вы можете сохранить эти возвращаемые данные в переменную, подобную этой . Наконец, это может быть как ниже код - if ($return_value) { if ($return_value == "pass") { echo "valid"; } else { echo "Invalid"; } }

class Login extends CI_Controller 
{
    public function __construct() 
    {
        parent::__construct();
        $this->load->model("user_login");
    }

    public function index()
    {

       $post = $this->input->post("post", true);

       if ($this->user_login->check($post)==true) {
          echo "valid";
       }
       else{
          echo "invalid";
       }
   }
} 
?>

2

контроллер

 <?php

 class User_Login extends CI_Model 
 {
    var $logins=false;

    public function check($post) 
    {
       $results = $this->db->where('username', $post)
                        ->get('users');

       if($results->num_rows() > 0){
          return true;
      } else {
          return false;
      }
   }
 }
?>

модальный

php, mysql, codeigniter, codeigniter-3,
Похожие вопросы