Oop login system

tek sam preso na oop i vec pizdim kolko grjesim.

znaci radim login system i stalno mi vraca false, znaci da nisam logiran, logirao se ja ili ne. moj kod:

[php]class Session {
public $logiran;

function __construct() {
	session_start();
        $this->check_if_logged_in();
}

public function check_if_logged_in() {
	if(isset($_SESSION['uid'])) {
		$this->logiran = 1;
	}else {
		$this->logiran = 0;
		session_destroy();
	}
}

}

class User {

public function check_if_user_exists($q) {
	global $db;
		
	if(!$q) {
		die(mysql_error());
	}else {
		$num_rows = $db->rows($q);
		
		return $num_rows;
	}
}

// login user
public function login_user($username, $password) {
	global $db;
	global $session;
	
	$q = $db->query("SELECT * FROM ". TABLE_USERS. " WHERE username = '". $username ."' AND password = '". md5($password) ."'");
	
	if($this->check_if_user_exists($q) > 0) {
		$a = $db->assoc($q);
		
		$_SESSION['uid'] = $a['id'];
		$session->logiran = 1;
		
		if(isset($_SESSION['uid'])) {
			header("Location:index.php");
		}else {
			echo "YOu are not logged";
		}
	}else {
		echo "Username or password is wrong.";
	}
}

}

// index.php

if($session->logiran == 0) {
if(!isset($_POST[‘submit’])) {
// html forma tu
}else {
$username = $_POST[‘username’];
$password = $_POST[‘password’];

	if(!$username || !$password) {
		echo "You didn't fill all fields.";
	}else {
		return $user->login_user($username,$password);
	}
}

}else {
echo “Ti si vec logiran. <a href=“logout.php”>logout”;
}[/php]

POMOOOOC :frowning:

Prije nego bi počeo tražiti error izbacio bih globalne varijable.
Pošto si se primio OOP probaj izraditi prethodni kod bez globalnih varijabli jer korištenjem globalnih varijabli se krši jedno od osnovnih OOP načela.

[quote=“gorrc”]Prije nego bi počeo tražiti error izbacio bih globalne varijable.
Pošto si se primio OOP probaj izraditi prethodni kod bez globalnih varijabli jer korištenjem globalnih varijabli se krši jedno od osnovnih OOP načela.


[/quote]

a kako onda da ubacim podatke iz prethodne klase?

radiš instancu klase i pozivaš podatke kad ti zatrebaju:
to bi ovako nekako izgledalo

Trebale bi ti sve varijable u klasi biti private i dohvaćati ih kroz metode ali radi jednostvnosti to bi ovako nekako izgledalo.

U tvojm primjeru treba biti oprezan je se koristi sesija, tako da negdje ju treba pokrenuti. Za početak bi mogao samo na vrhu file staviti session start.

[quote=“gorrc”]radiš instancu klase i pozivaš podatke kad ti zatrebaju:
to bi ovako nekako izgledalo

Trebale bi ti sve varijable u klasi biti private i dohvaćati ih kroz metode ali radi jednostvnosti to bi ovako nekako izgledalo.

U tvojm primjeru treba biti oprezan je se koristi sesija, tako da negdje ju treba pokrenuti. Za početak bi mogao samo na vrhu file staviti session start.[/quote]

Bogami ja to nista nekuzim. Znaci u OOP-u imam klase, varijable i metode.

Klasa: class ime {}
Varijabla: public, private, protected $varijabla;
Metoda: static,public,private,protected function ime(atribut) {}

Ako ja imam klasu koja se spaja na mysql, kako da u klasi Session pozivam tu klasu a da nekoristim global??

Kada koristim public a kada private a kada protected? Moze li mi netko ovo detaljnije objasnit :SSSS

[quote=“jojo”]Bogami ja to nista nekuzim. Znaci u OOP-u imam klase, varijable i metode.

Klasa: class ime {}
Varijabla: public, private, protected $varijabla;
Metoda: static,public,private,protected function ime(atribut) {}

Ako ja imam klasu koja se spaja na mysql, kako da u klasi Session pozivam tu klasu a da nekoristim global??

Kada koristim public a kada private a kada protected? Moze li mi netko ovo detaljnije objasnit :SSSS[/quote]

prvo dobro nauči OOP.

Riješio sam to. Sad me zanima ovako nesto:

imam u folderu “lang” 2 fajla: hr.php i en.php

Kako da iščitavam sve te fajlove koji su, znaci zelim nesto kao foreach

za svaki file koji postoji u folderu lang bit ce ovako:

nadam se da me kuzite :confused:


dobijem link: hr.jpg.php

Kako da izbacim .jpg?

Ako stavim $explode = explode(".jpg",$filename), dobijem u linku hr.Array.php :S

dobijem link: hr.jpg.php

Kako da izbacim .jpg?

Ako stavim $explode = explode(".jpg",$filename), dobijem u linku hr.Array.php :S


Copyright © 2020 WM Forum - AboutContact - Sponsored by: Mydataknox & Webmaster.Ninja