diff --git a/class/boolfield.php b/class/boolfield.php index c1407b92dbfff5350d4ba46fcdc5ed3eb992a25b..fa9c8a80422db93c2acc9b5284211111271706d9 100644 --- a/class/boolfield.php +++ b/class/boolfield.php @@ -13,9 +13,10 @@ class BoolField extends Field public function validate() { if (isset($_POST[$this->name])) - $this->value = $_POST[$this->name]; - else - $this->value = NULL; + if ($_POST[$this->name] == 'on') + $this->value = true; + else + $this->value = false; return true; } } diff --git a/class/field.php b/class/field.php index 283fdbe60274a6330ae28832127fbfac0c243b31..1b5016e3f5f7d8c2f9f47b25b0ebfe3309cdca8e 100644 --- a/class/field.php +++ b/class/field.php @@ -11,9 +11,9 @@ class Field { public function html() { // Todo, if isset($_POST[$this->name]) && !$this->validate() => Show a error msg explanation for this line. return '<div class="form-group"> - <label for="form'.$this->name.'">'.ucfirst($this->name).'</label> - <input type="text" class="form-control" name="'.$this->name.'" value="'.$this->value.'" > - </div>'; + <label for="form'.$this->name.'">'.ucfirst($this->name).'</label> + <input type="text" class="form-control" name="'.$this->name.'" value="'.$this->value.'" > + </div>'; } /* @@ -21,8 +21,12 @@ class Field { and return false, if data is not valid ! */ public function validate() { - $this->value = $_POST[$this->name]; - return true; + if (isset($_POST[$this->name])) + { + $this->value = $_POST[$this->name]; + return true; + } + return false; } } diff --git a/class/phonefield.php b/class/phonefield.php new file mode 100644 index 0000000000000000000000000000000000000000..33e2e22d94bd5e4178df5199167fea5133c31dbc --- /dev/null +++ b/class/phonefield.php @@ -0,0 +1,28 @@ +<? + +class PhoneField extends Field +{ + public function html() { + $html = '<div class = "checkbox"> + <label for = "form'.$this->name.'"> + <input type = "tel" name = "'.$this->name.'" value ="'.$this->value.'"> '.ucfirst($this->name).' + </label> + </div>'; + return $html; + } + + public function validate() + { + + if (isset($_POST[$this->name])) + { + $_POST[$this->name] = htmlspecialchars($_POST[$this->name]); + if (preg_match("#^0[1-68]([-. ]?[0-9]{2}){4}$#", $_POST[$this->name])) + { + $this->value = $_POST[$this->name]; + return true; + } + return false; + } + +}