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 (1 - 6)
Fipaj
post
Post #2





Grupa: Zarejestrowani
Postów: 691
Pomógł: 0
Dołączył: 19.01.2005
Skąd: Warszawa

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


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
Go to the top of the page
+Quote Post
kszychu
post
Post #3





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
Fipaj
post
Post #4





Grupa: Zarejestrowani
Postów: 691
Pomógł: 0
Dołączył: 19.01.2005
Skąd: Warszawa

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


i $_FILES (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)

aaaaaaa, jeszcze $_COOKIE



ps. prace nad ffcode nad ukończeniem (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Go to the top of the page
+Quote Post
kszychu
post
Post #5





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 15:10:57)
ps. prace nad ffcode nad ukończeniem (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)

POkaż coś (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
poncjusz
post
Post #6





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

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


Ok, dzieki pomoglo
Go to the top of the page
+Quote Post
Fipaj
post
Post #7





Grupa: Zarejestrowani
Postów: 691
Pomógł: 0
Dołączył: 19.01.2005
Skąd: Warszawa

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


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 (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)

Ten post edytował Fipaj 26.02.2005, 09:04:12
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: 22.08.2025 - 22:00