Witam. Napisałem moją pierwszą klase

. Chciałbym abyście ją ocenili, w miare możliwości doradzili co robię źle(OOP zawsze mi nie wychodziło). Nie jestem pewien czy z sensem ją napisałem, ale jak już wspominałem.. to pierwsza klasa

.
<?php
$title = "Rejestracja";
require_once('./includes/head.php');
class register
{
var $login;
var $password;
var $email;
var $captcha;
function __construct($varlog, $varpass, $varemail, $varcapt)
{
$this->login = $varlog;
$this->password = $varpass;
$this->email = $varemail;
$this->captcha = $varcapt;
}
function ValidNick()
{
if(preg_match('@^[A-Z][A-Za-z0-9]{3,15}$@', $this->login)) return true;
else
return false;
}
function ValidPass()
{
if(preg_match('@^[A-Za-z0-9_ ]{6,15}$@', $this->password)) return true;
else
return false;
}
function ValidEmail()
{
if(filter_var($this->email, FILTER_VALIDATE_EMAIL))
return true;
else
return false;
}
function cap($x, $y)
{
if($x+$y==$this->captcha)
return true;
else
error("Nieprawidłowy wynik działania!");
}
function check_number($field)
{
$db = $pdo->prepare('SELECT `id` FROM `uzytkownicy` WHERE '.$field.'=?');
$db->execute(array($this->login));
if($db->rowCount()>0)
{
return false;
}
else { return true; }
$db-> closeCursor();
}
function register_now($soil)
{
$db = $pdo->prepare('INSERT INTO `uzytkownicy` (id, login, haslo, ranga, email, soil) VALUES(?, ?, ?, ?, ?, ?)');
$db->execute(array(NULL, $this->login, sha1
($this->password.$soil), 0
, $this->email, $soil));
if(!$db)
{
error("Nie udało się połączyć z bazą");
}
else
{
echo"Zostałeś poprawnie zarejestrowany."; }
}
}
if (!isset($_POST['action'])) {
//For Captcha
(
1=>'jeden',
2=>'dwa',
3=>'trzy',
4=>'cztery',
5=>'pięć',
6=>'sześć',
7=>'siedem',
8=>'osiem',
9=>'dziewięć'
);
}
if(isset($_POST['action']) && $_POST['action']=="ok") {
/**
* Declaration of variables
*/
$captcha = intval($_POST['captcha']);
$obj = new register($login, $password, $email, $captcha);
if(!$obj->ValidNick())
{
error("Niepoprawny nick!");
}
if(!$obj->ValidPass())
{
error("Niepoprawne hasło");
}
if(!$obj->ValidEmail())
{
error("Niepoprawny adres email");
}
if(!$obj->check_number('login'))
{
error("Nick jest zajęty!");
}
if(!$obj->check_number('email'))
{
error("Email jest zajęty!");
}
$obj->cap($_SESSION['num1'], $_SESSION['num2']);
unset($_SESSION['num1'],$_SESSION['num2']);
/**
* Soil for user
*/
$soil='';
for($i=0;$i<=5;$i++)
{
{
case 1
: $soil.=chr
(rand(48
,57
)); break; case 2
: $soil.=chr
(rand(65
,90
)); break; case 3
: $soil.=chr
(rand(97
,122
)); break; }
}
$obj->register_now($soil);
}
/**
* Assign variables and display page
*/
$smarty->assign(array("Num1"=>$liczby[$_SESSION['num1']], "Num2"=>$liczby[$_SESSION['num2']],
"Action"=>$_POST['action']));
$smarty->display('cap.tpl');
require_once("./includes/footer.php");
?>