laravel - 我有一个学生表,里面有一些数据。我只使用两个字段作为登录电子邮件 ID 和密码。拉拉维尔
问题描述
Route::get('/','StudentController@studentlogin')->name('index');
这是登录请求..我可以成功登录
public function login(Request $request){
$email=$request->email;
$password=$request->password;
$students=Student::where('email','=',$email)
->where('password','=',$password)
->first();
if($students){
// Session::put('email',$request->email);
// Session::put('id',$request->id);
return redirect()->route('student.dashboard');
}
else{
Session()->flash('success','Invalid Email & and password');
return redirect()->route('index');
}
}
这里没有问题。但是反应了我用来登录的单行数据(电子邮件和密码)。我怎样才能得到这个?不同页面上只有单行数据..请帮助我。
我想对此页面上的单列数据进行反应,此页面路由是
Route::get('/sudent/view','StudentController@studentview')->name('student.view');
解决方案
首先,请不要将密码作为纯文本存储在数据库中。这是一个巨大的安全问题。您应该首先对密码进行哈希处理并存储该哈希值。然后,当用户尝试登录时,您应该对他们提供的密码进行哈希处理,并与数据库中已有的密码进行比较。有关更多信息,请查看此处的身份验证文档。
您应该使用 Student 视图实现我认为您想要的方式是使用Route Parameters。这些允许您在路由中拥有用户的 ID 并在控制器中访问它。
您的路线应如下所示:
Route::get('/student/{student}', 'StudentController@studentview')->name('student.view');
路径的{student}部分应替换为您在访问该站点时要查看的学生的实际 ID。
然后你的控制器,视图方法应该是这样的:
public function studentview(Student $student) {
// Your code here
}
该方法利用 Laravel 的服务容器根据路由参数中的 ID 自动注入正确的学生。这在此处进一步解释
推荐阅读
- file - symfony 中的 Make:migration 命令运行了很长时间而没有工作
- google-analytics - Google Analytics API 如何通过电子邮件获取 accountId
- bash - 逐个运行目录中的每个 bin
- c# - 如何将 .dll 文件复制到 docker 映像中?
- tags - 如何在运行 Azure 管道时使用标记在提交时获取 git 分支?
- c++ - Boost Log File Rotation 未按预期工作
- python - Python 解析字典
- php - Cookie 生成错误:不要设置 [PHP]
- javascript - 有什么简单的方法可以在 REACT 的“表单”中包含文件并将其发送回 Express NodeJs?
- visual-studio - ssh keys authentication for TFVC