Kod:
DataBaseClass.php
<?php class DataBase { private $host; private $user; private $password; private $database; public $connection; public function __construct($host, $user, $password) { $this->host = $host; $this->user = $user; $this->password = $password; } public function select_db($database) { $this->database = $database; } public function connect() { } public function query($query) { } public function __destruct() { } } ?>
RegistrationClass.php
<?php class Registration { public $connection; public $errors; public $User; public function __construct($User) { $this->User = $User; } public function set_connection($database) { $this->connection = $database; } public function check_user_register() { $query = $this->connection->query("SELECT name FROM users WHERE name = ".$this->User->login); if($name[0] == $this->User->login){ $this->errors[] = "Taki użytkownik już jest zarejestrowany"; return false; } } public function register_user() { if($this->connection->$query = "INSERT INTO users (name, password) VALUES(".$this->User->login.", ".$this->User->password.")"){ return true; }else{ $this->errors[] = "Rejestracja nie powiodła się"; return false; } } } ?>
UserClass.php
<?php class User { public $login; public $password; public $password2; public function __construct($login, $password, $password2) { $this->login = $login; $this->password = $password; $this->password2 = $password2; } } ?>
Używanie:
<form action="Form.php" method="post"> Login:<input type="text" name="login" /><br> Hasło:<input type="password" name="pass1" /><br> Potwierdź hasło: <input type="password" name="pass2" /><br> <input type="submit" name="submit" value="Wyślij"> </form> <?php if($_POST['submit'] == 'Wyślij'){ include("./DataBaseClass.php"); include("./ValidationClass.php"); include("./UserClass.php"); include("./RegistrationClass.php"); if($_POST['login'] && $_POST['pass1']==$_POST['pass2']){ $Database = new DataBase('localhost', 'root', 'pass'); $Database->select_db('users'); $Database->connect(); $User = new User($_POST['login'], $_POST['pass'], $_POST['pass2']); $Registration = new Registration($User); $Registration->set_connection($Database); if($Registration->check_user_register()){ $Registration->register_user(); } }else{ } } ?>
Jestem nowy w OOP i pewnie to jest prosty problem, ale nie wiem jak sobie z nim poradzić. Przy okazji chciałbym się zapytać czy dobrze myślę i czy idę w dobrą stronę OOP.