Może zacznę od tego, że zmienne publiczne przy tak prywatnych rzeczach jest blee
Po drugie, nie moim zdaniem łączysz php 4 z php5. Rozumiem, że w php5 nadal łączenie odbywa się poprzez zwykły sterownik mysql, ale takie coś moim zdaniem jest nie najlepszym rozwiązaniem. Powinieneś napisać prostą klasę do obsługi mysql i do niej się odwoływać. To samo tyczy się sesjii jako mechanizmu działania.
Kolejne:
<?php
$this->haslo=$_POST['haslo'];
$this->haslotwo =$_POST['haslotwo'] ;
?>
Wtf?
To co napisałeś nie jest zgodne z ideą obiektowego programowania.
Pokaże ci jak to powinno mniej więcej wyglądać (szablon), a ty sobie to przerób, żeby to działało.
<?
class User {
private
$db,
$login,
$pass;
public function __construct($login, $pass)
{
$oConfig = new Config('config.php'); // pobiera dane z config.php
$this -> db = db::singleton;
$this -> db -> setSource($oConfig);
$this -> login = $login;
$this -> pass = $pass;
}
public function isValid()
{
return ($this -> login != null && $this -> pass != null);
}
public function check()
{
$this -> db -> setwhere ('login = '.$login);
$this -> db -> setwhere ('pass = '.$pass);
$this -> db -> dbSelect('users');
return $this -> db -> numrows();
}
public function save()
{
$oUser = new UserSession;
$oUser -> logged = true;
$oUser -> login = $login;
$oUser -> pass
= md5($pass); }
}
$sLogin = $_POST['login'];
$sPass = $_POST['password'];
$oUser = new user($sLogin, $sPass);
if ($oUser -> isValid() && $oUser -> check() == 1)
$oUser -> save();
?>
Reszta zależy od ciebie. I proszęcię bardzo - ucz się tworzyć "ładny" i przejrzysty kod. To podstawa.
Pozdrawiam