plik signup.php
<?php require_once ('header.php'); require_once ('validate.class.php'); ?> <div id="signup"> <?php $validator = new ValidateSignUp(); $validator->ValidatePHP(); } ?> <h1 style="margin-left: 20px;">Rejestracja</h1> <h5 style="margin: 0 0 30px 20px; font-size: 10px;">Przyłącz się i załóż nowe konto!</h5> <div style="margin-left: 20px; font-weight: bold;"> <span>Pola oznaczone <span style="color:#FF0000">*</span> są wymagane.</span> </div> <form method="post" name="formularz"> <div> <label for="email" id="email_label">Adres email: <span class="require_field">*</span></label> <input name="email" id="email" type="text" size="27" maxlength="45" /> </div> <div> <label for="login_sign" id="login_label_sign">Login: <span class="require_field">*</span></label> <input name="login_sign" id="login_sign" type="text" size="16" maxlength="20" /> </div> <div> <input name="signup" type="submit" value="Zarejestruj" style="margin-left: 200px;" class="submit" /> </form>
klasy sprawdzające w pliku validate.class.php
<?php require 'dbFns.php'; class ValidateSignUp extends Database { public function ValidatePHP() { if(!$this->validateEmail($_POST['email'])) { return 0; } if(!$this->validateLogin($_POST['login_sign'])) { return 0; } } public function safe_output($string) { return $string; } private function validateEmail($value) { $value = $this->safe_output($value); $query = parent::query('SELECT email FROM users WHERE email = '."'$value'"); return 0; //zajety email $pattern = '/^w+([.-]?w+)*@w+([.-]?w+)*(.w{2,4})+$/'; } private function validateLogin($value) { $value = $this->safe_output($value); //walidacja danych wejściowych return 0; } } ?>
i nie mam pojęcia dlaczego po walidacji danych znikają wartości z pól. Przecież skrypt wykonuje się w tym samym pliku, sesja jest uruchomiona, czy zwracanie wartości 0 przez funkcje powoduje wyzerowanie się pól formularza?