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
Kalysto
post
Post #2





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

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


Tak wygląda moja tabelka.

  1. --
  2. -- Struktura tabeli dla `konta`
  3. --
  4.  
  5. CREATE TABLE IF NOT EXISTS `konta` (
  6. `nr` int(11) NOT NULL AUTO_INCREMENT,
  7. `login` varchar(20) NOT NULL,
  8. `haslo` varchar(20) NOT NULL,
  9. `email` varchar(50) NOT NULL,
  10. `mod` int(1) NOT NULL DEFAULT '0',
  11. `admin` int(1) NOT NULL DEFAULT '0',
  12. PRIMARY KEY (`nr`)
  13. ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ;
  14.  
  15. --
  16. -- Zrzut danych tabeli `konta`
  17. --
  18.  
  19. INSERT INTO `konta` (`nr`, `login`, `haslo`, `email`, `mod`, `admin`) VALUES
  20. (1, 'Test', 'test', 'test@test.pl', 0, 0);


A tak wygląda mój plik login.php :

  1. <?php
  2. ?>
  3. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  4. "http://www.w3c.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  5. <html xmlns="http://www.w3c.org/1999/xhtml" xml:lang="pl" lang="pl">
  6. <head>
  7. <meta http-equiv="content-type" content="text/html; charset=iso-8859-2" />
  8. <title>#</title>
  9. </head>
  10. <body>
  11. <br><br><br><br><br><br><br><br><br>
  12. <?
  13.  
  14. include("config.php");
  15.  
  16. if(isset($_SESSION['zalogowany'])) {
  17. echo "Witam, ".$_SESSION['login'];
  18. }else{
  19.  
  20. if(isset($_POST['wyslij'])) {
  21.  
  22.  
  23. if(mysql_num_rows(mysql_query("SELECT login, haslo
  24. FROM konta WHERE login = '".$_POST['login']."'
  25. && haslo = '".$_POST['haslo']."' ")) > 0) {
  26.  
  27.  
  28. if(mysql_num_rows(mysql_query("SELECT nr FROM konta
  29. WHERE login = '".$_POST['login']."'
  30. && haslo = '".$_POST['haslo']."' ")) > 0 ) {
  31.  
  32. $_SESSION['zalogowany'] = true;
  33. $_SESSION['login'] = $_POST['login'];
  34. $_SESSION['haslo'] = $_POST['haslo'];
  35.  
  36. echo "<hr><center>";
  37. echo 'Zostałeś zalogowany. Za chwilę zostaniesz przeniesiony na stronę <a href="index.php">główną</a>.';
  38. echo "<script>setTimeout('document.location = \"index.php\"', 1000);</script>";
  39. echo "</center><hr>";
  40.  
  41.  
  42.  
  43.  
  44. } else {
  45.  
  46. echo "Złe hasło, proszę spróbować ponownie";
  47. }
  48. } else {
  49. echo "Nie ma takiego użytkownika";
  50. }
  51. } else {
  52.  
  53. ?>
  54. <form method='POST' action='logowanie.php'>
  55. <b>nazwa uzytkownika:</b> <input type='text' name='login'><br>
  56. <b>haslo:</b> <input type='password' name='haslo'><br>
  57. <input type='submit' value='Wyœlij' name='wyslij'>
  58. </form>
  59.  
  60. <?php
  61. }
  62. }
  63. ?>




i nie mam pojęcia co i jak mam dopisać żeby sprawdzało i odpowiednio nakierowywało na rangi żeby potem w indexie móc dać
  1.  
  2. if ($_SESSION['admin'] == 1) {
  3. print "PA";
  4. }
  5. if ($_SESSION['mod'] == 1) {
  6. print "PM";
  7. }

etc. lub coś podobnego do tego.

Nie wiem czy to sensowne, ale chce to zrobić w jednej tabeli a nie bawić sie w relacje czy inne pierdółki na bazie 15 tabel.



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: 5.10.2025 - 03:38