fixed validation #6
Dieser Commit ist enthalten in:
Ursprung
19fbca2693
Commit
0061ef3bbb
1 geänderte Dateien mit 68 neuen und 31 gelöschten Zeilen
|
@ -41,16 +41,17 @@ class w3form {
|
||||||
$this->generateEmailMessage();
|
$this->generateEmailMessage();
|
||||||
|
|
||||||
$oMailer = new PHPMailer();
|
$oMailer = new PHPMailer();
|
||||||
|
$oMailer->CharSet = "UTF-8";
|
||||||
$oMailer->AddAddress($this->email['adresses']);
|
$oMailer->AddAddress($this->email['adresses']);
|
||||||
$oMailer->From = $this->email['from']['email'];
|
$oMailer->From = $this->email['from']['email'];
|
||||||
$oMailer->FromName = $this->email['from']['name'];
|
$oMailer->FromName = $this->email['from']['name'];
|
||||||
$oMailer->Subject = $this->email['subject'];
|
$oMailer->Subject = $this->email['subject'];
|
||||||
$oMailer->Body = $this->email['message'];
|
$oMailer->Body = $this->email['message'];
|
||||||
|
|
||||||
if($oMailer->send()) {
|
if ($oMailer->send()) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -271,10 +272,10 @@ class w3form {
|
||||||
}
|
}
|
||||||
|
|
||||||
private function success() {
|
private function success() {
|
||||||
if($this->sendEmail()) {
|
if ($this->sendEmail()) {
|
||||||
echo $this->form['answer'];
|
echo $this->form['answer'];
|
||||||
} else {
|
} else {
|
||||||
echo '<span style="color:red;">'.mi18n("Es ist ein Fehler aufgetreten!<br>Bitte versuchen Sie es später noch einmal.").'</span>';
|
echo '<span style="color:red;">' . mi18n("Es ist ein Fehler aufgetreten!<br>Bitte versuchen Sie es später noch einmal.") . '</span>';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -283,7 +284,11 @@ class w3form {
|
||||||
$tmp_name = rtrim($field['name'], '[0]');
|
$tmp_name = rtrim($field['name'], '[0]');
|
||||||
preg_match('/\[(\d*)\]/', $field['name'], $matches);
|
preg_match('/\[(\d*)\]/', $field['name'], $matches);
|
||||||
$bEmptyPost = false;
|
$bEmptyPost = false;
|
||||||
|
$bIsPostArray = false;
|
||||||
|
$sPostFieldValue = $_POST[$tmp_name];
|
||||||
if (is_array($_POST[$tmp_name])) {
|
if (is_array($_POST[$tmp_name])) {
|
||||||
|
$bIsPostArray == true;
|
||||||
|
$sPostFieldValue = $_POST[$tmp_name][$matches[1]];
|
||||||
if (empty($_POST[$tmp_name][$matches[1]])) {
|
if (empty($_POST[$tmp_name][$matches[1]])) {
|
||||||
$bEmptyPost = true;
|
$bEmptyPost = true;
|
||||||
}
|
}
|
||||||
|
@ -295,38 +300,69 @@ class w3form {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
// wenn das formularfeld kein pflichtfeld und nicht vorhanden ist, true zurück geben
|
// wenn das formularfeld kein pflichtfeld und nicht vorhanden ist, true zurückgeben
|
||||||
if ($bEmptyPost) {
|
if ($bEmptyPost) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
// regular expression prüfungen
|
// regular expression prüfungen
|
||||||
if (!empty($feld['valid']) && $feld['valid'] == 'textmitumbruch' && !preg_match("/^[ \n\r.,;!?()öäüéàèâêîça-z0-9-]*$", $_POST["{$field['name']}"]))
|
if (!empty($field['valid'])) {
|
||||||
return false;
|
switch ($field['valid']) {
|
||||||
if (!empty($field['valid']) && $field['valid'] == 'simpletext' && !preg_match("/^[öäüéàèâêîça-z-]*$/i", $_POST["{$field['name']}"]))
|
case 'textmitumbruch':
|
||||||
return false;
|
if (!filter_var($sPostFieldValue, FILTER_VALIDATE_REGEXP, array("options" => array("regexp" => "/^[\n\r,;:\. ÄÖÜäöüß\-\+\*§$%&\/()=?!\"'\w\d]*$/")))) {
|
||||||
if (!empty($field['valid']) && $field['valid'] == 'text' && !preg_match("/^[ .,;!?()öäüéàèâêîça-z-]*$/i", $_POST["{$field['name']}"]))
|
return false;
|
||||||
return false;
|
}
|
||||||
if (!empty($field['valid']) && $field['valid'] == 'integer' && !preg_match("/^[0-9]*$/", $_POST["{$field['name']}"]))
|
break;
|
||||||
return false;
|
case 'simpletext':
|
||||||
if (!empty($field['valid']) && $field['valid'] == 'float' && !preg_match("/^[0-9]*[.]{0,1}[0-9]*$/", $_POST["{$field['name']}"]))
|
if (!filter_var($sPostFieldValue, FILTER_VALIDATE_REGEXP, array("options" => array("regexp" => "/^[\w]*$/i")))) {
|
||||||
return false;
|
return false;
|
||||||
if (!empty($field['valid']) && $field['valid'] == 'date' && !preg_match("/^[0-9]{1,2}.[0-9]{1,2}.[0-9]{2}$/", $_POST["{$field['name']}"]))
|
}
|
||||||
return false;
|
break;
|
||||||
if (!empty($field['valid']) && $field['valid'] == 'email' && !preg_match("/^[öäüéàèâêîç_a-z0-9-]+(\.[öäüéàèâêîç_a-z0-9-]+)*@[öäüéàèâêîça-z0-9-]+(\.[öäüéàèâêîça-z0-9-]+)*$/i", $_POST["{$field['name']}"]))
|
case 'text':
|
||||||
return false;
|
if (!filter_var($sPostFieldValue, FILTER_VALIDATE_REGEXP, array("options" => array("regexp" => "/^[(\d)? ?\w]*$/")))) {
|
||||||
// grössenbereich bei integer und float prüfen
|
return false;
|
||||||
if (!empty($field['minvalue']) && $_POST["{$field['name']}"] < $field['minvalue'])
|
}
|
||||||
return false;
|
break;
|
||||||
if (!empty($field['maxvalue']) && $_POST["{$field['name']}"] > $field['maxvalue'])
|
case 'phone':
|
||||||
return false;
|
if (!filter_var($sPostFieldValue, FILTER_VALIDATE_REGEXP, array("options" => array("regexp" => "/^(\(?([\d \-\)\–\+\/\(]+){6,}\)?([ .\-–\/]?)([\d]+))$/")))) {
|
||||||
|
return false;
|
||||||
// längenbereich bei allen typen prüfen
|
}
|
||||||
if (!empty($field['minlength']) && strlen($_POST["{$field['name']}"]) < $field['minlength'])
|
break;
|
||||||
return false;
|
case 'integer':
|
||||||
if (!empty($field['maxlength']) && strlen($_POST["{$field['name']}"]) > $field['maxlength'])
|
if (!filter_var($sPostFieldValue, FILTER_VALIDATE_REGEXP, array("options" => array("regexp" => "/^\d*$/")))) {
|
||||||
return false;
|
return false;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 'float':
|
||||||
|
if (!filter_var($sPostFieldValue, FILTER_VALIDATE_REGEXP, array("options" => array("regexp" => "/^[+-]?([0-9]*[.])?[0-9]+$/")))) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 'date':
|
||||||
|
if (!filter_var($sPostFieldValue, FILTER_VALIDATE_REGEXP, array("options" => array("regexp" => "/^[0-9]{1,2}.[0-9]{1,2}.[0-9]{2,4}$/")))) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 'email':
|
||||||
|
if (!filter_var($sPostFieldValue, FILTER_VALIDATE_REGEXP, array("options" => array("regexp" => "/^[öäüéàèâêîç_a-z0-9-]+(\.[öäüéàèâêîç_a-z0-9-]+)*@[öäüéàèâêîça-z0-9-]+(\.[öäüéàèâêîça-z0-9-]+)*$/")))) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// grössenbereich bei integer und float prüfen
|
||||||
|
if (!empty($field['minvalue']) && $sPostFieldValue < $field['minvalue'])
|
||||||
|
return false;
|
||||||
|
if (!empty($field['maxvalue']) && $sPostFieldValue > $field['maxvalue'])
|
||||||
|
return false;
|
||||||
|
|
||||||
|
// längenbereich bei allen typen prüfen
|
||||||
|
if (!empty($field['minlength']) && strlen($sPostFieldValue) < $field['minlength'])
|
||||||
|
return false;
|
||||||
|
if (!empty($field['maxlength']) && strlen($sPostFieldValue) > $field['maxlength'])
|
||||||
|
return false;
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -335,6 +371,7 @@ class w3form {
|
||||||
$this->formOutput();
|
$this->formOutput();
|
||||||
} elseif ($this->formComplete()) {
|
} elseif ($this->formComplete()) {
|
||||||
$this->success();
|
$this->success();
|
||||||
|
//$this->formOutput(true);
|
||||||
} else {
|
} else {
|
||||||
$this->formOutput(true);
|
$this->formOutput(true);
|
||||||
}
|
}
|
||||||
|
|
Laden …
Tabelle hinzufügen
In neuem Issue referenzieren