Bernhard unreg: Fehlermeldungen hervorheben

Hallo!

Ich habe eine Idee, finde aber nichts hilfreiches für die Umsetztung (in Inet, Forem etc.). Und zwar habe ich ein Email-Formular, das beim absenden mit leerstehenden Feldern eine Fehlermeldung oberhalb des Formulars anzeigt. Soweit alles ok. Ich möchte aber diese Fehlermeldung farbig hervorheben; mit rotem Text und anderer Hintergrundfarbe.
Hier der Code-Abschnitt der für die Fehlermeldung zuständig ist:

if(trim($from_name)=="") $err_text.="Bitte gib Deinen Namen an.<br>";
if(trim($from_mail)=="") $err_text.="Bitte gib Deine E-Mail-Adresse an. Hast Du keine E-Mail-Adresse, gib bitte &bdquo;beispiel@email&ldquo; an.<br>";
else
  if(!ereg("[1]+(.[_a-z0-9-]+)*@[a-z0-9-]+(.[a-z0-9-]+)*(.[a-z]{2,6})$",
$from_mail)) $err_text.="Bitte gib eine gültige E-Mail-Adresse an.<br>";
  if(trim($mail_subject)=="") $err_text.="Bitte gib einen Betreff ein.<br>";
  if(trim($mail_text)=="") $err_text.="Bitte gib einen Nachrichtentext ein.<br>";

if(strlen($mail_text)>1000) {
  $mail_text=substr($mail_text,0,1000)."... (Text wurde gekürzt!)";
}
$from_name=str_replace(chr(34),"''",$from_name);
$mail_subject=str_replace(chr(34),"''",$mail_subject);
$from_name=stripslashes($from_name);
$from_mail=stripslashes($from_mail);
$mail_subject=stripslashes($mail_subject);
$mail_text=stripslashes($mail_text);

if(($send=="1") && (isset($err_text))) {
  echo "<p><big><b>Fehler:</b></big><br>";
  echo "$err_text</p>";
}

if(($send!="1") || (isset($err_text)))
{

Gruß, Bernhard


  1. _a-z0-9- ↩︎

  1. Hi,

    Hier der Code-Abschnitt der für die Fehlermeldung zuständig ist:

    if(trim($from_name)=="") $err_text.="Bitte gib Deinen Namen an.<br>";
    if(trim($from_mail)=="") $err_text.="Bitte gib Deine E-Mail-Adresse an. Hast Du keine E-Mail-Adresse, gib bitte &bdquo;beispiel@email&ldquo; an.<br>";

    dieses Datenmodell ist extrem ungünstig. Speichere erkannte Fehler _nicht_ in einem einzigen String, schon gar nicht in Form eines Fehlertextes.

    Cheatah

    --
    X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
    X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
  2. Hi!

    Ich möchte aber diese Fehlermeldung farbig hervorheben; mit rotem Text und anderer Hintergrundfarbe.

    Das ist aber kein PHP-Problem, sondern eine Sache, wofür CSS zuständig ist.

    if(($send=="1") && (isset($err_text))) {
      echo "<p><big><b>Fehler:</b></big><br>";
      echo "$err_text</p>";
    }

    Warum nicht so?

    echo "<p class=\"fehler\">Fehler:<br>\n";  
    echo "$err_text</p>";
    

    und dann im Stylesheet:

      
    .fehler {  
      font-weight: bold;  
      font-size: 1.5em;  
      background-color: #was_auch_immer;  
      color: #was_auch_immer;  
    }  
    
    

    Naja und zu deinem PHP-Code hat Cheatah dir ja bereits was geschrieben.

    Schöner Gruß,
    rob

  3. Ich wuerde den HTML Code ja noch mit Formatierungen versehen. Beschaeftige dich doch mal mit CSS.

    1. Hey, ihr seid klasse! Es funktioniert! Vielen Dank für eure Tips.

      @Cheatah: Klar. Man kann's auch umständlicher machen. Ich weiß auch wie. Aber wenn's doch funktioniert, wo ist dann das Problem? :-)