Не отображать значения из массива - PullRequest
0 голосов
/ 15 ноября 2011

У меня есть форма с этим кодом, так что я могу вывести ошибки, когда проверяю поля из класса:

<?php if( isset($_POST['send'])){     
        $new_user = new Register();
        $new_user->check_required_fields($_POST);
        $new_user->display_errors();
    } 

?>

и класс:

<?php
    class Register extends Database
    {
        public $fname;
        public $lname;
        public $uname;
        public $email;
        public $pass1;
        public $pass2;
        public $year;
        public $month;
        public $day;
        public $required_array;
        public $error;
        public $errors = array();

        public function check_required_fields($required_array)
        {
             if(in_array('', $required_array)) {
                 $errors[] = "One or more fields are missing";
                 //var_dump($errors);
             }
             else
             { 
                 $errors[] = "All fields are ok";
                 $this->fname = $required_array['fname'];
                 $this->lname = $required_array['lname'];
                 $this->uname = $required_array['lname'];
                 $this->email = $required_array['email'];
                 $this->pass1 = $required_array['pass1'];
                 $this->pass2 = $required_array['pass2'];
                 $this->year = $required_array['year'];
                 $this->month = $required_array['month'];
                 $this->day = $required_array['day'];
             }

         }


         public function display_errors ($errors)
         {
             foreach ($errors as $error){
                 echo $error;
             }

         }

По какой-то причине он не будет отображать массив $ errors, и я не уверен, почему? Я был бы благодарен за любую помощь, спасибо.

Ответы [ 2 ]

5 голосов
/ 15 ноября 2011

Попробуйте использовать

$this->errors

как в check_required_fields, так и в display_errors.

1 голос
/ 15 ноября 2011
 public function display_errors ($errors)
 {
     foreach($errors as $error){
            echo $error;
        }

 }

"$ errors", которое вы используете в операторе foreach, это то, которое указано в списке параметров функции display_errors, и когда вы вызываете функцию, вы не задаете никаких параметров, поэтому эта переменная будет пустой

вы должны использовать $ this-> errors в выражении foreach

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...