У меня в ученической таблице было несколько данных.Я использую только два поля для логина, электронного адреса и пароля.Laravel - PullRequest
0 голосов
/ 26 сентября 2019

enter image description here Маршрут

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');

1 Ответ

0 голосов
/ 27 сентября 2019

Прежде всего, пожалуйста НЕ храните пароли в виде простого текста в базе данных.Это серьезная проблема безопасности.Сначала вы должны хешировать пароль и хранить этот хеш.Затем, когда пользователь пытается войти в систему, вы должны хешировать предоставленный им пароль и сравнить с тем, что уже есть в базе данных.Для получения дополнительной информации см. Документацию Аутентификация здесь .

Способ, которым вы должны реализовать то, что, по моему мнению, вам нужно, в представлении Student, заключается в использовании Параметры маршрута .Это позволяет вам иметь идентификатор пользователя в маршруте и доступ к нему в вашем контроллере.

Ваш маршрут должен выглядеть следующим образом:

Route::get('/student/{student}', 'StudentController@studentview')->name('student.view');

часть маршрута {student} должна быть заменена действительным идентификатором студента, которого вы хотите просмотреть, когдадоступ к сайту.

Тогда ваш контроллер, метод представления должен выглядеть следующим образом:

public function studentview(Student $student) {
    // Your code here
}

В этом методе используется служебный контейнер Laravel для автоматического ввода правильного студента на основе идентификатора впараметр маршрута.Это объясняется далее здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...