Anzeige:
Ergebnis 1 bis 6 von 6

Thema: formular überprüfung

  1. #1
    Registrierter Benutzer
    Registriert seit
    11.12.2001
    Beiträge
    61

    formular überprüfung

    hi zusammen
    mein problem ist folgendes:
    Der Submit Button muss 2 Aufgaben übernehmen.
    1.das formular wird an sich selber referenziert und dann mit if bedingungen werden die felder abfragt mit empty.
    2.Wenn alle Felder ausgefüllt wurden soll er auf die nächste seite springen(action=seite.php)

    wie mache ich das oder habt ihr eine andere idee wie man formulare einfach für den user überprüfen lasst.

    mfg jochen

  2. #2
    Registrierter Benutzer
    Registriert seit
    27.08.2002
    Beiträge
    337
    Diese Frage hatten wir schon oft.
    Formular:
    Code:
     <form action="anmeldung_check.html" method="post">
    
      <table width="100%" align="top" border="0" cellpadding="0" cellspacing="0">
    
       <tr>
        <td class="tbl_anmeldung_capt">
         * Anrede
        </td>
        <td class="tpl_anmeldung_form">
         <input type="radio" name="form[Anrede]" value="Herr" checked> Herr&nbsp;&nbsp;
         <input type="radio" name="form[Anrede]" value="Frau"> Frau
        </td>
       </tr>
    .........
    Abfrage:
    PHP-Code:
    <?php


      $fields 
    = array(
        
    Email     => 'E-Mail',
      
       
    Strasse_p => 'Strasse (privat)',

       
    PLZ_p     => 'PLZ (privat)',

        
    Ort_p     => 'Ort (privat)',
     
       
    Telefon_p => 'Telefon (privat)',

        
    Funktion   => 'Sonstige Angaben'
      
    );

     

     
    $fillfields = array('Anrede''Vorname''Nachname''Email',  'Strasse''PLZ''Ort');


      
    $failedfields = array();
      foreach (
    $fillfields as $fillfield) {
        if (!
    $form[$fillfield]) {
          if (
    $fields[$fillfield]) {
            
    array_push($failedfields$fields[$fillfield]);
          } else {
            
    array_push($failedfields$fillfield);
          }
        }
      }

    ?>


    <div id="lay100" class="lay100">

    <?php 
      
    if (count($failedfields) > 0) {
        print 
    "Folgende Angaben fehlen:<br><br>\n";
        foreach (
    $failedfields as $f) {
          print 
    "* " $f "<br>\n";
        }
        print 
    "<br>Bitte gehen Sie zurück und füllen Sie das Formular vollständig aus.<br>\n";
      } 
      else {
        print 
    "<form action=\"anmeldung_send.html\" method=\"post\">\n";
        
        print 
    "<table width=\"100%\" align=\"top\" border=\"0\">\n";

        foreach (
    $form as $field => $value) {
          print 
    "   <tr>\n";
          print 
    "    <td class=\"lay100a\" width=\"35%\">\n";
          if (
    $fields[$field]) {
            print 
    "     <b>" $fields[$field] . "</b>\n"
          } 
          else {
            print 
    "     <b>" $field "</b>\n"
          }
          print 
    "    </td>\n";
          print 
    "    <td class=\"lay100b\">\n";
          print 
    "     " $value "\n";
          print 
    "     <input type=\"hidden\" name=\"form[" $field "]\" value=\"" $value "\">\n";
          print 
    "    </td>\n";
          print 
    "   </tr>\n";
        }
        print 
    "</table><br>\n";
        print 
    "<input type=\"submit\" value=\"Anmeldung versenden\">\n";
        print 
    "</form>\n";
      }
    ?>

    <br><br><br><br>
    </div> 

     
    </body>
    </html>

  3. #3
    saryy
    Gast
    Hey..
    hab kurz ne frage auch zu Formular überprüfen. Und zwar hat unser Lehrer folgende Lösung zu der Aufgabenstellung, die PLZ solle nur ziffern enthalten, gegeben:

    if(document.Formular.plz.value.charAt(0)<"0"||docu ment.Formular.plz.value.charAt(0)>"9")
    {merker=1};
    if(document.Formular.plz.value.charAt(1)<"0"||docu ment.Formular.plz.value.charAt(1)>"9")
    {merker=1};
    if(document.Formular.plz.value.charAt(2)<"0"||docu ment.Formular.plz.value.charAt(2)>"9")
    {merker=1};
    if(document.Formular.plz.value.charAt(3)<"0"||docu ment.Formular.plz.value.charAt(3)>"9")
    {merker=1};
    if(document.Formular.plz.value.charAt(4)<"0"||docu ment.Formular.plz.value.charAt(4)>"9")
    {merker=1};
    if(document.Formular.plz.value.charAt(5)<"0"||docu ment.Formular.plz.value.charAt(5)>"9")
    {merker=1};

    if(merker==1)
    {alert("Falsche PLZ");
    return false
    }

    also 1.) Was stellt der marker da, und wieso muss um diesen eine geschwungene Klammer?
    2.) Wieso kommt bei merker GLEICH immer nur ein gleichheitszeichen und nicht 2 wie bei dem letzten?

    Viel Dank schon mal im vorraus

    MFG sarina

  4. #4
    Registrierter Benutzer Avatar von ContainerDriver
    Registriert seit
    10.01.2003
    Beiträge
    418
    Hallo,

    1. schau z.B. mal hier: http://www.php-einfach.de/php-tutori...-anweisung.php.
    2. steht auch in dem Link von 1. (kurz: = entspricht einer Zuweisung, == einem Vergleich).

    Gruß, Florian
    Ein gebrechlich Wesen ist der X-Server.

  5. #5
    Registrierter Benutzer
    Registriert seit
    07.05.2007
    Beiträge
    656
    Moin,

    kurz noch was zu der vom Lehrer vorgeschlagenen Lösung: Sowas ist höchst ineffektiv und fehlerträchtig (siehe z. B. "docu ment" nach dem "||" - typischer Copy&Paste-Fehler).

    1. Das kann man in einer Schleife über alle Stellen der PLZ machen, dann braucht man die if-Abfrage nur einmal.
    2. Sollte man zuerst mal prüfen, ob die PLZ überhaupt 5 Stellen hat (wieso wird eigentlich Stelle 0...5 geprüft? - das sind 6 Stellen)
    3. Die PLZ ist ungültig, wenn mindestens eine Stelle nicht numerisch ist - warum dann noch weitermachen mit der nächsten Stelle?

    So fände ich es besser (ungetestet):
    PHP-Code:
    merker=0;
    if (
    strlen(document.Formular.plz.value) != 5)
      
    merker=1;
    else {
      for (
    i=0i<5i++) {
        
    c=document.Formular.plz.value.charAt(i);
        if (
    c<"0" || c>"9") {
          
    merker=1;
          break;
        }
      }

    Jan

  6. #6
    Registrierter Benutzer
    Registriert seit
    20.08.2008
    Ort
    Hannover
    Beiträge
    7
    solch "wichtige" abfragen würde ich nie in js machen da der benutzer js deaktiviert haben könnte.

    ich würde alle pflichtfelder einfach in php durchgehen und danach die entscheidugn fällen (action=seite.php)
    PHP-Code:
    if (empty($_POST['name']) or ...) {
       echo 
    'Bitte fuelle alle Felder aus die mit einem * (Sternchen) gekennzeichnet sind!';
    } else {
       
    $sql "......"# daten verarbeiten
       
    header('Location: ?action=seite.php'); #weiterleitung nach seite.php


Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •