cos nie dziala:
wywala blad:
<?php ERRNO: 8 TEKST: Undefined variable: user_name LOKALIZACJA: ../validate.class.php, linia 68 ?>
<?php require_once ('error_handler.php'); require_once ('config.php'); class Validate { private $mMysqli; function __construct() { $this->mMysqli = new mysqli(DB_HOST, DB_USER, DB_PASSWORD, DB_DATABASE); } function __destruct() { $this->mMysqli->close(); } public function ValidateAJAX($inputValue, $fieldID) { switch($fieldID) { // sprawdza poprawność nazwy użytkownika case 'txtUsername': return $this->validateUserName($inputValue); break; // sprawdza poprawność adresu email case 'txtEmail': return $this->validateEmail($inputValue); break; } } // sprawdza, czy wypełnione są wszystkie pola public function ValidatePHP() { // flaga błędu zostaje ustawiona na 1, jeśli wystąpi błąd $errorsExist = 0; // czyści flagi błędów w sesji // domyślnie wartości pól są uznane za poprawne $_SESSION['errors']['txtUsername'] = 'hidden'; $_SESSION['errors']['txtEmail'] = 'hidden'; // weryfikuje nazwę użytkownika if (!$this->validateUserName($_POST['txtUsername'])) { $_SESSION['errors']['txtUsername'] = 'error'; $errorsExist = 1; } // weryfikuje email if (!$this->validateEmail($_POST['txtEmail'])) { $_SESSION['errors']['txtEmail'] = 'error'; $errorsExist = 1; } // jeśli nie znaleziono błędów, to ustawia wartość pomyślnej weryfikacji if ($errorsExist == 0) { // usuwa znaki specjalne przez dodaniem wiadomości do bazy $user_name = $this->mMysqli->real_escape_string($user_name); $user_email = $this->mMysqli->real_escape_string($user_emai); // tworzy zapytanie SQL, które dodaje nową wiadomość do serwera $query = 'INSERT INTO chat_users(user_name,user_email) ' . 'VALUES (NOW(), "' . $user_name . '" , "' . $user_email . '")'; $result = $this->mMysqli->query($query); } else { // jeśli są błędy, zapisuje wprowadzone dane foreach ($_POST as $key => $value) { $_SESSION['values'][$key] = $_POST[$key]; } return 'index.php'; } } // weryfikacja nazwy użytkownika, nie może być pusta lub już rejestrowana private function validateUserName($value) { // przycięcie spacji początkowych i końcowych oraz zmiana znaków na kod // pusta nazwa użytkownika nie jest poprawna if ($value == null) return 0; // niepoprawna nazwa // sprawdza czy użytkownik nie występuje już w bazie $query = $this->mMysqli->query('SELECT user_name FROM chat_users ' . 'WHERE user_name="' . $value . '"'); if ($this->mMysqli->affected_rows > 0) return '0'; // niepoprawna nazwa else return '1'; // poprawna nazwa } // weryfikuje email private function validateEmail($value) { // poprawne formaty email: *@*.*, *@*.*.*, *.*@*.*, *.*@*.*.*) //return (!eregi('^[_a-z0-9-]+(.[_a-z0-9-]+)*@[a-z0-9-]+(.[a-z0-9-]+)*(.[a-z]{2,3})$', $value)) ? 0 : 1; if ($value == null) return 0; // niepoprawna nazwa // sprawdza czy użytkownik nie występuje już w bazie $query = $this->mMysqli->query('SELECT user_email FROM chat_users ' . 'WHERE user_email="' . $value . '"'); if ($this->mMysqli->affected_rows > 0) return '0'; // niepoprawna nazwa else return '1'; // poprawna nazwa } } ?>