Antworten auf deine Fragen:
Neues Thema erstellen

Formular: Zellen bei Fehler farbig markieren

Karol

Nicht mehr ganz neu hier

Ich habe ein Formular welches bei Fehlender Eingabe ein Error Text ausgibt. Ich möchte das gerne etwas umbauen und anstelle der Error Texte die inputs rot färben.

Ich muss denn Errors eig. nur eine Klasse zuweisen oder nicht? Kann mir da jemand weiterhelfen?

LG Karol

Hier der code:

PHP:
    <?php
                    session_start();
                    // wenn das Formular übermittelt wurde
                    if(isset($_POST['submit'])){
                        
                        if( $_SESSION['security_code'] == $_POST['security_code'] && !empty($_SESSION['security_code'] ) ) {
                            
                              while(list($feld,$wert)=each($_POST)){
                        // übermittelte Inhalte "entschärfen"
                        $wert=preg_replace("/(content-type:|bcc:|cc:|to:|from:)/im", "",$wert);
                        $$feld=$wert;
                        // die übermittelten Variablen werden zum "Text der Email" zusammengefasst
                        if($feld!="submit") $mailnachricht.=ucfirst($feld).": $wert\n";
                      }
                      $mailnachricht.="\nDatum/Zeit: ". date("d.m.Y H:i:s");
                      // Überprüfen ob alle Pflichtfelder gefüllt sind
                      empty($nachname) ? $err[] = "<h5> *Nachname, </h5>" : false;
                      empty($vorname) ? $err[] = "<h5> *Vorname, </h5>" : false;
                      empty($email) ? $err[] = "<h5> *E-Mail-Adresse, </h5>" : false;
                      empty($text) ? $err[] = "<h5> *Nachricht </h5>" : false;
                      // wenn nicht, werden die Fehlermeldungen ausgegeben und das "halbgefüllte" Formular angezeigt
                      if(!empty($err)) {
                        echo "<h6><p>Folgende Pflichtfelder wurden nicht ausgef&uuml;llt:</p></h6>";
                        foreach($err as $fehler){
                          echo $fehler;
                        } ?>
                        <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
                        <input type="text" name="nachname" placeholder="*Nachname:" value="<?php echo $nachname; ?>" />
                           <input type="text" name="vorname" placeholder="*Vorname:" value="<?php echo $vorname; ?>" />
                        <input type="text" name="firma" placeholder="*Firma:" value="<?php echo $firma; ?>" />
                        <input type="text" name="strasse" placeholder="Postanschrift:" value="<?php echo $strasse; ?>" />
                        <input type="text" name="telefon" placeholder="Telefon:" value="<?php echo $telefon; ?>" />
                        <input type="text" name="email" placeholder="*E-Mail:" value="<?php echo $email; ?>" />
                        <textarea name="text" placeholder="*Nachricht:"><?php echo $text; ?></textarea>
                        
                        <img src="CaptchaSecurityImages.php?width=100&height=40&characters=5" title="Sicherheitscode" />
                        <input type="text" id="security_code" name="security_code" placeholder="*Sicherheitscode:" />

                        <span class="kl" float="left">*Pflichtfelder</span>
                        <input type="submit" class="button" name="submit" value="Absenden" />
                        </form>
                    <?php    // sind keine Fehler vorhanden, wird die Email versendet
    
                        
                      } else {
                        $mailbetreff="Kontaktformular ".$_SERVER['HTTP_HOST'];
                        // HIER DIE EMPFÄNGER EMAIL-ADRESSE ANPASSEN!!!       
                        echo (mail("k.affeldt@smz-hamburg.de", $mailbetreff, $mailnachricht, "From: $email")) ? "<p>Vielen Dank f&uuml;r Ihre E-Mail.</p><br /><p>Wir werden schnellstm&ouml;glich darauf antworten.</p>": "<p>Ein Fehler ist aufgetreten!</p>";
                      }
                    // das Formular welches als erstes dem Besucher angezeigt wird
                    unset($_SESSION['security_code']);
               } else {
                    // Insert your code for showing an error message here
                    echo '<font color=#cc3333>Der <strong>Code</strong> wurde falsch eingegeben.<br /></font>';
                        }
                    } else { ?>
                        <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
                        <input type="text" name="nachname" placeholder="*Nachname:" />
                           <input type="text" name="vorname" placeholder="*Vorname:" />
                           <input type="text" name="firma" placeholder="*Firma:" />
                        <input type="text" name="strasse" placeholder="Postanschrift:" />
                           <input type="text" name="telefon" placeholder="Telefon:" />
                        <input type="text" name="email" placeholder="*E-Mail:" />
                        <textarea name="text" placeholder="*Nachricht:"></textarea>
                        
                        <img src="CaptchaSecurityImages.php?width=100&height=40&characters=5" title="Sicherheitscode" />
                        <input type="text" id="security_code" name="security_code" placeholder="*Sicherheitscode:" />
                        
                           <span class="kl" float="left">*Pflichtfelder</span>
                        <input type="submit" class="button" name="submit" value="Absenden" />
                        </form>
                
                    <?php
                    }
                    ?>
 
Zuletzt bearbeitet:

randacek_pro

Mod | Forum

AW: Formular: Zellen bei Fehler farbig markieren

Schau dir mal diesen ziemlich aktuellen Thread an, da wurden viele Hinweise gegeben inklusive am Schluss: Suchwort "Affenformular" - klingt witzig, ist aber ne interessante Sache ;)

Lieber Gruß
 

Duddle

Posting-Frequenz: 14µHz

AW: Formular: Zellen bei Fehler farbig markieren

Ich muss denn Errors eig. nur eine Klasse zuweisen oder nicht?
Das ist eine Möglichkeit, ja. Dafür musst du vor der Ausgabe jedes relevanten Feldes prüfen ob für dieses ein Fehler aufgetreten ist; dementsprechend gibst du dann mehr oder weniger aus.

Alternativ kannst du aber auch in Richtung JavaScript bzw. jQuery schauen (Stichwort "Form Validation"). Damit könntest du schon beim Ausfüllen Feedback geben. Siehe bspw. hier: http://speckyboy.com/2009/12/17/10-useful-jquery-form-validation-techniques-and-tutorials-2/


Duddle
 

lachender_engel

Aktives Mitglied

AW: Formular: Zellen bei Fehler farbig markieren

Kurz so aus dem Gedächtnis:
Du erstellst im CSS eine Klasse, z.B. "error" die dann z.B. den Rahmen rot macht.
Die Klasse weißt Du im Code zu. Zum Beispiel so:
PHP:
<input type="text" name="nachname" <?php if empty($nachname) {echo 'class="error"';} ?> placeholder="*Nachname:" value="<?php echo $nachname; ?>" />
 

Karol

Nicht mehr ganz neu hier

AW: Formular: Zellen bei Fehler farbig markieren

Danke für die schnellen antworten :)
Nach so einer unkomplizierten Lösung habe ich gesucht.
Wenn ich den PHP-Code von lachender_engel einfüge wird meine Kontakt Seite Leer angezeigt.

Ich hab auch versucht meine empty anfrage rauszunehmen denn ich will keine texte ausgeben sondern nur den roten kasten.

Bekomme dann leider auch nur eine blanco Seite :(





 

Karol

Nicht mehr ganz neu hier

AW: Formular: Zellen bei Fehler farbig markieren

Ich bin leider noch unerfahren in PHP weißt du woganu ich das einfüge und wogenau nehme ich was raus?
Klasse erstellen und mein Imput tag mit diesem austauschen reicht leider nicht aus.

PHP:
<input type="text" name="nachname" <?php if empty($nachname) {echo 'class="error"';} ?> placeholder="*Nachname:" value="<?php echo $nachname; ?>" />

Weiß jemand was da noch zu beachten ist?
 

lachender_engel

Aktives Mitglied

AW: Formular: Zellen bei Fehler farbig markieren

Ich bin leider noch unerfahren in PHP weißt du woganu ich das einfüge und wogenau nehme ich was raus?

Syntaxfehler von mir. Das hier klappt:

PHP:
<input type="text" name="nachname" <?php if (empty($nachname)) {echo 'class="error"';} ?> placeholder="*Nachname:" value="<?php echo $nachname; ?>" />
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Keine Mitglieder online.

Statistik des Forums

Themen
118.565
Beiträge
1.538.067
Mitglieder
67.488
Neuestes Mitglied
Andrew56524
Oben