Ankündigung

Einklappen
Keine Ankündigung bisher.

Formular Felder überprüfen lassen zum 100 mal ^^

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Formular Felder überprüfen lassen zum 100 mal ^^

    HeY...


    Srry wenn ich euch mit dem Thema nerve, aber ich habe alles probiert....aba erschickt es immer wieder ab und zu überprüfen.



    HIer mal das Script ohne Überprüfung, da es einfach net klappt ^^ :

    PHP-Code:
    <?php
    error_reporting
    (E_ALL); 

    $db_host "";
    $db_user "";
    $db_pass "";
    $db_name "";



    if (isset( 
    $_POST['senden'] ))
    {
        
    // Maskierende Slashes aus POST entfernen
        
    $_POST get_magic_quotes_gpc() ? array_map'stripslashes'$_POST ) : $_POST;
        
        
        
    // Inhalte der Felder aus POST holen
        
    $vorname $_POST['vorname'];
        
    $nachname $_POST['nachname'];
        
    $strasse $_POST['strasse'];
        
    $hausnum $_POST['hausnum'];
        
    $plz $_POST['plz'];
        
    $wohnort $_POST['wohnort'];
        
    $vorwahl $_POST['vorwahl'];
        
    $rufnum $_POST['rufnum'];
        
    $email $_POST['email'];
        
    $zahlmethode $_POST['zahlmethode'];
        
    $anrede =  $_POST['anrede'];
        
    $kontoinhaber =  $_POST['kontoinhaber'];
        
    $kontonummer =  $_POST['kontonummer'];
        
    $blz =  $_POST['blz'];
        
    $bankname =  $_POST['bankname'];
        
    $agb_confirm = isset( $_POST['agb_confirm'] ) ? 0;
        

        
    /* ************************************************************************************************ */
        /* *** Hier sollten und MUESSEN die Benutzereingaben geprueft werden um Schadcode abzufangen!!! *** */
        /* ************************************************************************************************ */
        
        // Sind alle Eingaben durch die Validierung gekommen werden sie in die DB geschrieben
        // Verbindung oeffnen und Datenbank ausweahlen
        
    $conID mysql_connect$db_host$db_user$db_pass ) or die( "Die Datenbank konnte nicht erreicht werden!" );
        if (
    $conID)
        {
            
    mysql_select_db$db_name$conID );
        }
            
        
    // Anfrage zusammenstellen der an die DB geschickt werden soll
        
    $sql "INSERT INTO `formular`
                    (`vorname`, `nachname`, `strasse`, `hausnum`, `plz`, `wohnort`, `vorwahl`, `rufnum`, `email`, `zahlmethode`,`anrede`,`kontoinhaber`,`kontonummer`,`blz`,`bankname`, `agb_confirm`)
                VALUES(
                    '" 
    .mysql_real_escape_string$vorname ). "',
                    '" 
    .mysql_real_escape_string$nachname ). "',
                    '" 
    .mysql_real_escape_string$strasse ). "',
                    '" 
    .mysql_real_escape_string$hausnum ). "',
                    '" 
    .mysql_real_escape_string$plz ). "',
                    '" 
    .mysql_real_escape_string$wohnort ). "',
                    '" 
    .mysql_real_escape_string$vorwahl ). "',
                    '" 
    .mysql_real_escape_string$rufnum ). "',
                    '" 
    .mysql_real_escape_string$email ). "',
                    '" 
    .mysql_real_escape_string$zahlmethode ). "',
                    '" 
    .mysql_real_escape_string$anrede ). "',
                    '" 
    .mysql_real_escape_string$kontoinhaber ). "',
                    '" 
    .mysql_real_escape_string$kontonummer ). "',
                    '" 
    .mysql_real_escape_string$blz ). "',
                    '" 
    .mysql_real_escape_string$bankname ). "',
                    " 
    .$agb_confirm"
                    )"
    ;
        
    // Schickt die Anfrage an die DB und schreibt die Daten in die Tabelle
        
    mysql_query$sql );
        
    // Pruefen ob der neue Datensatz tatsaechlich eingefuegt wurde
        
    if (mysql_affected_rows() == 1)
        {
            echo 
    "<h3>Der Datensatz wurde hinzugefügt!</h3>";
            
    // Hier kann weiterer Code stehen der ausgefuehrt werden soll
            // wenn ein Eintrag erfolgreich war. z.B. Email an den Admin schicken
            // der ueber den neuen Eintrag informiert
        
    }
        else
        {
            echo 
    "<h3>Der Datensatz konnte <strong>nicht</strong> hinzugefügt werden!</h3>";
            
    // Hier koennen Massnahmen ergriffen werden die ueber den Misserfolg informieren
            // wie z.B. den Benutzer darueber zu informieren, dem Admin eine Mail schicken
            // damit er sich um den Fehler kuemmern kann, etc pp
        
    }
    }
    ?>

    <script type="text/javascript">
    //<![CDATA[
    function FensterOeffnen (Adresse, title, wwidth, wheight) {
      var wwidth;
      var wheight;
      var width;
      var height;
      var postop;
      var posleft;
      if (wwidth > 90) {
        wwidth = 50;
      }
      if (wheight > 90) {
        wheight = 80;
      }
      height  = (screen.availHeight / 100) * wheight;
      width   = (screen.availWidth  / 100) * wwidth;
      postop  = (screen.availHeight - height) / 2;
      posleft = (screen.availWidth  - width) / 2;
      dasFenster = window.open(Adresse, title, 'width=' + width + ', height=' + height + ', scrollbars=yes, top=' + postop +', left=' + posleft +', dependent=yes');
      dasFenster.focus();
    }
    //]]>
    </script>
    <link href="http://web-and-it.net/TEST/style.css" rel="stylesheet" type="text/css">
    <h1>Bestellformular</h1>
    <form id="bestellform" action="" method="post">
      <fieldset id="fs_best">
          <legend [%class_bestellung%]>Gew&uuml;nschte Slotanzahl eingeben:</legend>
          <p [%class_bestellung%]>&nbsp;</p>
          <p style="position:absolute; top:-9999px;">
            <input type="hidden" name="confirm" value="[%confirm%]" />
          <label for="falle"><strong>Spamfalle! Nichts eintragen! </strong></label>
      <input id="falle" type="text" title="FREILASSEN!" name="falle" value="" /></p>
          <table>
          <thead><tr><th class="text_left">Artikel</th>
          <th class="text_middle">Slotanzahl</th>
          <th class="text_middle">Preis</th>
          <th class="text_middle">Info</th></tr></thead>
      </table>
       
          <br>
          <select name="gameserver"  style="width:300px; height:auto;">
            <option value="">Spielauswahl</option>
            <option value="Counterstrike Source" [%herr_selected%]>Counterstrike Source</option>
            <option value="Counterstrike 1.6" [%frau_selected%]>Counterstrike 1.6</option>
      </select>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
       <select name="slots"  style="width:auto; height:auto;">
            <option value="">Slotsauswahl</option>
            <option value="1" [%herr_selected%]>1</option>
            <option value="2" [%frau_selected%]>2</option>
      </select>
      </fieldset>
        <fieldset id="fs_zahlmeth">
          <legend [%class_zahlmethode%]>M&ouml;gliche Zahlungsmodalit&auml;ten:</legend>
          <p>
            <input [%check_zahlmeth1%] id="zahlmeth1" type="radio" name="zahlmethode" value="Paypal"/>
        <label for="zahlmeth1"><strong>Paypal</strong>: Schnelle Freischaltung der Server</label>
        <input [%check_zahlmeth2%] id="zahlmeth2" type="radio" name="zahlmethode" value="Überweisung" />
        <label for="zahlmeth2"><strong>&Uuml;berweisung</strong> (Vorkasse): Sie erhalten umgehend per E-Mail eine Auftragsbest&auml;tigung mit den Zahlungsdetails</label>
        <input [%check_zahlmeth3%] id="zahlmeth3" type="radio" name="zahlmethode" value="Lastschrift" />
             <label for="zahlmeth3"><strong>Lastschrift:</strong> Sie erhalten umgehend per E-Mail eine Auftragsbest&auml;tigung mit den Zahlungsdetails.</label>
        </p>
      </fieldset>
        <fieldset id="fs_lieferadr">
      <legend [%class_zahlmethode%]>Ihre Kontodaten<br />
      </legend>
      <p>
            <input type="text" id="kontoinhaber" name="kontoinhaber" value="Kontoinhaber" maxlength="30" onfocus="if(this.value == this.defaultValue) this.value = '';" onblur="if(!this.value) this.value = this.defaultValue;"/>
            <input type="text" id="kontonummer"  name="kontonummer" value="Kontonummer" maxlength="30"onfocus="if(this.value == this.defaultValue) this.value = '';" onblur="if(!this.value) this.value = this.defaultValue;"/>
    </p>
          <p>
            <input type="text" id="blz" name="blz" value="Banktleitzahl" maxlength="30"onfocus="if(this.value == this.defaultValue) this.value = '';" onblur="if(!this.value) this.value = this.defaultValue;"/>
            <input type="text" id="bankname" name="bankname" value="Bankname" maxlength="12"onfocus="if(this.value == this.defaultValue) this.value = '';" onblur="if(!this.value) this.value = this.defaultValue;"/>
          </p>
          <p><br />
            <br />
          </p>
          <legend [%class_lieferadresse%]>Ihre Kontaktdaten</legend>
          <p [%class_lieferadresse%]>&nbsp;</p>
          <div class="float_left">
          <p id="anrede">
          <select name="anrede" [%class_anrede%]>
            <option value="">Anrede</option> 
            <option value="Herr" [%herr_selected%]>Herr</option>        
            <option value="Frau" [%frau_selected%]>Frau</option>
          </select>
          </p>
          <p>
          <input [%class_vorname%] id="vorname" type="text" name="vorname" value="Vorname" maxlength="30"onfocus="if(this.value == this.defaultValue) this.value = '';" onblur="if(!this.value) this.value = this.defaultValue;"/>
          <input [%class_zuname%] id="nachname" type="text" name="nachname" value="Nachname" maxlength="30"onfocus="if(this.value == this.defaultValue) this.value = '';" onblur="if(!this.value) this.value = this.defaultValue;"/>
          </p>
          <p>
          <input [%class_strasse%] id="strasse" type="text" name="strasse" value="Straße" maxlength="30"onfocus="if(this.value == this.defaultValue) this.value = '';" onblur="if(!this.value) this.value = this.defaultValue;"/>
          <input [%class_hausnum%] id="hausnum" type="text" name="hausnum" value="Hausnummer" maxlength="8"onfocus="if(this.value == this.defaultValue) this.value = '';" onblur="if(!this.value) this.value = this.defaultValue;"/>
          </p>
          <p>
          <input [%class_plz%] id="plz" type="text" name="plz" value="Postleitzahl" maxlength="50"onfocus="if(this.value == this.defaultValue) this.value = '';" onblur="if(!this.value) this.value = this.defaultValue;"/>
          <input [%class_wohnort%] id="wohnort" type="text" name="wohnort" value="Wohnort" maxlength="30"onfocus="if(this.value == this.defaultValue) this.value = '';" onblur="if(!this.value) this.value = this.defaultValue;"/>
          </p>
          <p>
          <input [%class_vorwahl%] id="vorwahl" type="text" name="vorwahl" value="Vorwahl" maxlength="50"onfocus="if(this.value == this.defaultValue) this.value = '';" onblur="if(!this.value) this.value = this.defaultValue;"/>
          <input [%class_rufnum%] id="rufnum" type="text" name="rufnum" value="Rufnummer" maxlength="50" onfocus="if(this.value == this.defaultValue) this.value = '';" onblur="if(!this.value) this.value = this.defaultValue;"/>
          </p>
        <p>
        <input [%class_email%]id="email" type="text" name="email" value="E-Mail" maxlength="40"onfocus="if(this.value == this.defaultValue) this.value = '';" onblur="if(!this.value) this.value = this.defaultValue;"/>
        <br />
        </p>
     
      </div>

        <p><br />
            <br />
          <br />
          <br />
          <br />
          <br />
          <br />
      </p>
        <p><br />
            <br />
      </p>
    <fieldset id="fs_agb">
          <legend [%class_agb_confirm%]>Unsere AGB:</legend>
          <p><input type="checkbox" id="agb_confirm" name="agb_confirm" />
          <label id="agb_bestaet" for="agb_confirm">Ja, ich habe die<a href="http://web-and-it.net/Gameserver/um-html/agb.html" title="AGB lesen" onclick="FensterOeffnen(this.href, 'Allgemeinen Gesch&auml;ftsbedingungen', '90', '90'); return false">Allgemeinen Gesch&auml;ftsbedingungen </a>gelesen und bin damit einverstanden.</label>
    </p>
      </fieldset>
        <fieldset id="mail_back">
          <legend>W&uuml;nschen Sie eine Kopie per E-Mail?</legend>
          <p><input type="checkbox" id="send_mail_back" name="send_mail_back" />
          <label id="send_mail_back_label" for="send_mail_back">Ja, ich möchte eine Kopie dieser Bestellung an obige E-Mailadresse.</label>
          </p>
      </fieldset>
      <fieldset id="senden">
      <input name="senden" type="submit" id="senden" value="Abschicken" />
      </p> </fieldset>

      
    </form>

    Könnt ihr mir nur eine Überprüfung bitte reinschreiben in den Quellcode?

    Damit ich es selber weitermachen kann.....

    Vielen Vielen Dank für eure HIlfe

  • #2
    Srry, iwie kann man net verstehn was du willst. Aba vielleicht sagst duuns was net funzt, um wases geht und von was für 'nen ÜBerprürung du sprichtst oda verweist auf die Vorgeschichte von dem ganzen?
    Thx^^!

    Kommentar


    • #3
      Ok srrry..typisch ich ^^


      Also ich möchte gerne, das wenn der Kunde auf abschicken klickt, dass er dieFelder überprüft ob der Name und so drin steht..

      Wenn nicht, dann soll er die andern Feldern wo richtig sind speichern und das falsche Feld ..rot anzeigen lassen.

      wenn das korriegiert wurde, und wieder auf abschicken klickt, dann soll es erst in der DB speichern.



      Also bis jetzt speichert er es ab in der Datenbank. Aber ich habe schon probiert mit dem Felder überprüfen...aber klappt einfach net ^^

      Er sendet es zwar zu DB , aba überprüft net........

      Kommentar


      • #4
        Wenn ich dich richtig verstanden habe, willst du einfach nur einen Codeausschnitt, der überprüft, ob die Benutzereingaben valide sind, richtig? Wir sollten dazu natürlich schon wissen, welche der Felder Pflichtfelder sind.

        Ein paar Anstöße
        vorname: darf nicht leer sein
        nachname: darf nicht leer sein
        Straße: darf nicht leer sein
        Hausnummer: Zahl und darf nicht leer sein
        PLZ: Zahl, 5 stellig
        Wohnort: darf nicht leer sein
        Vorwahl: Zahl mit vorrangehender 0
        Rufnummer: Zahl
        E-Mail: E-Mail-Validierung
        usw.
        sollte man doch eigentlich selber hinbekommen oder wenigstens einen Ansatz haben, den du posten könntest.

        Kommentar


        • #5
          Ja er soll einfach alles überprüfen

          Also ob überall einfach was drin steht ^^


          Ich habe schon was probiert,aba klappt alles nicht, darum habe ich den standard code gepostet...wo soweit auch klappt........ich möchte nur eine Überprüfung, damit ich den rest selber testen kann ^^

          Kommentar


          • #6
            Wenn du wirklich blos schauen willst, ob was drin steht:

            PHP-Code:
            <?php
              $error_occurred 
            false;
              if(isset(
            $_POST["vorname"]) && $_POST["vorname"] != ""$vorname $_POST["vorname"];
              else 
            $error_occurred true;
            ?>
            Zum überprüfen, welche falsch sind, könntest du auch ein Array nehmen, in dem du diese speicherst (jenachdem wie dus dann ausgeben willst).

            PHP-Code:
            <?php
              
            if(isset($_POST["vorname"]) && $_POST["vorname"] != ""$vorname $_POST["vorname"];
              else 
            $errors[] = "vorname";
            ?>
            Dann könntest du prüfen, ob ein Fehler aufgetreten ist, indem du schaust, ob was im Array ist und für die einzelnen Felder bei der Ausgabe sowas:

            PHP-Code:
            <?php
            if(in_array("vorname"$errors))
            {
              
            // farbige Ausgabe
            } else
            {
              
            // farblose Ausgabe
            }
            ?>

            Kommentar


            • #7
              Ja ich will nur das er nach dem drücken des abschicken buttons guckt ob überall was drin steht, wenn nicht dann soll das feld rot werde und er soll es noch nicht abschicken


              erst wennman wieder auf abschicken klickt, nachdem man es korriegiert hat

              Kommentar


              • #8
                Ich habe mal das Script was ich grade baste bis zur Unkentlichkeit entstellt... im Schema willst du doch sicher das hier nachbauen??

                PHP-Code:
                <?php
                if (!empty($_POST['absenden'])){
                //Eingaben prüfen wenn nicht korrekt $Mitteilung .= "Fehlermeldung";
                //sonst in Variable speichern $Text = $_POST['Text']
                }

                if (!empty(
                $_POST['absenden']) and empty($Mitteilung)){
                // Speichern der variablen in DB
                    
                    
                $Mitteilung .= "Die &Auml;nderungsw&uuml;nsche wurden erfolgreich gespeichert<br>";
                }

                // Ab hier Anzeigen des Formulars
                include("head.inc");
                echo 
                "<!-- Text beginnt hier -->\n";
                if (!empty(
                $Mitteilung)){
                    echo 
                "<h3 style='color:red'>".$Mitteilung."</h3>\n";
                }
                ?>
                <form action="fb_Detail.php" method="post">
                        <input type="text" name="Text" value="<?php echo $Text?>">
                        <input type="submit" name="absenden" style="width:120px;" value="Absenden">
                </form>
                <?php
                echo '<!-- Text endet hier -->';
                include(
                "foot.inc");
                ?>
                Wenn du die Gültigkeit vorm Absenden überprüfen willst musst du wohl auf JavaScript zurück greifen, das Ergebnis wird aber keine großen Unterschiede machen.

                Kommentar


                • #9
                  hi,

                  folgenden code mal an den anfang setzen und anpassen ..
                  sollte funktionieren, habe es aber nicht geprüft ..
                  PHP-Code:
                  // Variablen definieren
                  $aRequest array_merge($_GET$_POST$_REQUEST);
                  $aError = array();

                  // Namen der Felder die überprüft werden sollen
                  $aMustHave = array( "vorname""nachname""konto" );

                  // Überprüfen
                  foreach($aMustHave as $iKey => $sName)
                  {
                    if(!isset(
                  $aRequest[$sName]))
                      
                  $aError[] = $iKey;
                  }

                  // Alles OK?
                  if(count($aError) == 0)
                  {
                    echo 
                  "Alles OK ..";
                  }
                  else
                  {
                    
                  // Fehler ausgeben
                    
                  foreach($aError as $iKey)
                    {
                      echo 
                  $aMustHave[$iKey] . " angeben!<br/>";
                    }

                  gruß,
                  maller86

                  Kommentar

                  Lädt...
                  X