witam
w ktorym kierunku mam podazac aby dobrze nauczyc sie myslec obiektowo ?
ponizsza klasa nie dziala
troche nie rozumiem jak mialo by to dzialac
plik index.php:
<?
require_once('include/core.class.php');
require_once('include/users.class.php');
new core;
?>
<div id="logowanie">
<?
$user = new user;
$user->wyswietl_blad();
?>
</div>
plik user.class.php:
<?
class user extends core{
/*
wlasciwosci dla obiektu user:
- login
- haslo
- nazwa
- mail
metody dla obiektu user
- logowanie
- rejestracja
- potwierdzenie rejestracji
- edycja danych konta
- zapis danych konta
- usuwanie
- wylogowanie
*/
//login usera
var $user_login;
//haslo usera
var $user_pass;
//nazwa usera
var $user_nazwa;
//mail usera
var $user_mail;
//nazwa tabeli w ktorym trzymane sa dane userow
var $user_table = "user";
//bledy
var $blad = '';
function user(){
if(isset($_POST['login']) && isset($_POST['haslo'])){ //jezeli dane wyslane z formularza
if($this->sprawdz_poprawnosc($this->parse($_POST['login']), $this->parse($_POST['haslo']))){
//jezeli poprawne dane
$_SESSION['user_login'] = $_POST['login'];
header("Location: ".$_SERVER['SCRIPT_FILENAME']); }else{
$this->blad .= "Bledne dane logowania";
}
}else{
$this->sprawdz_stan();
}
}
function sprawdz_stan(){
// sprawdza czy jest ustawiona sesja, jezeli jest wyswietla menu dla usera,
// jesli nie ma wyswietla formularz logowania
if(isset($_SESSION['user_login'])){ $this->zalogowany();
$this->user_login = $_SESSION['user_login'];
}else{
$this->formularz();
}
}
function zalogowany(){
echo "<br>Witaj ".$this->user_login;
}#koniec zalogowany
function formularz(){
?><form action="" method="post">
login: <input name="login" type="text" /><br />
<br />haslo:
<input name="haslo" type="text" /><br />
<br />
<input name="ok" type="submit" value="ok" />
</form><?
}#koniec formularz
function sprawdz_poprawnosc($login, $haslo){
//funkcja pobiera login i haslo usera i sprawdza czy sie zgadzaja, wyswietla retur
n albo false
$zapytanie1 = sql_db::query("SELECT count(*) from ".$this->user_table."
WHERE user_login = '".$login."' AND user_pass='".md5($haslo)."'"); $dane1 = sql_db::fetch_row($zapytanie1);
$dane1 = $dane1[0];
if($dane1>0){
//dane poprawne, zapisuje zmienna sesyjna
return true;
}else{
return false;
}
}//koniec sprawdz_poprawnosc
function wyswietl_blad(){
//funkcja wyswietla bledy
if($this->blad != ''){
return $this->blad;
}else{
return false;
}
}//koniec wyswietl_blad
}
?>
Ten post edytował AxZx 19.12.2005, 15:31:40