Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][OOP] Kolejny mały błąd
Forum PHP.pl > Forum > Przedszkole
Xart
Witam napotkałem się znów na mały błąd... a mianowicie (przepraszam, że ciągle piszę tematy ale przerzucam się na OOP)
Mam w klasie funkcje logowania, która przydziela sesję do zmiennych sesyjnych

  1. $_SESSION['user'] = $login;
  2. $_SESSION['auth'] = TRUE;


Jak teraz zrobić, żeby po zainkludowaniu klasy index.php "widział" te wartości przypisane do zmiennych ?

Skrypt oczywiście działa ale wywala undefined index a poprostu nie chcę żeby tak wywalało..
Turson
Co to ma wspólnego z OOP?
Przecież to sesja, to co include ma wspólnego. Może nie masz session_start()
Xart
Sesja działa tylko jak np daje w kodzie

if($_SESSION['auth'] == TRUE) { to działa ale wywala undefined index
takto chodzi miodzio
sesję nadaje w klasie w jeden z funkcji


  1. public function login() {
  2. if(isset($_POST['wyslano'])) {
  3. $login = $this->mysqli->real_escape_string($_POST['login']);
  4. $password = $this->mysqli->real_escape_string($_POST['haslo']);
  5. if(!empty($login) && !empty($password)) {
  6. $key = 'ab12cd34ghip';
  7. $s1 = crc32(substr($key, 0, -9));
  8. $s2 = crc32(substr($key, 3, -6));
  9. $s3 = crc32(substr($key, 6, -3));
  10. $s4 = crc32(substr($key, 9));
  11. $kod = md5($password);
  12. $kod2 = $s3 . $s2 . $kod . $s1 . $s4;
  13. $kod3 = md5(hash('sha512', $kod2));
  14. $sprawdzenie = $this->mysqli->query("SELECT * FROM `users` WHERE `login` = '$login' AND `password` = '$kod3'");
  15. $sql = $sprawdzenie->num_rows;
  16. if ($sql == 1) {
  17. $_SESSION['user'] = $login;
  18. $_SESSION['auth'] = TRUE;
  19. echo '<br /><b>Zostałeś pomyślnie zalogowany. Zostaniesz automatycznie przeniesiony na stronę główną!</b>';
  20. echo '<meta http-equiv="refresh" content="1; URL=index.php">';
  21. } else {
  22. echo '<br /><b>Podany login lub hasło jest błędne! Spróbuj zalogować się ponownie.</b>';
  23. }
  24. } else {
  25. echo '<br /><b>Aby się zalogować musisz poprawnie wypełnić wszystkie pola!</b>';
  26. }
  27. }
  28. }
redeemer
Ty nie masz problemów z OOP (jeszcze) tylko z rozumieniem komunikatów błędów.
Xart
Dobra ;p już wiem oco chodzi smile.gif
Odwoływałem się do sesji i wywalało że nie ma indexu dlatego, że nie ustawiłem domyślnej wartości sesji na false. Czyli sesja była tylko po logowaniu. Teraz domyślnie jest ustawiona na false i działa smile.gif

@UP
Może masz racje ale ciężko mi idzie ta nauka OOP
Pyton_000
Ta funkcja nie ma nic wspólnego z OOP wink.gif
Turson
Cytat(Xart @ 30.04.2014, 19:23:34 ) *
Dobra ;p już wiem oco chodzi smile.gif
Odwoływałem się do sesji i wywalało że nie ma indexu dlatego, że nie ustawiłem domyślnej wartości sesji na false. Czyli sesja była tylko po logowaniu. Teraz domyślnie jest ustawiona na false i działa smile.gif

@UP
Może masz racje ale ciężko mi idzie ta nauka OOP

Skoro przy zalogowaniu ustawiasz $_SESSION['auth'] na true i false nigdy nie ustawiasz, to sprawdzaj po prostu if(isset($_SESSION['auth']))
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.