Сессия Laravel 5.6 не перенаправлена ​​для просмотра - PullRequest
0 голосов
/ 04 сентября 2018

Я использую Laravel 5.6 и сталкиваюсь с некоторыми проблемами. Я хочу аутентифицировать пользователя, если email и password найдены в базе данных, а затем перенаправить. Если пользователь существует, перенаправьте на "user1", в противном случае перенаправьте на "/": также подключен файл миграции

Маршруты

Route::any('/user1','UserProfile@store');
Route::get('/login','StudentController@index');

Контроллер

public function store(Request $request)
{
    $info = array(
        "Email" => $request->get("email"),
        "password" => $request->get("password")
    );

    $info = DB::table("students")->where($info)->first();

    if(!$info){
        $data = array(
            "user_email" => $info->Email,
            "user_password" => $info->password,
            "user_id" => $info->Student_id
        );

        $request->session()->put($data);
        $request->session()->get('user_email');

        //echo $val=$request->session()->get('user_id');die;
        //  print_r($data);die;

        return redirect('/user1');
    } else {
        return redirect('/');
    }
}

Миграция

   public function up()
{
    Schema::create('students', function (Blueprint $table) {

        $table->string('Name');
        $table->string('Student_id');
        $table->string('Email');
        $table->string('Department');
        $table->string('Gender');
        $table->string('password');

        $table->timestamps();
    });
}

Это изображение студентов базы данных таблицы

1 Ответ

0 голосов
/ 04 сентября 2018

if(!$info) - обратная логика; вы пытаетесь создать $data из null (->first() вернет объект stdClass или null, в зависимости от того, что он найдет, и этот код будет выполняться, только если $info равен null) .

Это должно быть

if($info){
    $data = array(
        "user_email" => $info->Email,
        "user_password" => $info->password,
        "user_id" => $info->Student_id
    );

    $request->session()->put($data);
    $request->session()->get('user_email');

    return redirect('/user1');
} else {
    return redirect('/');
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...