im Formualr fehlerhaftes Feld markieren

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • im Formualr fehlerhaftes Feld markieren

    hallo
    ich bin dabei mein erstes Kontaktformualr zu erstellen mit folgendem Code (Auszug):
    PHP Code:
    <?php
    if (isset ($_POST['submit']))
    {  
    //Auslesen der Variablen
    $name=ucwords (strtolower($_POST['name']));      
    $submit=($_POST['submit']); 

    //Fehlerprüfung einfach    
    if (empty($name))
    {
    $hack=true;}       

    //Fehlermeldung ausgeben, wenn
    if (($hack)=='true')

    echo 
    '<p style="color:#FF0000">Leider konnten wir Ihre Daten nicht verarbeiten.<br>
    Bitte überprüfen Sie Ihre Angaben in den markierten Feldern<b></p>'
    ;
    }   
    }  

    //Bestätigung bei korrekter Eingabe
    if (isset ($_POST['submit']))

    if ((
    $hack)!='true')
    {
    echo 
    '<p>Vielen Dank f&uuml;r Ihre Anfrage.</p>';

    }
    ?>
    Mein Formular sind so aus:
    Code:
    <form action="<?php echo $_SERVER['PHP_SELF']?>" method="post"> 
    <table width="500" height="250" > 
    <tbody>
    <tr>
      <td>Name</td>
      <td><input type="text" name="name" size="40" value="<?php echo $name;?>"></td>
    </tr>
    
    <tr>
      <td> </td>
      <td><input type="submit" name="submit" value="Senden"></td>
    </tr>
    </tbody>
    </table> 
    </form>
    Soweit klappt ja auch alles, aber wie kann ich nun eine Markierung der falsch ausgefüllten Felder (z.B. mit *) im Formular erzeugen?

    Es müsste doch mit einer if Abfrage im Formularfeld gehen, aber wie?

  • #2
    Na, z.B.

    PHP Code:
    <td>Name<?php if ($hack) echo ' *'?></td>

    Comment


    • #3
      Danke für die Antwort.
      Mit dem Code habe ich dann zwar das Feld markiert, aber wenn es danach richtig ausgefüllt wird und submit gedrückt wird, bleibt mein * auch bestehen, was natürlich nicht sinnvoll ist.
      Und nun?

      Comment


      • #4
        Hm ... versuch mal so:
        PHP Code:
        // set default
        $hack false;
        //Fehlerprüfung einfach    
        if (empty($name))
        {
        $hack=true;} 

        Comment


        • #5
          Leider ist der Effekt der Selbe:
          1. Versuch: Feld leer, submit -> * wird angezeigt
          2. Versuch: nun wird das Feld ausgefüllt, submit -> * bleibt

          Müsste ich vielleicht nochmals die Bedingung aufführen:
          PHP Code:
          if (isset ($_POST['submit'])&&(empty($name))) { 
          echo
          '*';}
          else {
          echo
          '&nbsp;';} 

          Comment


          • #6
            probieren über studieren, mit dem wenigen Code von dir kann ich nicht viel dazu sagen
            EDIT:

            - sind die o.a. Codeteile in einer Datei?
            - die Meldung "Leider konnten wir Ihre ..." erscheint auf jeden Fall?

            Last edited by asp2php; 11-10-2004, 09:49.

            Comment


            • #7
              Zu Deiner Frage, ja alles ist in einer Datei.

              Habe es jetzt mit dem Wiederholen der Pürfung probiert, und nun klappt es, dass das Zeichen nur erscheint, wenn das Feld leer ist und wieder verschwindet, wenn man es ausgefüllt hat.
              Ebenso erscheint die Fehlermeldung nur bei einem leeren Feld.

              Danke für Deine Mithilfe
              Tina

              Comment

              Working...
              X