To co jest w komentarzu, próbowałem zamieścić w oddzielnym pliku + dołączyć include
form.php
<?php
include ('register.php');
include('code.php');
class Form{
var $name, $value;
function __construct($method, $action){
if ($method == 'get' || $method== 'post'){
echo '<form method="' . $method . '" action="' . $action . '">'; } else {
return 0;
}
}
function __destruct(){
}
}
class Text extends Form{
function __construct($name){
echo '<input type ="text" name="' . $name . '">'; }
}
class Pass extends Form{
function __construct($name){
echo '<input type ="password" name="' . $name . '">'; }
}
class Submit extends Form{
function __construct($value){
echo '<input type ="submit" value="' . $value . '">'; }
}
class validateForm{
function validateEmail($date){
if (preg_match('/^[a-zA-Z0-9\.\-_]+\@[a-zA-Z0-9\.\-_]+\.[a-z]{2,4}$/D', $date)){ return true;
} else {
return false;
}
}
function validateLogin($date){
if (preg_match('/[a-zA-z0-9\_\-\+]{4,12}$/D', $date)){ return true;
} else {
return false;
}
}
function validatePassword($date){
if (preg_match('/[a-zA-z0-9\_\-\+\@\#]{4,35}$/D', $date)){ return true;
} else {
return false;
}
}
function validateCaptcha($date){
if($date==$_SESSION['captcha']){
return true;
} else {
return false;
}
}
}
class Query{
function query($date){
$db->query($date);
}
}
/*
if(!$_POST['login'] || !$_POST['pass'] || !$_POST['pass2'] || !$_POST['email']){
$form = new Form("post", 'index.php');
echo '<table><tr><td><b>Login</b></td><td>';
$login = new Text('login');
echo '</td></tr><tr><td><b>Hasło</b></td><td>';
$pass = new Pass('pass');
echo '</td></tr><tr><td><b>Powtórz hasło</b></td><td>';
$pass2 = new Pass('pass2');
echo '</td></tr><tr><td><b>Email</b></td><td>';
$email = new Text('email');
echo '</td></tr>';
echo '<tr><td colspan="2" align="center">Captcha</td></tr>
<tr><td><img src="captcha.php"</td><td>';
$captcha = new Text('captcha');
echo '</td></tr><tr><td colspan="2">';
$send = new Submit('Wyślij');
echo '</td></tr></table>';
} else {
$validate = new validateForm();
if(!$validate->validateLogin($_POST['login'])){
echo 'Nieprawidłowa nazwa użytkownika';
exit;
exit;
} elseif (!$validate->validatePassword($_POST['pass']) || !$validate->validatePassword($_POST['pass'])) {
echo 'Nieprawdiłowe hasło';
exit;
}elseif ($_POST['pass'] != $_POST['pass2']) {
echo 'Podałeś dwa różne hasła';
exit;
}elseif (!$validate->validateEmail($_POST['email'])) {
echo 'Nieprawdiłowy adres email';
exit;
}elseif (!$validate->validateCaptcha($_POST['captcha'])){
echo 'Nieprawidłowy kod';
exit;
} else {
$a = new checkUser;
if ($a->checkNewUser($_POST['login']) ){
echo 'User istnieje';
exit;
} else {
include('db.php');
$login = $db->real_escape_string($_POST['login']);
$pass = $db->real_escape_string($_POST['pass']);
$a = new code;
$pass = $a->codePass($pass);
$insert = $db->query("INSERT INTO register VALUES ('', '" .$login."', '".$pass."')");
if ($insert){
echo 'User został dudany';
exit;
} else {
echo 'Wystąpił nieoczekiwany błąd';
exit;
}
}
}
}
*/
?>
register.php
<?php
class checkUser{
public function checkNewUser($login){
include('db.php');
$query = $db->query("SELECT login FROM register WHERE login='" . $login . "'");
if ($query->num_rows == 0){
return false;
} else {
return true;
}
}
}
?>
To są dwa najważniejsze pliki. W pozostałych plikach także nie ma drugiej klasy form. Gdzie leży błąd?