Miraski jak to ugryźć, wiem ze banał ale nie mogę znaleźć dobrego wpisu na stackoverflow XD
Mam se login i już super, js mnie to zbiera z formy, php mi się loguje sprawdza i niby zaczyna „sesje” jeśli hasło i user się zgadza. No a w sesji podaje tez zmienna ze $username to username wpisane w formie i w ogóle takie śmieszne rzeczy. Ale jak dałam header(); żeby przełączył na następne stronę jeśli logowanie zakończone sukcesem i nie przełącza... ale jak dam echo LUBIĘ PLACKI to pokaże XD
Mało tego, jak to kuzwa przenieść z powrotem na front end? W sensie, chciałabym żeby na sukcesie przełączyło mnie na stronę „użytkownika” i tak by było „Cześć Username”
No ja nie wiem jak to zrobić z której strony się za to zabrać. Przekopałam różne wpisy i poradniki „php ajax login successful show username” i nie mogę nic znaleźć żeby było jedno po drugim jak krowie na miedzy (╯︵╰,)
@powaznyczlowiek: @paramyksowiroza: @croppz: to jest jakiś śmieszny kawałek kodu gdzie jak ten magiczny 200 przejdzie to wtedy js cyknie przekierowywanie?
@PaulStanley: ajax polega na tym że wysyłasz requesta, dostajesz responsa i obsługujesz go jakimś callbackiem. Jaki będzie response to już zależy od ciebie.
No to Cię pytam, jak masz zbudowane zapytanie do ajaxa. W jaki sposób otrzymujesz dane od pliku do którego wysyłałaś zapytanie? Wklejże kod tego zapytania do ajaxa, bo nie idzie się połapać jak obsługujesz odpowiedź.
Generalnie, jeśli plik odpowiadający za logowanie zwróci Ci prawidłową wartość to robisz
location.href="[http://domena.pl/costam_po_zalogowaniu";](http://domena.pl/costam_po_zalogowaniu";) i śmiga.
No i ogólnie też przy okazji na tej pustej linijce na sukcesie tam było: $_SESSION['username'] = $username; i kod z header(); (no teraz to nie trzeba tego headera jak JS ma to zrobić) też mogę to wcisnąć gdzieś?
@PaulStanley: najlepiej by to było zrobić po prostu na statusach, żaden content w odpowiedzi tutaj nie jest potrzebny. 200 jeżeli logowanie się udało, 401 jeżeli złe dane. Response 200 unauthorized jest co najmniej dziwny. ( ͡°͜ʖ͡°)
@PaulStanley: Koleżanko, bo tak naprawdę nie rozumiesz tego ajaxa. Po zapytaniu do ajaxa, otrzymujesz wiadomość zwrotną przez JSON. I to nie jest tak, że możesz sobie "echować" w tym pliku PHP, bo nic Ci to nie da. Możesz podejrzeć co się "#!$%@?" przez konsolę w przeglądarce, ale tylko tyle. Nic się od tego "echowania" nie wydarzy.
W linii w js
success: function(response){ javascript otrzymuje tego JSON-a jako odpowiedź zwrotną - tablicę
@paramyksowiroza: nie no chodziło mi właśnie że sobie w przeglądarce w zakładce network podglądam czy przeszło czy nie, tylko się pytam czy to echo przeszkadza w czymś innym
no niestworzone rzeczy, nie będę się oszukiwać, no ale człowiek całe zycie się uczy - dziękuję serdecznie i @croppz: też. wykop mnie nigdy nie zawodzi jeśli chodzi o takie zagwozdki ( ͡°͜ʖ͡°)
tylko się pytam czy to echo przeszkadza w czymś innym
@PaulStanley: echo przeszkadza głównie w tym, że to co sobie #!$%@? leci jako część responsa. Do debugowania niby spoko, ale lepszy jest var_dump albo jakieś bardziej cywilizowane rozwiązanie. I najczęściej zaraz po nim die.
@PaulStanley: Echo w tym przypadku jest do wypluwania tablicy po json_encode. I tylko to powinnaś echować. A jako zadanie domowe masz do zastanowienia się, jak zrobić wyświetlanie wiadomości po nieudanej próbie logowania :)
@PaulStanley: Typiara od ej typie która tworzy cmsy zamodowo xD nie wie ani jak działa echo w php ani ajax w js xD ty te cmsy to chyba poważnie w paincie robisz xD
Podajcie jeden sensowny argument dlaczego każdy nie powinien mieć gruza tylkonapędowego do upalania w zimie i w deszczu? Nikt nie poda bo nie ma takiego argumentu
Mam se login i już super, js mnie to zbiera z formy, php mi się loguje sprawdza i niby zaczyna „sesje” jeśli hasło i user się zgadza. No a w sesji podaje tez zmienna ze $username to username wpisane w formie i w ogóle takie śmieszne rzeczy. Ale jak dałam header(); żeby przełączył na następne stronę jeśli logowanie zakończone sukcesem i nie przełącza... ale jak dam echo LUBIĘ PLACKI to pokaże XD
Mało tego, jak to kuzwa przenieść z powrotem na front end? W sensie, chciałabym żeby na sukcesie przełączyło mnie na stronę „użytkownika” i tak by było „Cześć Username”
No ja nie wiem jak to zrobić z której strony się za to zabrać. Przekopałam różne wpisy i poradniki „php ajax login successful show username” i nie mogę nic znaleźć żeby było jedno po drugim jak krowie na miedzy (╯︵╰,)
#php #it #frontend #backend ##!$%@?
No to Cię pytam, jak masz zbudowane zapytanie do ajaxa.
W jaki sposób otrzymujesz dane od pliku do którego wysyłałaś zapytanie?
Wklejże kod tego zapytania do ajaxa, bo nie idzie się połapać jak obsługujesz odpowiedź.
Generalnie, jeśli plik odpowiadający za logowanie zwróci Ci prawidłową wartość to robisz
location.href="[http://domena.pl/costam_po_zalogowaniu";](http://domena.pl/costam_po_zalogowaniu";)
i śmiga.
czyli co na if response status 1 to wtedy ten twój kawałek?
bo ogólnie nie działa ta część kodu tak w ogóle xD tylko wywala do login-common.php gdzie pokazuje mi echo success które sama ustawiłam
Ale gdybyś miała
$response=array();
if($row[0] > 0){
$response[status]=1;
}
echo json_encode($response);
i pousuwała pozostałe linie z "echo", to byś miała.
No i ogólnie też przy okazji na tej pustej linijce na sukcesie tam było:
$_SESSION['username'] = $username;
i kod z header(); (no teraz to nie trzeba tego headera jak JS ma to zrobić)też mogę to wcisnąć gdzieś?
session_start();
tuż po obstart();Po drugie, powinnaś usunąć wszystkie linie z instrukcją echo.
Po trzecie, tam gdzie masz
"if($row[0] > 0){"
powinnaś wstawić to co Ci napisałem.
Po czwarte, tak, powinnaś mieć tam $_SESSION['username'] = $username;
bo po co Ci logowanie, skoro nie masz sesji?
a tak z ciekawości to dlaczego echo złe, bo ja lubię po prostu czasem tego użyć jako sprawdzenie czy coś "przeszło"
Możesz podejrzeć co się "#!$%@?" przez konsolę w przeglądarce, ale tylko tyle. Nic się od tego "echowania" nie wydarzy.
W linii w js
success: function(response){
javascript otrzymuje tego JSON-a jako odpowiedź zwrotną - tablicę
no niestworzone rzeczy, nie będę się oszukiwać, no ale człowiek całe zycie się uczy - dziękuję serdecznie i @croppz: też. wykop mnie nigdy nie zawodzi jeśli chodzi o takie zagwozdki ( ͡° ͜ʖ ͡°)
Więc lepiej będzie
$response=array();
if($row[0] > 0){
$response[status]=1;
$response[message]='sucess';
}
echo json_encode($response);
@PaulStanley: echo przeszkadza głównie w tym, że to co sobie #!$%@? leci jako część responsa. Do debugowania niby spoko, ale lepszy jest var_dump albo jakieś bardziej cywilizowane rozwiązanie. I najczęściej zaraz po nim die.
A jako zadanie domowe masz do zastanowienia się, jak zrobić wyświetlanie wiadomości po nieudanej próbie logowania :)