Witam wszystkich,

Mam problem ze skryptem sluzacym do logowania. Mianowicie mam w nim mozliwosc zalozenia usera autoryzacje kont itp. Wszystko jest oparte na bazach textowych. Problem tkwi w tym ze od tygodnia probuje go jakos sensownie poprawic aby bylaa mozliwosc zroznicowania poziomow logowania tzn. Teraz jest tak ze albo sie jest zalogowanym i ma sie dostep do moich fotografii albo sie nie jest i sie tego dostepu nie ma smile.gif. Chce zrobic jeszcze tak aby byly dwa poziomy userow np. user i super user.
Za nic mi to nie idzie probuje od tygodnia, albo i dwuch z roznym skutkiem. Zawsze cos jest nie tak.

kod:

plik func.php

  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. # dodaje nowego użytkownika 
  47. function add_user($login, $passwd, $email) 
  48. { 
  49. $files = fopen(DATA, &#092;"a\"); 
  50. flock($files, 2); 
  51. fputs($files, $login . &#092;",\" . $passwd . \",\" . $email . \"n\"); 
  52. flock($files, 3); 
  53. fclose($files); 
  54. } 
  55.  
  56.  
  57. # sprawdza czy zalogowany 
  58. function auth() 
  59. { 
  60. return ($_SESSION[&#092;"USER_AUTH\"] == True); 
  61. } 
  62.  
  63. ?>

tak wyglada formularz logowania:


  1. <form action="index.php" method="post">
  2. <input type="hidden" name="page" value="login">
  3. <input type="hidden" name="<?=SESSION_NAME()?>" value="<?=SESSION_ID()?>">
  4.  
  5. Login<br>
  6. <input type="text" name="login" value="<?=$_POST["login"]?>">
  7. <br>
  8.  
  9. Hasło<br>
  10. <input type="password" name="passwd" value="">
  11. <input type="submit" name="submit" value="Loguj">
  12.  
  13. </form>


a tutaj jak sie funkcja wykonuje:

link.php

  1. <? 
  2. if(!auth()) 
  3. { 
  4. print &#092;" 
  5. <class=error align=center> 
  6. *** Brak dostępu 
  7. ***</p> 
  8. &#092;"; 
  9. } 
  10. else 
  11. { 
  12. print &#092;" 
  13. JAKAS STRONA.&#092;"; 
  14. } 
  15. ?>


plik z danymi wyglada tak:


  1. <?php
  2. aaa,47bce5c74f589f4867dbd57e9ca9f808,aaa@aaa.pl 
  3. ?>


a chcialbym zeby wygladal tak:

  1. <?php
  2. 0, aaa,47bce5c74f589f4867dbd57e9ca9f808,aaa@aaa.pl 
  3. 1, bbb,ggggj43kj43kjkjkj5kj34kj434k3j43k,bbb@bbb.pl 
  4. ?>



Błagam niech mi ktos pokaze na tym przykladzie jak to poprawic bo mi cos nie idzie. A chcialbym zrobic sobie galeryjke ze zdjeciami smile.gif

Z gory bardzo dziekuje smile.gif