如何解决此 Codeigniter-4 登录控制器问题?
Posted
技术标签:
【中文标题】如何解决此 Codeigniter-4 登录控制器问题?【英文标题】:how do I fix this Codeigniter-4 login controller issue? 【发布时间】:2020-06-02 06:03:51 【问题描述】:我正在尝试在 Codeigniter-4 中创建基于电话和密码的登录,我已经创建了表单,这是我的控制器
public function auth()
$model = new LoginModel();
$user_phone = $this->request->getVar('user_phone');
$password = $this->request->getVar('password');
$result = $model->where("user_phone", "$user_phone");
if($result->numRows === 1)
$user = $result->row_array();
if($this->password->verify_hash($password, $user['password']))
unset($user['password']);
return $user;
else
echo ('login');
else
echo ('login');
这是我的模特
class LoginModel extends Model
protected $table = 'users';
protected $allowedFields = ['username', 'password', 'user_phone'];
这是我的看法
<?php
$req_c = $member["username"];
?>
<div class="app-body__item-content padded">
<div class="panel-body"><?= $req_c ?></div>
?>
</div>
<?php endforeach; ?>
<?php endif; ?>
但它没有在视图中返回用户详细信息
【问题讨论】:
对于初学者,您还没有显示调用视图的位置。因此,如果您需要任何帮助,至少需要这样做。 您仍然没有显示您调用视图的位置。您的查看代码不完整,您正在使用 foreach ???在哪里???它不在视图中。 【参考方案1】:我认为因为您在这里使用双引号,它会将您的 $user_phone 变量作为字符串
$result = $model->where("user_phone", "$user_phone");
应该是这样的
$result = $model->where("user_phone", $user_phone);
或者这个
$result = $model->where(["user_phone"=> $user_phone]);
【讨论】:
以上是关于如何解决此 Codeigniter-4 登录控制器问题?的主要内容,如果未能解决你的问题,请参考以下文章
没有登录会话,任何人都无法访问 codeigniter 4 中的控制器
有啥好主意吗? Codeigniter 4,如何制作:View上没有请求,只有Controller上?
带有 Angular 的 Codeigniter 4 API:“http://localhost:4200”已被 CORS 策略阻止