Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][OOP] Kolejny mały błąd
Xart
post
Post #1





Grupa: Zarejestrowani
Postów: 267
Pomógł: 6
Dołączył: 8.04.2013

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


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..

Ten post edytował Xart 30.04.2014, 17:53:41
Go to the top of the page
+Quote Post
Turson
post
Post #2





Grupa: Zarejestrowani
Postów: 4 291
Pomógł: 829
Dołączył: 14.02.2009
Skąd: łódź

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


Co to ma wspólnego z OOP?
Przecież to sesja, to co include ma wspólnego. Może nie masz session_start()
Go to the top of the page
+Quote Post
Xart
post
Post #3





Grupa: Zarejestrowani
Postów: 267
Pomógł: 6
Dołączył: 8.04.2013

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


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. }
Go to the top of the page
+Quote Post
redeemer
post
Post #4





Grupa: Zarejestrowani
Postów: 915
Pomógł: 210
Dołączył: 8.09.2009
Skąd: Tomaszów Lubelski/Wrocław

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


Ty nie masz problemów z OOP (jeszcze) tylko z rozumieniem komunikatów błędów.

Ten post edytował redeemer 30.04.2014, 18:18:30


--------------------
Go to the top of the page
+Quote Post
Xart
post
Post #5





Grupa: Zarejestrowani
Postów: 267
Pomógł: 6
Dołączył: 8.04.2013

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


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
Go to the top of the page
+Quote Post
Pyton_000
post
Post #6





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

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


Ta funkcja nie ma nic wspólnego z OOP wink.gif
Go to the top of the page
+Quote Post
Turson
post
Post #7





Grupa: Zarejestrowani
Postów: 4 291
Pomógł: 829
Dołączył: 14.02.2009
Skąd: łódź

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


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']))

Ten post edytował Turson 30.04.2014, 21:52:13
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.08.2025 - 00:27