Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Problem z logowaniem
babejsza
post
Post #1





Grupa: Zarejestrowani
Postów: 407
Pomógł: 1
Dołączył: 4.03.2003
Skąd: warszawa

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


Witam,

Mam taki oto kodzik:

  1. <?
  2.  
  3. #definicje stalych
  4. define(&#092;"DATA\", \"users.dat\");
  5. define(&#092;"SESID\", SESSION_NAME() . \"=\" . SESSION_ID());
  6.  
  7. # zaloguj user-a
  8. function login($login, $passwd)
  9. {
  10. $line = file(DATA);
  11. foreach($line as $temp)
  12. {
  13. $str = explode(&#092;",\", $temp);
  14. if(chop($str[0])==$login && chop($str[1])==$passwd)
  15. { 
  16. $_SESSION[&#092;"USER_AUTH\"] = True;
  17. $_SESSION[&#092;"USER_LOGIN\"] = $_POST[\"login\"];
  18. return True;
  19. }
  20. }
  21. $login = htmlentities($login);
  22. return False;
  23. }
  24.  
  25.  
  26. # wyloguj user-a
  27. function logout()
  28. {
  29. $_SESSION[&#092;"USER_AUTH\"] = False;
  30. $_SESSION[&#092;"USER_LOGIN\"] = Null;
  31. }
  32.  
  33.  
  34. # czy użytkownik istnieje
  35. function user_exists($login)
  36. {
  37. $line = file(DATA);
  38. foreach($line as $temp)
  39. {
  40. $str = explode(&#092;",\", $temp);
  41. if(chop($str[0])==$login) return True;
  42. }
  43. return False;
  44. }
  45.  
  46.  
  47. # dodaje nowego użytkownika
  48. function add_user($login, $passwd, $email)
  49. {
  50. $files = fopen(DATA, &#092;"a\");
  51. flock($files, 2);
  52. fputs($files, $login . &#092;",\" . $passwd . \",\" . $email . \"n\");
  53. flock($files, 3);
  54. fclose($files);
  55. }
  56.  
  57.  
  58. # sprawdza czy zalogowany
  59. function auth()
  60. {
  61. return ($_SESSION[&#092;"USER_AUTH\"] == True);
  62. }
  63.  
  64.  
  65.  
  66. ?>


Teraz problem:
Wszystko dziala. Tylko za cholere nie moge zdefiniowac logowania tak zeby byla mozliwosc logowanie sie na dwuch poziomach tzn. zebym mial np. super user-ow i normal user-ow.

Probuje z tym cos zrobic caly dzien i mi nie idzie (IMG:http://forum.php.pl/style_emoticons/default/sad.gif) .
Robie sobie stronke ze zdjeciami z wakcji itp., i w zwiazku z tym chcialbym moc robic rozne grupy userow.

Ehhh niech ktos mnie olsni bo mam calkowite zacmienie (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Pozdrawiam
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
MarcinZ
post
Post #2





Grupa: Zarejestrowani
Postów: 57
Pomógł: 0
Dołączył: 18.03.2004
Skąd: Golub-Dobrzyń

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


A więc tak powienieneś dodać w zmiennej $_SESSION dodatkową zmienną, z której to będzie brana wartoś rozpoznawana czy dany użytkownik jest adminem czy też nie... kod powinnie nyglądać tak...

Kod
zaloguj user-a
function login($login, $passwd)
{
  $line = file(DATA);
  foreach($line as $temp)
  {
    $str = explode(",", $temp);
    if(chop($str[0])==$login && chop($str[1])==$passwd)
    {
      $_SESSION["USER_AUTH"]  = True;
      $_SESSION["USER_LOGIN"] = $_POST["login"];
      $_SESSION["USER_ACCESS"] = $_POST["access"]; /*tylko ta zmienna powinna być wzięta z pliku gdzie sprawdzasz czy dany użytkownik istnieje czy też nie i powinna mieć taką nazwe lub inna zależnie od twego upodobania */
      return True;
    }
  }
  $login = htmlentities($login);
  return False;
}


A jeżeli chodzi o sprawdzenie czy dana osoba ma uprawnienia do danaej strony wystarczy :
Kod
<?php
session_start();
//to co ma byc do rozpoczecia sesji
if(!$_SESSION["USER_ACCESS"] = 1){
echo "brak uprawnień";
}
//gdzie 1 jest to liczba z uprawnieniami zwykłego użytkownika

Jak co to napisz czy zadziałało a jak nie to podeśle cii inny typ sprawdzania logowania..
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 - 11:07