PHP dizi (OOP acemi biraz yardıma ihtiyacı var) hiçbir şey döndürür

0 Cevap php

Ben insanlar belirtilen alanlara karakter belirli bir sayıda girdiğinizden emin olmak için kontrol edecek bir formu validator sınıf oluşturmak için çalışıyorum. İşte benim sayfası:

if ($_SERVER['REQUEST_METHOD'] == 'POST') { 
    require_once('functions.php');
    require_once('formValidator.php');


    $validator = new FormValidator();
    $validator->setFirst($_POST['first']);
    $validator->setLast($_POST['last']);
    $validator->setEmail($_POST['email']);

    $errors = array();
    $validator->checkLength($errors);
    echo $errors;


    if (!empty($errors)) {
        echo '<p>' . $message . '</p>';
    }
}

Burada / / form (yukarıdaki kod PHP etiketleri, elbette)

İşte benim sınıf:

class FormValidator {

    public $first;
    public $last;
    public $email;
    public $fields_with_lengths;

    public function setFirst($first) {   
        $this->first = $first; 
    }

    public function setLast($last) {   
        $this->last = $last; 
    }

    public function setEmail($email) {   
        $this->email = $email; 
    }

    function setLengths() {
        $this->fields_with_lengths = array('first' => 2, 'last' => 2, 'email' => 8);
    }

    function checkLength($fields_with_lengths) {
        $length_errors = array();

        foreach($fields_with_lengths as $fieldname => $maxlength) {
            if (strlen(trim($_POST[$fieldname])) > $maxlength) {
                $length_errors[] = $fieldname;
            }
        }

        if (!empty($length_errors)) {
            $message = 'There were no errors';
        } else {
            $message = 'There were errors';

        }
        return $message;
    }

}

$validator = new FormValidator();
$validator->setFirst($_POST['first']);
$validator->setLast($_POST['last']);
$validator->setEmail($_POST['email']);

Herkes yanlış ne yapıyorum görebilir miyim? Ben bazı yardım için minnettar olurum. Teşekkürler.

0 Cevap