Klasy

0

Witam serdecznie,
Potrzebuję waszej pomocy. Otóż stworzyłem sobie klasę, a w niej obiekt, tak jak tu:

class user{
public function isLogged(){
			if(!isset($_SESSION['user_id'])){
				return false;
			}else{
				return true;
			}
		}
public static function getUserData(){
			if(!isset($_SESSION['user_id'])){
				return false;
			}else{
				$user_id = $_SESSION['user_id'];
				if($user_id == null){
					return false;
				}else{
					$connect = mysqli_connect('localhost','root','moje haslo','test');
					$zapytanie = mysqli_query($connect, "SELECT * FROM `users` WHERE `id` = 2");
					$user_data = mysqli_fetch_array($zapytanie);
					return $user_data;
				}
			}
}

Pierwsza funkcja sprawdzania czy użytkownik jest zalogowany działa mi prawidłowo (poniżej mój kod)

<?PHP
	if($user->isLogged()){
		echo "Zalogowany";
	}else{
		echo "Zaloguj sie";
	}
?>

Natomiast próbowałem już chyba wszystkiego i nie wiem jak jak wyciągnąć wszystkie dane zalogowanego użytkownika.
Mogę liczyć na waszą pomoc? :D

1

To nie klasa, tylko 2 funkcje zamknięte w nazwę poprzedzającą słowem "class" ;) (tzn. nie ma nic wspólnego z OOP)

Może warto do WHERE w zapytaniu SQL wprowadzić prawidłowe id użytkownika (to z sesji)?

0

To nie ma znaczenia, tak też próbowałem. W bazie oczywiście znajduje się użytkownik o id 2.
Może to kwestia mojego wywoływania tej funkcji? Napiszesz jak Ty byś wyciągnął dane danego użytkownika z bazy przy pomocy tej funkcji? :P

0
  1. Włącz raportowanie błędów
error_reporting(E_ALL);
ini_set('display_errors',1); 
  1. Sprawdź czy to query w ogóle się wykonuje (mysqli_error, mysqli_errno)
  2. Podaj nam wynik tej funkcji
0

Jednak problem już rozwiązany. Doznałem cudownego olśnienia. Źle wywoływałem tę funkcję, więc to nie miało prawa działać. Dzięki za zainteresowanie tematem :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1