Kawałek z pliku rejestracji (formularz etc):
<?php class rejestracja { public $login; public $uwagi = ''; private $mail; private $pass; private $pass2; public function __construct($login, $mail, $pass, $pass2) { $this -> login = $login; $this -> pass = $pass; $this -> pass2 = $pass2; } public function SprawdzLogin() { $this -> uwagi = 'Login jest za długi. <a href="rejestracja.php">Spróbuj ponownie.</a>'; $this -> uwagi = 'Login posiada błędne znaki! <a href="rejestracja.php">Spróbuj ponownie.</a>'; } elseif(1 > 0) { $this -> pre1 = baza::instance() -> prepare('SELECT id FROM users WHERE login = ? COLLATE utf8_bin limit 1'); if(($this -> pre1 -> rowCount()) > 0) { // jeśli login istnieje $this -> uwagi = 'Obywatel o takim loginie już istnieje. <a href="rejestracja.php">Spróbuj ponownie.</a>'; } } } public function SprawdzMail() { $this -> uwagi = 'E-mail jest za długi. <a href="rejestracja.php">Spróbuj ponownie.</a>'; } elseif(!preg_match('/^[_\.0-9a-zA-Z-]+@([0-9a-zA-Z][0-9a-zA-Z-]+\.)+[a-zA-Z]{2,6}$/i', $this -> mail)) { $this -> uwagi = 'Wpisany adres e-mail jest niepoprawny! <a href="rejestracja.php">Spróbuj ponownie.</a>'; } elseif(1 > 0) { $this -> pre2 = baza::instance() -> prepare('SELECT id FROM users WHERE mail = ?'); if(($this -> pre2 -> rowCount()) > 0) { // jeśli mail istnieje $this -> uwagi = 'Obywatel o takim adresie e-mail już istnieje. <a href="rejestracja.php">Spróbuj ponownie.</a>'; } } } public function SprawdzHaslo() { $this -> uwagi = 'Hasło jest za krótkie. <a href="rejestracja.php">Spróbuj ponownie.</a>'; } elseif(!$this -> pass === $this -> pass2) { $this -> uwagi = 'Hasła się różnią. <a href="rejestracja.php">Spróbuj ponownie.</a>'; } } public function Rejestruj() { $this -> pre3 = baza::instance() -> prepare('INSERT INTO users (login, haslo, mail, data_rej) VALUES (:login, :pass, :mail, :data)'); $this -> uwagi = 'Obywatelu <b>'.$this -> login.'</b>! Zostałeś przyjęty do państwa! <a href="logowanie.php">Zaloguj się!</a>'; } } ?>
Pytania:
if ($_POST['login'] != '' && $_POST['mail'] != '' && $_POST['pass'] != '' && $_POST['pass2'] != '') { // czy pola nie są puste? require_once 'klasy/rejestracja.php'; $rejestracja = new rejestracja($_POST['login'], $_POST['mail'], $_POST['pass'], $_POST['pass2']); $rejestracja -> SprawdzLogin(); if($rejestracja -> uwagi != '') { } elseif($rejestracja -> uwagi = '') { $zapytania++; $rejestracja -> SprawdzMail(); } elseif($rejestracja -> uwagi != '') { } elseif($rejestracja -> uwagi = '') { $zapytania++; $rejestracja -> SprawdzHaslo(); } elseif($rejestracja -> uwagi != '') { } else { $rejestracja -> Rejestruj(); $zapytania++; } } else { // a jak się czegoś zapomniało } } else { wyswietlanie formularza
1. Co robię źle?
2. Da się to jakoś napisać bardziej optymalnie?