Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php][mysql] Sesje, a baza, a logowanie
Forum PHP.pl > Forum > Przedszkole
in5ane
Chcialbym zrobi ze jak uzytkownik sie logujeto sprawdza czy w bazie danych jego typ jest 2 (admin) czy 1 (uzytkownik) i musze to jakos zapisac w pamieci (najlepiej w sesji), bo to w tym pliku ponizej to wyswietla "Zarzadzanie DJ-ami & Adminami" tylko adminom, ale jak klikne juz w jakis link na stronie to tam nie ma tego link "Zarz... & Adminami" i jak wroce do tego indexu to tez juz nie ma, a byl. I jeszcze trzeba zrobic ze w jednym pliku ma byc "Dostep tylko dla administratorow" <-- czyli to tez trzeba jakos zapamietywac w tych sesjac. Prosze o pomoc, bo malo umiem php.

plik index.php
  1. <?php
  2. include_once('config.php');
  3. include_once('logowanie.php');
  4. ?>
  5. <?php if($_SESSION['logowanie'] == 'poprawne') {
  6. echo '<h2>Panel Administracyjny</h2><br><a href="index.php">Home</a> | <a href="kick_pilot.php">Kick Pilot</a> | <a href="konfiguracja.php">Konfiguracja Danych Pilota</a>';
  7.  
  8.  
  9. if ($row['typ'] =="2" )
  10. {echo(" | <a href="edit_dj.php">Zarządzanie DJ-ami & Adminami</a>");}
  11. else
  12. {echo("");}
  13.  
  14. echo '<br><br>';
  15. echo '<i>Wybierz interesującą Cię opcję</i><br><br>';
  16.  
  17. } else {
  18. echo '<h3>Aby zalogować się do Panelu Administracyjnego należy poniżej wpisać login i hasło</h3>';
  19. }
  20. echo logowanie();
  21. ?>



plik logowanie.php
  1. <?php
  2. include_once('config.php');
  3. ?>
  4. <?php
  5.  
  6. if(isset($_POST['logowanie'])) {
  7.  
  8. $query = @mysql_query('SELECT * FROM uzytkownicy WHERE login = "'.$_POST['login'].'" AND haslo = "'.$_POST['haslo'].'"') or die(mysql_error());
  9.  
  10. if(mysql_num_rows($query) == 1) {
  11. $_SESSION['logowanie'] = 'poprawne';
  12. $row = mysql_fetch_assoc($query);
  13. $_SESSION['user'] = $row['id'];
  14. mysql_query("UPDATE `uzytkownicy` SET `session`='".session_id()."' WHERE `id`='$row[id]'");
  15. } else {
  16. $_SESSION['logowanie'] = 'Błędny login lub hasło!';
  17. }
  18.  
  19. unset($_POST['logowanie']);
  20. }
  21.  
  22. if(isset($_POST['wylogowanie'])) {
  23.  
  24. unset($_SESSION['logowanie']);
  25. }
  26.  
  27.  
  28. function logowanie() {
  29.  
  30. if($_SESSION['logowanie'] == 'poprawne') {
  31.  $string = '<form action="'.getenv(REQUEST_URI).'" method="post">';
  32.  $string .= '<input type="submit" name="wylogowanie" value="Wyloguj" />';
  33.  $string .= '</form>';
  34. } else {
  35. $string = '<form action="'.getenv(REQUEST_URI).'" method="post">';
  36.  $string .= '<ul style="list-style-type: none; margin: 0; padding: 0;">';
  37.  
  38.  if(isset($_SESSION['logowanie'])) $string .= '<li>'.$_SESSION['logowanie'].'</li>';
  39.  
  40.  $string .= '<li>Login: <input type="text" name="login" /></li><br>';
  41.  $string .= '<li>Haslo: <input type="password" name="haslo" /></li><br>';
  42.  $string .= '<li><input type="submit" name="logowanie" value="Logowanie" /></li>';
  43.  $string .= '</ul>';
  44.  $string .= '</form>';
  45.  
  46. }
  47.  
  48. return $string;
  49.  
  50. }
  51.  
  52. ?>


W configu sa tylko dane do bazy.

DONE, SAM WYMYSLILEM, PROSZE ZAMKNAC I USUNAC.
sticker
zapisz do zmiennej sesyjnej prawa użytkownika i sprawdz je w indexie btw. co to jest u Ciebie w indexie $row['typ'] -> gdzie ty to zadeklarowałeś? brak kawałka kodu ? (pewnie to mają być uprawnienia , jeżeli tak to trzymaj je w zmiennej sesyjnej $r_SESSION['typ'] ale najpierw musisz tam coś wpisać w pliku logowanie)
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.