![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 18 Pomógł: 0 Dołączył: 18.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
Witam
Utknałem tym razem w momencie gdy chcę zalogować się do bazy danych. Plik loginform.inc.php zawiera formularz i sprawdza poprawność danych (i działa poprawnie, bo po podaniu odpowiedniego hasła i loginu wyświetla się właściwy rząd w tabeli), natomiast za diabła nie wiem dlaczego nie mogę odpalić sesji. Kod ma wg opisu albo wyswietlic 'You are logged in' po podaniu poprawnych danych, albo wyswietlic ponownie formularz logowania, i wygląda tak:
a tu jeszcze fragment pliku loginform.inc.php z przypisanym id sesji:
Rezultat jest taki, że wpisanie odpowiedniego loginu i hasła wyświetla ponownie formularz logowania, a nie komunikat 'you are logged in'. Troche eksperymentowalem, wywaliłem loginform.inc.php poza warunek if:
I zadzialalo, tzn po zalogowaniu sie dostaje prawidlowy komunikat. Z tym ze w tutorialu jest tak jak w pierwszym przykładzie, i nie mam pojęcia dlaczego na filmiku działało a u mnie nie. Tutorial jest z 2011 roku, czy jest możliwość że zmieniła się struktura php i dlatego u mnie nie zadziałało? Pozdrawiam
Powód edycji: [Kshyhoo]: Przypominam o używaniu bb-code
|
|
|
![]()
Post
#2
|
|
![]() Grupa: Opiekunowie Postów: 3 855 Pomógł: 317 Dołączył: 4.01.2005 Skąd: że ![]() |
Pomyśl logicznie, Twój warunek: jeżeli istnieje $_SESSION['user_id'] i jest "pusta" $_SESSION['user_id'] to zalogowany a jak nie, to dołącz plik, gdzie te dane wrzucam...
-------------------- Jak poprawnie zadać pytanie | Jak poprawnie zatytułować wątek
Najczęstsze błędy | Błędy E_NOTICE | PHP FAQ | FAQ PHPedia | SQL-Injection | Logowanie i sesje | Hashowanie haseł | Server - od czego zacząć ? | Manual PHP Alternatywne Forum dla Ekspertów Nie pomagam na PW, nie mam GG |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 18 Pomógł: 0 Dołączył: 18.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Opiekunowie Postów: 3 855 Pomógł: 317 Dołączył: 4.01.2005 Skąd: że ![]() |
No tak, miało być "nie pusta".
-------------------- Jak poprawnie zadać pytanie | Jak poprawnie zatytułować wątek
Najczęstsze błędy | Błędy E_NOTICE | PHP FAQ | FAQ PHPedia | SQL-Injection | Logowanie i sesje | Hashowanie haseł | Server - od czego zacząć ? | Manual PHP Alternatywne Forum dla Ekspertów Nie pomagam na PW, nie mam GG |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 18 Pomógł: 0 Dołączył: 18.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
Dzięki, ale to są chyba warunki które się nie wykluczają, zresztą też próbowałem wcześniej (w akcie depseracji probowalem wszystkiego
![]()
|
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 2 355 Pomógł: 533 Dołączył: 15.01.2010 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
Warunek jest dobry, nie słuchaj głupot. Musiałbyś pokazać więcej kodu. Ale skoro przeniosłeś include i działa, to w czym jeszcze problem?
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 6 806 Pomógł: 1828 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
A gdzie wyłączasz buforowanie rozpoczęte poprzez ob_start();?
-------------------- |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 18 Pomógł: 0 Dołączył: 18.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
Warunek jest dobry, nie słuchaj głupot. Musiałbyś pokazać więcej kodu. Ale skoro przeniosłeś include i działa, to w czym jeszcze problem? Problem w tym że chciałbym aby formularz zniknął po zalogowaniu, to po 1., po drugie chciałbym zrozumieć dlaczego, skoro obydwa warunki są dobre, nie wyświetla mi się głupie echo (w procesie uczenia staram się zrozumieć jak coś działa, a nie napisać kod i modlić się żeby się udało jak nie ręką to młotkiem) Nie wiem czy to pomoże, ale kod formularza wygląda tak (kod index.php był wklejony w całości w pierwszym poście)
A gdzie wyłączasz buforowanie rozpoczęte poprzez ob_start();? Najprawdopodobniej nie wyłączam, szczerze mówiąc nie rozumiem jeszcze działania tej funkcji i do czego służy, dodałem ją gdyż tak mówił tutorial Ten post edytował Fakebook 23.03.2014, 16:34:36 |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 6 806 Pomógł: 1828 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
Najprawdopodobniej nie wyłączam, szczerze mówiąc nie rozumiem jeszcze działania tej funkcji i do czego służy, dodałem ją gdyż tak mówił tutorial Na początek zakomentuj ob_clean, lub dodaj w linii 5: ob_end_clean(); -------------------- |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 18 Pomógł: 0 Dołączył: 18.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 285 Pomógł: 18 Dołączył: 30.01.2014 Skąd: <?=$_GET['city']?> Ostrzeżenie: (0%) ![]() ![]() |
wymień
oraz Kod $query = "SELECT `id` FROM `users (135)` #na $query = "SELECT `id` FROM `users` poza tym za FROM powinna być tabela a nie kolumna tabeli. Ten post edytował ZaXaZ 24.03.2014, 00:07:19 -------------------- Jak poprawnie zadać pytanie || Generator #RRGGBB || Kurs: php, mysql <> html & css || Hosting || Validator: html, css || Narzędzia dla programistów |
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 18 Pomógł: 0 Dołączył: 18.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
wymień nadal bez zmian niestety, nadal to echo ' You are logged on' sie nie wyswietla, za to formularz non stop jest widoczny. A co do tabeli, to "users (135)" to jej nazwa w bazie danych (łącznie z tym (135) właśnie) |
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 6 806 Pomógł: 1828 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
Zakomentuj ob_start(); i wrzuć przed linią 6 (w pierwszym przykładzie na stronie).
Pokaż co się wydrukowało. Ten post edytował trueblue 24.03.2014, 16:56:11 -------------------- |
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 18 Pomógł: 0 Dołączył: 18.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#15
|
|
![]() Grupa: Zarejestrowani Postów: 3 034 Pomógł: 366 Dołączył: 24.05.2012 Ostrzeżenie: (0%) ![]() ![]() |
no a gdzie session_start(); w index?
|
|
|
![]()
Post
#16
|
|
Grupa: Zarejestrowani Postów: 18 Pomógł: 0 Dołączył: 18.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
Stan pliku na chwilę obecną |
|
|
![]()
Post
#17
|
|
![]() Grupa: Zarejestrowani Postów: 12 Pomógł: 1 Dołączył: 8.08.2011 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Ja widzę session_start() na początku.
Spróbuj zrobić coś takiego
I powiedz który debug będzie ostatni. Przecież instrukcja warunkowa powinna działać tak, że wykona jedno lub drugie. To pozwoli wyszukać nam w której linijce może być problem ![]() Jeszcze pytanie czy korzystasz z serwera jakiegoś czy może localhost ? A samego if-a proponuję zrobić tak: Przynajmniej dopiero taki zapis zawsze u mnie poprawnie działał. Ten post edytował Dyktus 24.03.2014, 18:27:39 |
|
|
![]()
Post
#18
|
|
Grupa: Zarejestrowani Postów: 18 Pomógł: 0 Dołączył: 18.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
Jeszcze pytanie czy korzystasz z serwera jakiegoś czy może localhost ? Jest to hosting na godaddy Jako pierwszy pojawia sie debug1, potem wyswietla sie formularz, a pod spodem (jako ostatnie), cytuję: "debug FaĹlszudebug 4" (czyli dwa ostatnie, debug fałszu i debug 4) Co jest ciekawe natomiast, to jesli nie wpisze hasła albo loginu wcale, po pojawia sie error z formularza ze musze wpisac dane (tak mialo byc, jest ok), jesli wpisze dane niepoprawne, rownież pojawia się poprawny komunikat błędu (niewłaściwy login lub hasło), jeśli natomiast wpiszę hasło poprawne, to pojawiają się te debugi które wypisałem powyżej, NATOMIAST jeśli teraz odświeżę ekran, znika wszystko oprócz 'debug1' Ten post edytował Fakebook 25.03.2014, 09:17:41 |
|
|
![]()
Post
#19
|
|
![]() Grupa: Zarejestrowani Postów: 12 Pomógł: 1 Dołączył: 8.08.2011 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Spróbuj na samym początku swojego kodu podać coś takiego
![]() Wygląda na to jakby był problem przy require except upon failure it will also produce a fatal E_COMPILE_ERROR level error. In other words, it will halt the script whereas include only emits a warning Może wyprodukuje jakiś błąd. Dodam od siebie, że mam aktualnie podobny problem. W moim systemie logowania tworzy sesje, ale jak przejdę do podstrony swojego serwisu to sesja znika :| gdy zaloguje się poprawnie wszystko jest już w porządku. |
|
|
![]()
Post
#20
|
|
Grupa: Zarejestrowani Postów: 18 Pomógł: 0 Dołączył: 18.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
Spróbuj na samym początku swojego kodu podać coś takiego ![]() Wygląda na to jakby był problem przy require Dyktus, wielkie dzięki, problem rozwiązany! Wkleiłem ten kod od błędu, i wyświetliło się coś takiego: 'Warning: session_start(): Cannot send session cache limiter (...)' Pół godziny googlowania i okazało się że problem leży po stronie godaddy, a dokładniej formy kodu który może strawić. Na początku pliku, jeszcze przed znacznikiem <?php, opisuję w komentarzach co dany plik zawiera i co robi. Okazało się że godaddy nie może tego strawić, więc usunąłem wszystkie komentarze spoza znaczników <?php /> i zadziałało jak magia, natychmiast. Gdybyś mi nie polecił wkleić tego kodu to bym jeszcze się długo z tym dziadostwem męczył, wielkie dzięki! Pozdrawiam |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 22.07.2025 - 12:35 |