Einzelnen Beitrag anzeigen
  #8  
Alt 10.05.2007, 14:34:24
holgi.p holgi.p ist offline
Anfänger
 
Registriert seit: Apr 2007
Beiträge: 6
AW: Pflichtfelder in Formularen bei Fehlern farbig hervorheben

Hallo zusammen,

ich bin mal in mich gegangen und hab meinen Kopf mal etwas angestrengt. Und siehe da: Die Lösung!! Ich habe einfach eine zeite Abfrage gemacht:

Der erste Code zum Kontrollieren, ob dei felder ausgefüllt sind oder nicht:

PHP-Code:
$errorFields = array('datum');    

for(
$x=0;$x<count($errorFields);$x++)
{
    
$errorClass[$errorFields[$x]] = 'textfeld';
    
$errorClass_select[$errorFields[$x]] = 'select_80';
}

if(isset(
$HTTP_POST_VARS['submit']))
{
    
    
$error FALSE;
    foreach(
$errorFields as $key => $value)
    {
    
        if(empty(
$HTTP_POST_VARS[$errorFields[$key]]))
        {
            
$error TRUE;
            
$errorClass[$value] = 'errortextfeld';
            
$errorClass_select[$value] = 'errorselect_80';
        }
    
    } 


Nun die zweite Abfrage ob das Feld "Datum" auch richtig (TT.MM.JJJJ) ausgefüllt wurde:

PHP-Code:
if (isset($_POST['submit'])) {
    
$errorFields = array( 'datum');
    {
if(
preg_match('/^(\d{2})\.(\d{2})\.(\d{4})$/'$_POST['datum'], $m) && checkdate($m[2], $m[1], $m[3]))
{
}
else {
              
$error TRUE;
            
$errorClass['datum'] = 'errortextfeld';
            
$errorClass_select['datum'] = 'errorselect_80';
  print (
"<table width='100%' class='errorTable'><tr><td>
  <img src='achtung_gross.gif'></td><td><b>Achtung!</b><br>
Es ist zu einem Fehler gekommen. Falsches Datumsformat! (TT.MM.JJJJ)
</td></tr></table><br>"
); unset($sent);
 }
}

Und schon wird das Feld "Datum" wieder farbig dargestellt, da es falsch ausgefüllt wurde.
Das läst sich natürlich beliebig mit anderen Prüfungen ergänzen (eMailadresse usw.)

(Die Lösung liegt oft so nahe...)

Beste Grüße aus Nürnberg
__________________
Wer nicht fragt, bleibt dumm!
Mit Zitat antworten