Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Zmienne globalne, nie widzi?
Forum PHP.pl > Forum > Przedszkole
poncjusz
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()
Fipaj
Myślę, że robienie funkcji do wyświetlania prostych elementów nie jest najlepszym pomysłem, ale... twój wybór

nie musisz deklarować $HTTP_SESSION_VARS jako global
jeśli masz php w wersji 4 lub wyższej używaj $_SESSION zamiast $HTTP_SESSION_VARS
kszychu
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.
Fipaj
i $_FILES biggrin.gif

aaaaaaa, jeszcze $_COOKIE



ps. prace nad ffcode nad ukończeniem winksmiley.jpg
kszychu
Cytat(Fipaj @ 2005-02-25 15:10:57)
ps. prace nad ffcode nad ukończeniem winksmiley.jpg

POkaż coś smile.gif
poncjusz
Ok, dzieki pomoglo
Fipaj
Nie popełnie tego błędu i nie pokażę ukończonej pracy (1 tydzień? 1,5?)... w każdym razie będzie to dość duży zbiór predefiniowanych zmiennych, stałych, funkcji i klas winksmiley.jpg
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.