Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP]Problem przy zalogowanej osobie, Odświeżanie wyrzuca mnie do formularza logowania
andrzejlechniak
post
Post #1





Grupa: Zarejestrowani
Postów: 242
Pomógł: 0
Dołączył: 7.11.2008

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


Cześć,
Mam trochę nietypowy problem - chociaż nie wiem do końca, co jest NIE TAK - Coś nie działa.
Więc tak: serwis na pierwszy rzut oka działa OK - loguje się przez login i hasło..., chociaż nie rozpoznaje RÓL, reszta danych zapisanych w sesji działa, wyświetlając potrzebne dane.
ALE: gdy chcę odświeżyć stronę [np. przez F5 lub Enter w pasku adresu] bądź przejść z innej strony na tą, gdzie są dane zalogowanej osoby, wywala mi Pustą stronę lub formularz logowania.

Oto mój kod - wiem, że jest jeszcze nie dopracowany, ale przedstawiam go w takim stanie w jakim go sam testuję:
  1. if(isset($_POST['Zaloguj']))
  2. {
  3. $login = $_POST['login'];
  4. $password = $_POST['password'];
  5.  
  6. $logowanie = "SELECT * FROM logowanie WHERE login='$login' and password='$password'";
  7. $result = mysqli_query($link,$logowanie);
  8. if($result)
  9. {
  10. $count = mysqli_num_rows($result);
  11. if($count==1)
  12. {
  13. $_SESSION['zalogowany'] = 'tak';
  14. $_SESSION['login'] = $login;
  15. $_SESSION['role'] = $role;
  16.  
  17. ////Rola użytkownika
  18. if($role == 0)
  19. {
  20. echo '<div>Udało się zalogować jako User | ZALOGOWANY: '.$_SESSION['login'].' <a href="logowanie.php?wyloguj='.$_SESSION['login'].'">Wyloguj</a></div>';
  21.  
  22. $results = mysqli_query($link,"SELECT * FROM logowanie");
  23. while($row = mysqli_fetch_array($results))
  24. {
  25. echo '<p>'.$row['login'].' - <a href="#">Edytuj dane</a></p>';
  26. }
  27. }
  28.  
  29. ////Rola administratora
  30. else if($role == 1)
  31. {
  32. echo '<div>Udało się zalogować jako Admin | ZALOGOWANY: '.$_SESSION['login'].' <a href="logowanie.php?wyloguj='.$_SESSION['login'].'">Wyloguj</a></div>';
  33.  
  34. $results = mysqli_query($link,"SELECT * FROM logowanie");
  35. while($row = mysqli_fetch_array($results))
  36. {
  37. echo '<p>'.$row['login'].' - <a href="#">Usuń użytkownika</a></p>';
  38. }
  39. }
  40. }
  41. else
  42. {
  43. echo '<p>Nie udało się zalogować. Wróć do <a href="index.php">STRONY GŁÓWNEJ</a> aby się zalogować.</p>';
  44. }
  45. }
  46. else
  47. {
  48. echo '<p>Błąd logowania poziom.</p>';
  49. }
  50. }


Prośba o pomoc. A

Ten post edytował andrzejlechniak 11.08.2019, 17:36:20
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
dublinka
post
Post #2





Grupa: Zarejestrowani
Postów: 594
Pomógł: 66
Dołączył: 22.02.2008
Skąd: Dublin

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


Cytat(andrzejlechniak @ 12.08.2019, 12:00:40 ) *
Pozostaje to, o czym de facto pisałem na początku - odświeżanie strony. Czy można ten skrypt jakoś zabezpieczyć, aby odświeżając stronę trafiać na zablokowaną część?

Ten plik logowania nie powinien wygladac tak jak wyglada. Tuz po zalogowaniu i zarejestrowaniu sesji powinno byc przekierowanie na dana strone (chocby index) Nie powinno sie wyswietlac niczego w takim pliku. On ma sluzyc tylko do zalogowania. Samo wyswietlenie kto jest zalogowany i jaka ma range juz w innych plikach. 'zabezpieczenie' o ktorym piszesz to jeden warunek na samym poczatku sprawadzajacy czy dana sesja istnieje (obojetnie ktora badz ustaw jakas dodatkową jeszcze) Jeśli istnieje od razu header() jesli nie skrypt leci dalej. Ot cale zabezpieczenie.

Ten post edytował dublinka 13.08.2019, 06:37:33
Go to the top of the page
+Quote Post

Posty w temacie
- andrzejlechniak   [MySQL][PHP]Problem przy zalogowanej osobie   11.08.2019, 17:09:57
- - Tomplus   Druknij sobie: [PHP] pobierz, plaintext print_r...   12.08.2019, 04:26:54
- - dublinka   Jesli masz dwie opcje 1 i 0 to musisz je przypisac...   12.08.2019, 06:23:49
- - andrzejlechniak   Zrobiłem jak poradziliście mi. Nadal myli mi role ...   12.08.2019, 07:17:54
- - dublinka   Jaka nazwe w bazie ma kolumna na role   12.08.2019, 07:23:44
- - andrzejlechniak   mam tabele logowanie, w niej tabela role (tinyINT)...   12.08.2019, 07:30:36
- - dublinka   Cytat(andrzejlechniak @ 12.08.2019, 07:30...   12.08.2019, 07:33:17
- - andrzejlechniak   TAK   12.08.2019, 07:43:24
- - viking   Podajesz coś takiego: [PHP] pobierz, plaintext $_S...   12.08.2019, 07:49:10
- - dublinka   Rejestrowac sesje masz w konkretnych warunkach. If...   12.08.2019, 07:49:52
- - dwadolary   Brak deklaracji $role. Natomiast $row[...   12.08.2019, 07:55:31
- - dublinka   Cytat(dwadolary @ 12.08.2019, 07:55:3...   12.08.2019, 08:09:26
- - andrzejlechniak   Czy zatem zmienna $role powinna być zadeklaro...   12.08.2019, 08:29:12
- - dublinka   Cytat(andrzejlechniak @ 12.08.2019, 08:29...   12.08.2019, 08:34:24
- - viking   Rola powinna być odczytana z bazy i po poprawnym p...   12.08.2019, 08:36:27
- - andrzejlechniak   Dobra. 1. Przesyłam przez formularz dane: login i ...   12.08.2019, 08:54:16
- - dublinka   Przeciez juz napisalem wczesniej. Odczytujesz dan...   12.08.2019, 09:45:47
- - viking   2. Tutaj w sesji przekazuję login i hasło. - Po co...   12.08.2019, 10:09:47
- - andrzejlechniak   Sprawdzam, sprawdzam i niestety nie działa. To zna...   12.08.2019, 12:00:40
- - dublinka   Cytat(andrzejlechniak @ 12.08.2019, 12:00...   12.08.2019, 14:42:01
- - andrzejlechniak   W sensie, aby na innej stronie podawać coś takiego...   12.08.2019, 15:23:26
- - viking   if($_SESSION['zalogowany']== true) z ...   12.08.2019, 15:26:54
- - andrzejlechniak   Dalej tak samo jest. Powiem o co mi chodzi. Klika...   12.08.2019, 15:39:37
- - viking   A od kiedy to można wysyłać nagłówki po treści? Gd...   12.08.2019, 19:12:36
- - andrzejlechniak   Nie mam włączonego blokowania komunikatów o błędac...   12.08.2019, 19:16:29
- - dublinka   Cytat(andrzejlechniak @ 12.08.2019, 12:00...   13.08.2019, 04:51:01
- - andrzejlechniak   Trochę pomyślałem nad tym i faktycznie - sposób tu...   13.08.2019, 11:47:19
- - dublinka   Cytat(andrzejlechniak @ 13.08.2019, 11:47...   13.08.2019, 12:05:24
- - andrzejlechniak   Trochę gubisz się w zeznaniach. Skoro uważasz że t...   16.08.2019, 18:05:15
- - dublinka   Cytat(andrzejlechniak @ 16.08.2019, 18:05...   16.08.2019, 20:37:06


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: 2.10.2025 - 17:25