Mam dla Was do sprawdzenia pocz±tek rejestracji. Nie ma tu jeszcze zapisu do bazy danych, ale mam gotow± walidację loginu i hasła. Został e-mail, ale to będzie analogicznie to loginu. Podaję kod:
<?php function connect() { try { $host = "localhost"; $dbname = "sfwyf"; $user = "root"; $pass = "vertrigo"; $dbh = new PDO("mysql:host=$host; dbname=$dbname", $user, $pass); return $dbh; } } function is_availble_login($dbh, $desired_login) // ta funkcja, bo jeszce będę wykorzystywał przy sprawdzaniu ajaxowym, to samo będzie dla meila { $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $sql = "SELECT * FROM users WHERE username =:username)"; $q = $dbh->prepare($sql); if ($count_row->fetchColumn() > 0) { return false; else return true; } } class r_User{ public $id; public $pass; public $pass2; public $name; public $username; public $email; public $permission_level; public $validate = true; function valid_form{ if(this->$pass==$this->pass2){ { array_push($registration_error, "Podane hasło nie jest poprawne. Musi posiadać od 5 do 15 znaków. Hasło może zawierać następuj±ce znaki: cyfry; litery; oraz następuj±ce znaki: !@#$%^&*()_-=+[]{}|.") $validate = false; } } $validate = false; } //teraz login { array_push($registration_error, "Podany login jest niepoprawnyasło nie jest poprawne. Musi posiadać od 5 do 15 znaków. Hasło może zawierać następuj±ce znaki: cyfry; litery; oraz następuj±ce znaki: ._-!@#$&") $validate = false; } else{ if(is_availble_login($dbh, $this->username)) { //wpisuje do bazy } else{ $validate = false; } } } $validate = false; } } } ?>
Możliwe, że gdzie¶ "ify" mog± zachodzić na siebie, ale to poprawię. Chodzi o koncepcje walidacji, jak j± poprawić/uoptymalnić?