我试图通过控制器类中的函数传递数组,并从模型内的类中的另一个函数检索它,但无法检索值 . 请指教 .
代码如下 .
控制器类代码
class home extends CI_Controller {
function __construct() {
parent::__construct();
$this->load->helper('url');
}
function index() {
$this->load->view('loginview');
}
function login() {
$parameters = array(
'$uname' => $this->input->post('uname'),
'$passwords' => $this->input->post('password')
);
$this->load->model('loginModel');
$validate = $this->loginModel->validateuser($parameters);
if(count($validate)== 1){
echo "Logged in";
}
else
{
//redirect('home/index');
echo "dasad";
}
}
}
模型类代码
class loginModel extends CI_Model {
function __construct() {
parent::__construct();
}
public function validateuser($parameters) {
$uname = $parameters['uname'];
$pass = sha1($mem['pass']);
$query = $this->db->query("select * from user where username = '$uname' and password = '$pass'");
$result = $query->result_array();
return $result;
}
}
变量$ uname和$ pass是查询数据库所需的两个值 . 请帮忙
3 回答
您的代码中存在错误 . 正确的控制器login()方法:
和模型loginModel()方法:
数组键字符串在模型和控制器类中是不同的 . 以下是可能的修复方法 .
在Controller中使用此:
其次在你的模型中 . 用它来获取参数 .
希望能帮助到你 .
我看到你的答案已经修复但我只想给你一个替代方法 . 它更安全,更短:
控制器:
模型: