Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> instrukcje warunkowe
Apo
post
Post #1





Grupa: Zarejestrowani
Postów: 426
Pomógł: 1
Dołączył: 2.10.2005

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


Witam
Niedawno zaczełem pisać swojego niewielkiego cms-a i natknąłem się na problem.
Po zalowananiu są ustawiane sesje z poziomomem użytkownika na stronie. Po zalogowaniu kod sprawdza mi czy jest zalagowany administrator lub moderator blokuje lub nie blokuje zotępu do różnych stron.
Sprawdzam to tak:

  1. <?php
  2. if(logowanie() == false || $_SESSION['poziom'] != 'moderator' || $_SESSION['poziom'] != 'administrator')
  3. {
  4. msg('Nie masz tu dostępu' );
  5. }
  6. else
  7. {
  8. /////jeśli moderator lub admin to sie coś wyświtla
  9. }
  10. ?>


No i mam to źle napisane bo gdy wchodzi moderator to pisze że ne mam dostępu.
Ta linijka jest źle:
  1. <?php
  2. if(logowanie() == false || $_SESSION['poziom'] != 'moderator' || $_SESSION['poziom'] != 'administrator')
  3. ?>


Bo nie wiem jak to moge poprawnie sprawdzić. Najpierw czy funkcja logowanie zwróci false czy true a potem czy jest zalogowany administrator czy moderator.
ps Chce żeby to było tylko w 1 if-ie :?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
sobstel
post
Post #2





Grupa: Zarejestrowani
Postów: 853
Pomógł: 25
Dołączył: 27.08.2003
Skąd: Katowice

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


  1. <?php
  2. if (logowanie() == false || ($_SESSION['poziom'] != 'moderator' && $_SESSION['poziom'] != 'administrator'))
  3. ?>


Ten post edytował sopel 3.12.2005, 16:21:36


--------------------
"If debugging is the process of removing bugs, then programming must be the process of putting them in..."
sobstel.org
Go to the top of the page
+Quote Post
DavidPL
post
Post #3





Grupa: Zarejestrowani
Postów: 66
Pomógł: 1
Dołączył: 27.04.2004
Skąd: Rzeszów

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


  1. <?php
  2.  
  3. if(logowanie() == false || ($_SESSION['poziom'] != 'moderator' && $_SESSION['poziom'] != 'administrator'))
  4.  
  5. ?>


Jeśli chodzi Ci o to żeby dostęp był zabroniony dla tych którzy nie są zalogowani a także dla tych którzy są zalogowani ale nie są moderatorami lub administratorami.

Warto nauczyć się porządnie podstaw logiki bo bez tego w tym fachu ani rusz...

--
Dawid Szałęga


--------------------
Pozdrawiam,
Dawid
Go to the top of the page
+Quote Post
Apo
post
Post #4





Grupa: Zarejestrowani
Postów: 426
Pomógł: 1
Dołączył: 2.10.2005

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


thx za odpowiedzi. Ale został mi jeszcze jeden podobny problem. Mam taki skrypt wyświetlania wszystkich użytkowników i ich edycji itd w panelu administacyjnym oto kod:

  1. <?php
  2. switch($_GET['dzial']) {
  3. case 'users':
  4.  
  5. if(logowanie() == false || $_SESSION['poziom'] != 'administrator') { msg('Nie masz tu dostępu' ); } else {
  6.  
  7. $users = show( $users_db, $users );
  8. $users = unserialize($users);
  9.  
  10. if(isset($_GET['user']))
  11. {
  12. $user = htmlspecialchars($_GET['user']);
  13.  
  14. if($_GET['action'] == 'ok')
  15. {
  16. $nick = htmlspecialchars(trim($_POST['nick']));
  17. $email = htmlspecialchars(trim($_POST['email']));
  18.  
  19. $users[$user]['nick'] = $nick;
  20. $users[$user]['email'] = $email;
  21.  
  22. $users = serialize($users);
  23. add( $users_db, $users );
  24. echo 'ok';
  25. }
  26. else
  27. {
  28. echo '
  29. <form action="index.php?id=admin_panel&dzial=users&user='.$user.'&action=ok" method="post">
  30. login <input type="text" name="nick" value="'.$users[$user]['nick'].'" /><br />
  31. email <input type="text" name="email" value="'.$users[$user]['email'].'" /><br />
  32. <input type="submit" value="Zapisz zmiany" />
  33. </form>'; //itd
  34. }
  35. }
  36. else
  37. {
  38. for($i=0; $i<count($users);$i++) {
  39. echo '
  40. <a href="index.php?id=admin_panel&dzial=users&user='.$i.'">'.$users[$i]['nick'].'</a> || '.$users[$i]['create'];
  41. }
  42. }
  43. }
  44. break;
  45.  
  46. default:
  47. ////tu jest menu wyboru
  48. }
  49. ?>

No i teraz gdy wchodze na swój profil gdzie jestem administratorem to wszystko jest ok moge edytować dane, ale gdy wchodze na profil zwykłego użytkownika i chce mu edytować dane to wyskakuje 'Nie masz dostępu'
Bardzo prosze o pomoc bo nie wiem co już mam z tym zrobić :/

Ten post edytował Apo 3.12.2005, 17:12:45
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 06:08