我正在使用codeigniter 3.1。
我想通过模型传递发布的数据,但要通过登录我需要获取控制器的模型值吗?
如何将模型值提供给控制器?
控制器
<?php
if ( ! defined('BASEPATH')) exit('No direct script access allowed');
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";
}
}
}
?>
答案 0 :(得分:2)
控制器
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";
}
}
}
?>
模态
<?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;
}
}
}
?>
答案 1 :(得分:1)
1)首先,如果要使用任何公共变量,则不需要使用var。只需写下$logins=false;
2)接下来,您应该从模型中检查此类事物。与return "pass"
或return "fail"
3)之后当你从控制器检查它时,你可以将这个返回数据保存到这个变量$return_value = $this->user_login->check($post)
。最后,它可能就像下面的代码 -
if ($return_value) {
if ($return_value == "pass") {
echo "valid";
} else {
echo "Invalid";
}
}