Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> autoryzacja z vademecum php i mysql, nie pojawia sie okienko proszące o login
borcenty
post
Post #1





Grupa: Zarejestrowani
Postów: 32
Pomógł: 0
Dołączył: 4.01.2004

Ostrzeżenie: (0%)
-----


Skrypt pochodzi z vademecum php i mysql wyd helion.

  1. <?php
  2.  
  3. // jeśli używamy IIS, trzeba ustawić zmienne $PHP_AUTH_USER i $PHP_AUTH_PW
  4. if (substr($SERVER_SOFTWARE, 0, 9) == 'Microsoft' &&
  5. !isset($PHP_AUTH_USER) &&
  6. !isset($PHP_AUTH_PW) &&
  7. substr($HTTP_AUTHORIZATION, 0, 6) == 'Basic '
  8.  ) 
  9. { 
  10. list($PHP_AUTH_USER, $PHP_AUTH_PW) = 
  11. explode(':', base64_decode(substr($HTTP_AUTHORIZATION, 6))); 
  12. } 
  13.  
  14. // to wyrażenie warunkowe można zastšpić np. zapytaniem do bazy danych
  15. if ($PHP_AUTH_USER != 'uzytkownik' || $PHP_AUTH_PW != 'haslo')
  16. {
  17. // użytkownik nie podał żadnych danych albo 
  18. // podany identyfikator lub hasło sš nieprawidłowe
  19.  
  20. header('WWW-Authenticate: Basic realm=\"Nazwa zasobu\"'); 
  21. if (substr($SERVER_SOFTWARE, 0, 9) == 'Microsoft') 
  22. header('Status: 401 Unauthorized'); 
  23. else 
  24. header('HTTP/1.0 401 Unauthorized'); 
  25.  
  26. echo '<h1>Odejdź stšd!</h1>';
  27. echo 'Nie jesteś uprawniony do przeglšdania tych zasobów.';
  28. } 
  29. else 
  30. {
  31. // użytkownik podał prawidłowe dane
  32. echo '<h1>Oto ona!</h1>';
  33. echo '<p>Na pewno jesteś szczęśliwy, że możesz zobaczyć tę stronę.';
  34. }
  35.  
  36. ?>


i teraz tak - odpalam pierwszy raz, wsio jest ok. dopisałem conieco tego co ma sie wyswietlac jak sie user zaloguje i tez bylo ok. wczoraj wsio dzialalo. dzis zagladam i juz nie pojawia sie okienko proszace o login i pass tylko od razu mi wyskakuje ze nie mam uprawnien. czemu tak? z tego co rozumiem - okienko pojawia sie zawsze, jesli user nie jest zalogowany prawda? Klkniecie nauluj powoduje wyswoietlenie "nie masz uprawnień" a podanie poprawnej kombinacji wyswietla strone.

nie dziala pod opera ani ie.

z gory dzieki za pomysly.
Go to the top of the page
+Quote Post
bełdzio
post
Post #2





Grupa: Zarejestrowani
Postów: 690
Pomógł: 81
Dołączył: 6.04.2005
Skąd: Szczecin

Ostrzeżenie: (0%)
-----


uruchom ponownie przeglądarkę to sesja wygaśnie i okienko powinno się pojawić ponownie (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Go to the top of the page
+Quote Post
borcenty
post
Post #3





Grupa: Zarejestrowani
Postów: 32
Pomógł: 0
Dołączył: 4.01.2004

Ostrzeżenie: (0%)
-----


gdyby to bylo takie proste to bym sam na to wpadl (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

wlasnie to nie pomaga (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)
Go to the top of the page
+Quote Post
strife
post
Post #4





Grupa: Przyjaciele php.pl
Postów: 2 605
Pomógł: 96
Dołączył: 22.10.2004
Skąd: UK

Ostrzeżenie: (0%)
-----


Napiszę dosyć chaotyczne rozwiazanie tego problemu, na początku dodaj session_start" title="Zobacz w manualu PHP" target="_manual, w miejscu gdzie następuje autoryzacja, czyli poprawne hasło login dodaj $_SESSION['login'] = 'yes'; A potem na początku umieść warunek, jeśli zmienna sesyjna login będzie istniała to nie wykonuj tego kawałka kodu odpowiadającego za logowanie.

Dziwię się tylko że z dnia na dzień tak Ci się zrobiło.

Pozdro!
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 25.08.2025 - 12:11