• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Laravel - problem z zalogowanym użytkownikiem

0 głosów
546 wizyt
pytanie zadane 26 listopada 2016 w PHP przez zgrybus Pasjonat (24,860 p.)

Mam taki problem. Po przejściu przez system logowania 

public function SignIn(Request $request){
 
        if(Auth::attempt(['email'=>$request->email, 'password'=>$request->password])){
            return redirect('mainPage');
        }
        else{
            return back()->withInput()->withErrors(['email' => 'Zły email lub hasło']);
        }
    }

 

"Strona" / "Serwer" nie wie, że jestem zalogowany. W pliku html wywołuje komendę

@if(Auth::user())
				    --><li class="userNav__item">
						<a href="#" class="userNav__link">
							<i class="icon-user-add userNav__image"></i>
							Witaj, {{{  Auth::user()->name }}}
						</a>
					</li>
					@endif

 

Niestety ona nie działa.

 Kod z pliku routes.php

Route::get('/', function () {
    return view('layout.index');
});

Route::get('mainPage', function () {
    return view('layout.index');
});

Route::get('login', function () {
    return view('layout.login');
});

Route::get('registration', function () {
    return view('layout.registration');
});

Route::get('shop', function () {
    return view('layout.shop_card');
});

Route::post('SignUp', [
	'uses' => 'AuthController@SignUp',
	'as' => 'SignUp'
]);

Route::post('SignIn', [
	'uses' => 'AuthController@SignIn',
	'as' => 'SignIn'
]);

 

Jaka jest tego przyczyna? Czemu serwer nie wie, że jestem zalogowany, skoro przeszedłem przez attempt?

komentarz 26 listopada 2016 przez HaKIM Szeryf (87,590 p.)

Jakiś error?

Co zawiera obiekt Auth? Jest pusty, czy?

Nie oczekuj ode mnie pomocy - w Laravel nie siedzę - choć, warto aby ktoś kto jest w stanie pomóc miał do dyspozycji te informacje.

komentarz 26 listopada 2016 przez zgrybus Pasjonat (24,860 p.)

Error żaden, ze względu na to, ze idealnie przekierowywuje na route mainPage ( z którego idziemy na stronę główną ), ale po prostu if(Auth::user()) nie działa, czyli serwer nei widzi, ze jesteśmy zalogowani. 

Taki "śmieszek", gdy dam 

public function SignIn(Request $request){
 
        if(Auth::attempt(['email'=>$request->email, 'password'=>$request->password])){
            return view('layout.index');
           // return redirect('mainPage');
        }
        else{
            return back()->withInput()->withErrors(['email' => 'Zły email lub hasło']);
        }
    }

To wtedy działa, czyli po włączeniu route, nagle serwer nie wie, ze jesteśmy zalogowani. 

komentarz 26 listopada 2016 przez HaKIM Szeryf (87,590 p.)

Na pewno trzymasz to jako sesja?

Bo to jakby nie miało dostępu do tamtych danych, gdyż znajduje się w innej lokacji.

Tutaj masz coś z dokumentacji Laravela o sesjach:

https://laravel.com/docs/5.3/session

Lub zrób dla testu redirect z danymi, więcej tutaj:

https://laravel.com/docs/5.3/responses

Or, you may use the withHeaders method to specify an array of headers to be added to the response:

return response($content)
            ->withHeaders([
                'Content-Type' => $type,
                'X-Header-One' => 'Header Value',
                'X-Header-Two' => 'Header Value',
            ]);

 

komentarz 26 listopada 2016 przez zgrybus Pasjonat (24,860 p.)
Jutro spróbuje. Dzieki za pomoc ;)

Zaloguj lub zarejestruj się, aby odpowiedzieć na to pytanie.

Podobne pytania

0 głosów
1 odpowiedź 1,015 wizyt
pytanie zadane 18 września 2019 w PHP przez Maikel11 Początkujący (470 p.)
0 głosów
1 odpowiedź 275 wizyt
pytanie zadane 4 sierpnia 2019 w PHP przez Greeenone Pasjonat (16,100 p.)
0 głosów
0 odpowiedzi 273 wizyt
pytanie zadane 22 stycznia 2019 w PHP przez Ziito Obywatel (1,110 p.)

93,691 zapytań

142,610 odpowiedzi

323,215 komentarzy

63,215 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...