Thread [php] Problem mit Formularfelderüberprüfung und UTF-8 (103 answers)
Opened by Tom at 2008-10-04 14:02

GwenDragon
 2010-11-06 13:51
#142512 #142512
User since
2005-01-17
14848 Artikel
Admin1
[Homepage]
user image
Also ich habe bei dem Testcode (UTF-kodierter PHP-Code) kein Problem:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php $pruefung = array(
'name' => '/^([A-Za-z])[a-z]+(([ -])([A-Za-z])[a-z]+)*$/',
'absender' => '/^ [\w.!#%&\*\/=\?\^\`\{\|\}\~+-]{1,64} \@
[[:alnum:].-]{1,255} \. [a-z]{2,6} $/xi',
//prüft auf gültige E-Mail-Adresse nach RFC 2822,
//erlaubt auch ungewöhnliche Adressen wie "{@heise.de";
//strengere Prüfung (erfordert z.B. mindestens 2 Zeichen vor @
//und im Domainnamen, schließt ungewöhnliche Adressen aus):
//'absender' => '/^[\w.+-]{2,64}\@[\w.-]{2,255}\.[a-z]{2,6}$/',
'betreff' => '/^[[:print:]]{3,}$/',
//restriktivere Variante:
//'betreff' => '/^[[:alnum:]\s\?.!,;:\(\)\/\"-]{3,}$/',
'text' => '/^[[:print:][:space:]]{10,}$/'
);
$parameter = 'betreff';
$wert = "ÄÖÜäöüß";
if(!preg_match($pruefung[$parameter], $wert)) die('Eingaben unzureichend - bitte gehen Sie zurück zum Feld ' . $parameter . ': ' . $wert);?>

Bei mir kommt da kein die.

Kann es sein, dass im Feld betreff mehr drin ist?
Kannst du nicht mal das Ganze ausgeben?

Code: (dl )
1
2
3
4
if(!preg_match($pruefung[$parameter], $wert)) {
$debug = bin2hex($wert);
die("DEBUG #$debug# ". '<br> Eingaben unzureichend - bitte gehen Sie zurück zum Feld ' . $parameter . ': ' . $wert);?
}


Last edited: 2010-11-06 14:03:19 +0100 (CET)

View full thread [php] Problem mit Formularfelderüberprüfung und UTF-8