Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: POCZĄTKUJĄCY problem z rejestracją
Forum PHP.pl > Forum > Przedszkole
kaker2
Witam mam problem jak się zaloguje i sie chce wylogować to po tym chce wyświetlić wiadomość wylogowałeś się i przekierunkować się do strony głównej index.php i nie moge wyświetlić tego napisu zaznaczam że jest to mój pierwszy projekt jestem początkujący wiem że nie ma zabezpieczen to pomijam narazie
oto ten plik:

  1.  
  2. //deklarujemy zmienne z formularza
  3. $login=$_POST['login'];
  4. $haslo=$_POST['haslo'];
  5.  
  6.  
  7. //sprawdzamy czy hasło i login zostało wprowadzone
  8. if (!$login || !$haslo)
  9. {
  10. echo 'Proszę o wypełnienie wszystkich danych czyli login i haslo';
  11. echo '<a href="index.php">wróć</a>';
  12. }
  13.  
  14.  
  15.  
  16. //łączymy się z bazą danych mysql
  17. $polacz=mysql_connect("localhost","root","");
  18. if (!$polacz)
  19. {
  20. echo 'Błąd połączenia z bazą danych';
  21. }
  22. $baza= mysql_select_db("logowanie",$polacz);
  23. if (!$baza)
  24. {
  25. echo 'Błąd połączenia z odpowiednią bazą';
  26. die ();
  27. }
  28.  
  29. //logowanie
  30. //Sprawdzamy czy w bazie danych znajduje się podany użytkownik z odpowiednim haslem
  31. $sprawdz="select * from logowanie where login='".$login."' and haslo='".$haslo."' ";
  32. $zapyt= mysql_num_rows(mysql_query($sprawdz));
  33.  
  34.  
  35.  
  36. //sprawdzamy czy istnieje wartość równa zapytaniu jeżeli tak rozpoczynamy sesje zalogowany
  37. if (isset($zapyt) && $zapyt == 1)
  38. {
  39. $_SESSION['zalogowany']==true;
  40. echo 'Właśnie się zalogowałeś<br>';
  41. echo '<a href="logowanie.php?akcja==wyloguj">Wyloguj z sesjii</a>';
  42. }
  43. else
  44. {
  45. echo 'Błąd przy logowaniu<br>
  46. Proszę sprawdzić czy zostały wpisane poprawnie login i hasło <a href="index.php">wróć</a>';
  47. }
  48.  
  49. //jeżeli istnieje zmienna akcja i ta zmienna ma wartość wyloguj to cofnij sesje zalogowany
  50. if (isset($_GET['akcja']) && $_GET['akcja']=='wyloguj')
  51. {
  52. $_SESSION['zalogowany']==false;
  53. echo 'wylogowałeś się';
  54. }
  55.  
nospor
Temat: Jak poprawnie zatytulowac watek
Tytul ma odzwierciedla problem a nie stan twojej wiedzy. Krzyczący POCZATKUJACY jest totalnie zbędne w tytule.

ps: przenosze na przedszkole. Tam tez zakladaj ewentualne inne tematy
Martin-ZG
masz błąd z $_SESSION['zalogowany']

po sprawdzeniu wartości z bazy-danych musisz ustawić odpowiednia wartość w $_SESSION['zalogowany']; np $_SESSION['zalogowany']=1;

i później ją sprawdzać if np

if($_SESSION['zalogowany']==1) {

echo "dostep dla zalogowanego "


}else{

header('Location: logowanie.php');

}


widzę, że nie za bardzo rozumiesz ideę sesji, więc pokazuję objaśniam (mam nadzieję, że dużo nie nakłamię), $_SESSION to taki sprytny magazyn, który otwierasz funkcją session_start(); gdy masz otwarty ten magazyn możesz do niego chować różne dane deklarując zmienne sesyjne $_SESSION['dana1'], $_SESSION['dana2'] i masz do tych danych dostęp w całej aplikacji do póki magazyn jest otarty czyli do momentu zniszczenia sesji session_destroy() bez tego po odświeżeniu strony dane przepadają i tyle. A kontrolę dostępu musisz sam opracować ustawiając wartości tych danych w magazynie i ich sprawdzanie, jak waldek ($_SESSION['waldek']) ma tak, to moze dodawac posty, jak ma nie to moze tylko czytac itp itd
kalipek
Przypisz prawidłowo true i false do $_SESSION['zalogowany'] za pomocą "=", w pokazanym kodzie zastosowałeś operator porównania "==".

Odnośnie wylogowania:
  1. if (isset($_GET['akcja']) && $_GET['akcja']=='wyloguj')
  2. {
  3. unset($_SESSION['zalogowany']);
  4. $_SESSION['message'] = 'wylogowałeś się';
  5. header('Location: index.php');
  6. }



w index.php:
  1. if(isset($_SESSION['message']))
  2. {
  3. echo $_SESSION['message'];
  4. unset($_SESSION['message']); // usuwasz zmienną z wiadomością, inaczej będzie wyświetlana przy każdym odświeżeniu
  5. }
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.