Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP]Sesje logowanie i rangi, Pomoc
Kalysto
post
Post #1





Grupa: Zarejestrowani
Postów: 31
Pomógł: 0
Dołączył: 16.04.2011
Skąd: Chełm

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


Witam. Mam taki problem otóż staram się napisać skrypt logowania oparty na rangach (user, admin, mod). Rangi są zawarte w MYSQL. Wygląda to tak iż w bazie w tabeli są kolumny admin, mod (INT) jeśli wpiszesz 1 to jesteś adminem lub modem, jeśli 0 to nie. Ale problem leży w tym że nie wiem zbytnio jak napisać skrypt w logowaniu który sprawdzałby czy użytkownik jest admin, mod lub user i uruchamiał sesję wraz z odpowiednimi prawami. Proszę o wskazówki i pomoc:)

Jeśli temat umieściłem w złym miejscu najmocniej przepraszam iż jestem tu nową osobą.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
kamaZ
post
Post #2





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 17.04.2011

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


ja u siebie zrobilem osobny plik: "uprawnienia.php",
w którym to nadaje wlasnie uprawnienia,
wyglada to nastepujaco:
  1. Uzytkownicy: <br /> <select name="uzytkownicy">
  2. <?php
  3. $sql = "SELECT * FROM users";
  4. $result = $mq($sql) or die(mysql_error());
  5.  
  6. while ($row = mysql_fetch_object($result)) //1
  7. {
  8. echo "<option value=\"$row->id\">$row->login</option>";
  9. }
  10. ?>
  11. </select>
  12.  
  13. <select name="uprawnienia"> //2
  14.  
  15.  
  16.  
  17. <option value="0" name="nazwa0">Uzytkownik</option>
  18. <option value="1" name="1">Admin głowny</option>
  19. <option value="2" name="2">Mod 1</option>
  20. <option value="3" name="3">Mod 2</option>
  21. <option value="4" name="4">Mod 3</option>
  22. <option value="5" name="5">Mod 4</option>
  23.  
  24. </select>
  25.  
  26. <input type="submit" name="subupr" value="ok">
  27. </form>
  28.  
  29. <table>
  30. <tr>
  31. <td>user<td> <td>0</td>
  32. </tr>
  33. <tr>
  34. <td>glowny<td> <td>1</td>
  35. </tr>
  36. <tr>
  37. <td>Mod1<td> <td>2</td>
  38. </tr>
  39. <tr>
  40. <td>Mod2<td> <td>3</td>
  41. </tr>
  42. <tr>
  43. <td>Mod 3<td> <td>4</td>
  44. </tr>
  45. <tr>
  46. <td>Mod 4<td> <td>5</td>
  47. </tr>
  48. </table>
  49.  
  50.  
  51.  
  52.  
  53. <?php
  54.  
  55. if (isset($_POST['subupr'])) { // jezeli zostal wyslany formularz
  56. $uprawnienie = $_POST['uprawnienia']; //3
  57. $user = $_POST['uzytkownicy'];
  58.  
  59. $sql = "UPDATE users SET uprawnienia = '$uprawnienie' where id = '$user'" or die (mysql_error()); //4
  60. $wynik = $mq ($sql);
  61. }
  62.  
  63. ?>

1. wyszukuje uzytkownikow w bazie danych aby ich wyswietlic w selekcie
2. Kolejny select - juz z konkretnymi uprawnieniami
3. zmienna $uprawnienie przyjmuje wartosc wyslanemu uprawnieniu
4. I juz aktualizacja tabeli w bazie danych - gdzie uprawnienia przyjmuje wartosc wyslanemu uprawnieniu

Teraz kolej na przypisanie jeszcze sesjii:
  1.  
  2. $sql1 = "SELECT * FROM users where login ='$login' AND haslo ='$haslo' AND uprawnienia ='1'";
  3.  
  4. $wynik1 = $mq($sql1);
  5.  
  6. if (mysql_fetch_assoc($wynik1)) { // jezeli uprawnienie ma wartosc 1 to sesja admin przyjmuje wartosc 1
  7. $_SESSION['admin'] = 1;

I teraz w kazdej podstronie do ktorej dostep ma miec admin dajemy
  1. <?php
  2. if (@$_SESSION['admin'] == 1)
  3. { echo"do tego ma dostep tylko admin";
  4. }
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: 13.10.2025 - 09:45