Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Zmienne globalne, nie widzi?
poncjusz
post
Post #1





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

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


Witam, mam napisany prosty skrypt logowania, a calosc projektu podzielilem na moduly, nie wiem czy dobrze to robie ale dopiero sie ucze wiec troszke eksperymentuje moja strona index wyglada tak:

  1. <?php
  2. //skrypt strony glownej
  3. include (&#092;"inc/funkcje_dolacz.php\");
  4.  
  5. $login= $HTTP_POST_VARS['login'];
  6. $haslo= $HTTP_POST_VARS['haslo'];
  7. $action= $HTTP_POST_VARS['action'];
  8.  
  9. tworz_naglowek_html();
  10. news();
  11. blok1 ();
  12. logowanie($login, $haslo, $action);
  13. blok2 ();
  14. ostatnio_dodane();
  15. blok3 ();
  16. sprawdz_uzyt ();
  17. buttony();
  18. tworz_stopke_html();
  19.  
  20. ?>


funkcja logowanie wyglada tak:

  1. <?php
  2. function logowanie($login, $haslo, $action) {
  3.  
  4. echo &#092;"<p class=\"tytul\">Logowanie</p>\";
  5.  
  6. if ($action==&#092;"logowanie\") {
  7. if (loguj ($login, $haslo)) {
  8. $HTTP_SESSION_VARS[&#092;"prawid_uzyt\"]= $login;
  9. }
  10. else {
  11. echo &#092;"nie mozna zalogowac\";
  12. }
  13. }
  14.  
  15. if (isset ($HTTP_SESSION_VARS[&#092;"prawid_uzyt\"])) {
  16. echo &#092;"Witaj \".$HTTP_SESSION_VARS[\"prawid_uzyt\"];
  17. }
  18. else if ($action==&#092;"\" && $HTTP_SESSION_VARS[\"prawid_uzyt\"]==\"\") {
  19. wyswietl_form_logowania();
  20. }
  21.  
  22. }
  23. ?>


funkcja uwierzytelniajaca (loguj):
  1. <?php
  2. function loguj ($login, $haslo) {
  3.  
  4. $sql= new mysql();
  5. $sql->connect();
  6.  
  7. $wynik= $sql->do_query (&#092;"SELECT * FROM uzytkownicy WHERE uzytkownik='$login' AND haslo= password ('$haslo')\");
  8.  
  9. if ($wynik > 0) {
  10. return true;
  11. }
  12. else {
  13. return false;
  14. }
  15.  
  16. }
  17. ?>


Na koniec zostaje mi jeszcze funkcja sprawdzajaca zalogowanie:
  1. <?php
  2. function sprawdz_uzyt () {
  3.  
  4. global $HTTP_SESSION_VARS;
  5.  
  6. if (isset ($HTTP_SESSION_VARS[&#092;"prawid_uzyt\"])) {
  7. echo &#092;"Wszystko ok\";
  8. }
  9. else {
  10. echo &#092;"Nie posiadasz uprawnien do ogladania strony\";
  11.  }
  12. }
  13.  
  14. ?>


Tylko ta funkcja nigdy nie dziala i zawsze mi wyswietla Nie posiadasz uprawnien do ogladania strony, chociaz zmienna sesji jest zarejestrowana bo wyswietla mi sie Witaj ....", nie wiem co jest przyczyna? Dodam ze wszystkie te funkcje sa w innych plikach i sklejam je do kupy include()
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
kszychu
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 2 712
Pomógł: 23
Dołączył: 27.10.2003
Skąd: z kontowni

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


Cytat(Fipaj @ 2005-02-25 14:23:33)
jeśli masz php w wersji 4 lub wyższej używaj $_SESSION zamiast $HTTP_SESSION_VARS

To samo tyczy się $_POST i $_GET.
Go to the top of the page
+Quote Post

Posty w temacie


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: 12.10.2025 - 00:15