![]() |
![]() ![]() |
![]() |
![]() ![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 333 Pomógł: 0 Dołączył: 4.03.2004 Ostrzeżenie: (0%) ![]() ![]() |
witam
pisze wlasnie system logowania i mam pewien problem, najpierw kody: zaloguj.php:
admin.php:
no i teraz jest problem. Jak podam prawdziwe dane to jest wszystko ok, ale jak złe to: Kod Notice: Undefined variable: login in /www/coM/admin.php on line 56 Notice: Undefined variable: haslo in /www/coM/admin.php on line 56 złe dane - nie zalogowany wiem że chodzi o to, że nie jest zdefiniowana zmienna $login i haslo ale właśnie nie wiem jak z tego wybrnąć :/ jak to zrobić żeby przy podaniu złych danych, lub bez przechpdzenia przez procej logowania wyświetliło tylko napis "złe dane - nie zalogowany" Ten post edytował bronx 13.08.2005, 00:28:38 |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 179 Pomógł: 0 Dołączył: 9.11.2004 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 333 Pomógł: 0 Dołączył: 4.03.2004 Ostrzeżenie: (0%) ![]() ![]() |
nie nie, to nie o to chodzi. Patrz jeżeli ktoś się zaloguje to zapisuje login i haslo do sesji i potem wstawia je do zapytania. Ale jezeli ktoś się nie zaloguje to sesja wogole nie istnieje i nie moze pobrac loginu i hasla do zapytania. Ptzynaj,niej tak mi się wydaje że w tym jest problem
![]() ma ktoś jakieś pomysły jak z tego wybrnąć ? |
|
|
-nieznajomy- |
![]() ![]()
Post
#4
|
Goście ![]() |
Mały problem. Jezeli formularz logowania uruchamia plik zaloguj.php to nie rozumię w jaki sposób przy "złym logowaniu" dochodzi do uruchomienia pliku admin.php
(komunikat błędu: Notice: Undefined variable: login in /www/coM/admin.php on line 56). Jezeli tak jest to $num = 0 i nastepuje: else { header("Location: zle_dane.php"); } przy poprawnym logowaniu jest wywoływane: header("Location: admin.php"); Z drugiej strony to zastanawiam się dlaczego wykonujesz w dwóch plikach identyczne zapytanie mysql: $sql = "SELECT * FROM $wybrana_tabela WHERE login = \"$login\" AND haslo = \"$haslo\""; Moim zdaniem to wszystko można zrobić w jednym pliku. |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 333 Pomógł: 0 Dołączył: 4.03.2004 Ostrzeżenie: (0%) ![]() ![]() |
Cytat(nieznajomy @ 2005-08-13 10:14:41) Mały problem. Jezeli formularz logowania uruchamia plik zaloguj.php to nie rozumię w jaki sposób przy "złym logowaniu" dochodzi do uruchomienia pliku admin.php (komunikat błędu: Notice: Undefined variable: login in /www/coM/admin.php on line 56). no może dojść do takiej sytuacji gdy ktoś wpisze w przeglądarce adres www.mojastrona.pl/admin.php (nie przechodząć przez proces logowania). a co do tego że dwa razy wykonuje takie samo zapytanie to... no właśnie -nie wiem jakie zapytanie umieścić w pliku admin.php |
|
|
-Gość_ZAJAC- |
![]()
Post
#6
|
Goście ![]() |
|
|
|
-nieznajomy- |
![]() ![]()
Post
#7
|
Goście ![]() |
Ok. To jeżeli już uzywasz mechanizmu sesji to problem mozesz rozwiązać w następujący sposób:
1. W momencie logowania, jeżeli jest ono poprawne rejestrujesz nową zmienną sesji np. $czy_uzytk_zalog i przypisujesz jej wartość. sesion_register( $czy_uzytk_zalog); $czy_uzytk_zalog=TRUE; 2. W pliku admin.php na początku dodaj: /*plik admin.php*/ sesion_start(); if(!$czy_uzytk_zalog){ // a tu np. $text = 'Uzytkownik nie jest zalogowany!'; die($text); } /*pozostały kod pliku*/ Jezeli uzytkownik jest zalogowany ustawiona jest zmienna sesji i nie zadziała instrukcja "if" na początku pliku admin.php. Jezeli ktos bedzie probowal wywolac bezposrednio plik admin.php podajac go w adresie to zmiennej tej nie ma, "if" zadziała, wyrzuci komunikat oraz zostanie przerwane wykonywanie skryptu. Lecz wymagane jest tutaj wyłączenie register_globals w pliku konfiguracyjnym, aby uniknąć sytuacji, iż załużmy ze ktoś wie jak nazywa sie ta 'kluczowa' zmienna i ominie zabezpieczenie wywołując plik admin.php w sposób: www.mojastrona.pl/admin.php?czy_uzytk_zalog=TRUE Wyłączenie register_globals nie pozwoli na coś takiego. |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 333 Pomógł: 0 Dołączył: 4.03.2004 Ostrzeżenie: (0%) ![]() ![]() |
hmm no to sam nie wiem :/ a może jakieś zastosowanie cookies by cos tu pomogło ?
|
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 1 385 Pomógł: 55 Dołączył: 1.03.2005 Skąd: śląsk Ostrzeżenie: (0%) ![]() ![]() |
admin.php
aha, jeszcze piszesz ze jest problem jak nie ma sesji... to robisz warunek
Ten post edytował AxZx 16.08.2005, 23:18:41 -------------------- aplikacje internetowe | Symfony
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.06.2025 - 14:52 |