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,13 +41,14 @@ class w3form {
|
|||
$this->generateEmailMessage();
|
||||
|
||||
$oMailer = new PHPMailer();
|
||||
$oMailer->CharSet = "UTF-8";
|
||||
$oMailer->AddAddress($this->email['adresses']);
|
||||
$oMailer->From = $this->email['from']['email'];
|
||||
$oMailer->FromName = $this->email['from']['name'];
|
||||
$oMailer->Subject = $this->email['subject'];
|
||||
$oMailer->Body = $this->email['message'];
|
||||
|
||||
if($oMailer->send()) {
|
||||
if ($oMailer->send()) {
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -271,10 +272,10 @@ class w3form {
|
|||
}
|
||||
|
||||
private function success() {
|
||||
if($this->sendEmail()) {
|
||||
if ($this->sendEmail()) {
|
||||
echo $this->form['answer'];
|
||||
} 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]');
|
||||
preg_match('/\[(\d*)\]/', $field['name'], $matches);
|
||||
$bEmptyPost = false;
|
||||
$bIsPostArray = false;
|
||||
$sPostFieldValue = $_POST[$tmp_name];
|
||||
if (is_array($_POST[$tmp_name])) {
|
||||
$bIsPostArray == true;
|
||||
$sPostFieldValue = $_POST[$tmp_name][$matches[1]];
|
||||
if (empty($_POST[$tmp_name][$matches[1]])) {
|
||||
$bEmptyPost = true;
|
||||
}
|
||||
|
@ -295,37 +300,68 @@ class w3form {
|
|||
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) {
|
||||
return true;
|
||||
}
|
||||
|
||||
// regular expression prüfungen
|
||||
if (!empty($feld['valid']) && $feld['valid'] == 'textmitumbruch' && !preg_match("/^[ \n\r.,;!?()öäüéàèâêîça-z0-9-]*$", $_POST["{$field['name']}"]))
|
||||
return false;
|
||||
if (!empty($field['valid']) && $field['valid'] == 'simpletext' && !preg_match("/^[öäüéàèâêîça-z-]*$/i", $_POST["{$field['name']}"]))
|
||||
return false;
|
||||
if (!empty($field['valid']) && $field['valid'] == 'text' && !preg_match("/^[ .,;!?()öäüéàèâêîça-z-]*$/i", $_POST["{$field['name']}"]))
|
||||
return false;
|
||||
if (!empty($field['valid']) && $field['valid'] == 'integer' && !preg_match("/^[0-9]*$/", $_POST["{$field['name']}"]))
|
||||
return false;
|
||||
if (!empty($field['valid']) && $field['valid'] == 'float' && !preg_match("/^[0-9]*[.]{0,1}[0-9]*$/", $_POST["{$field['name']}"]))
|
||||
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;
|
||||
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']}"]))
|
||||
return false;
|
||||
// grössenbereich bei integer und float prüfen
|
||||
if (!empty($field['minvalue']) && $_POST["{$field['name']}"] < $field['minvalue'])
|
||||
return false;
|
||||
if (!empty($field['maxvalue']) && $_POST["{$field['name']}"] > $field['maxvalue'])
|
||||
return false;
|
||||
if (!empty($field['valid'])) {
|
||||
switch ($field['valid']) {
|
||||
case 'textmitumbruch':
|
||||
if (!filter_var($sPostFieldValue, FILTER_VALIDATE_REGEXP, array("options" => array("regexp" => "/^[\n\r,;:\. ÄÖÜäöüß\-\+\*§$%&\/()=?!\"'\w\d]*$/")))) {
|
||||
return false;
|
||||
}
|
||||
break;
|
||||
case 'simpletext':
|
||||
if (!filter_var($sPostFieldValue, FILTER_VALIDATE_REGEXP, array("options" => array("regexp" => "/^[\w]*$/i")))) {
|
||||
return false;
|
||||
}
|
||||
break;
|
||||
case 'text':
|
||||
if (!filter_var($sPostFieldValue, FILTER_VALIDATE_REGEXP, array("options" => array("regexp" => "/^[(\d)? ?\w]*$/")))) {
|
||||
return false;
|
||||
}
|
||||
break;
|
||||
case 'phone':
|
||||
if (!filter_var($sPostFieldValue, FILTER_VALIDATE_REGEXP, array("options" => array("regexp" => "/^(\(?([\d \-\)\–\+\/\(]+){6,}\)?([ .\-–\/]?)([\d]+))$/")))) {
|
||||
return false;
|
||||
}
|
||||
break;
|
||||
case 'integer':
|
||||
if (!filter_var($sPostFieldValue, FILTER_VALIDATE_REGEXP, array("options" => array("regexp" => "/^\d*$/")))) {
|
||||
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;
|
||||
}
|
||||
}
|
||||
|
||||
// längenbereich bei allen typen prüfen
|
||||
if (!empty($field['minlength']) && strlen($_POST["{$field['name']}"]) < $field['minlength'])
|
||||
return false;
|
||||
if (!empty($field['maxlength']) && strlen($_POST["{$field['name']}"]) > $field['maxlength'])
|
||||
return false;
|
||||
// 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;
|
||||
}
|
||||
|
@ -335,6 +371,7 @@ class w3form {
|
|||
$this->formOutput();
|
||||
} elseif ($this->formComplete()) {
|
||||
$this->success();
|
||||
//$this->formOutput(true);
|
||||
} else {
|
||||
$this->formOutput(true);
|
||||
}
|
||||
|
|
Laden …
Tabelle hinzufügen
In neuem Issue referenzieren