Formular überprüfen

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

  • Formular überprüfen

    Hallo, ich wollt nur mal fragen wie ich ein formular feld überprüfen kann ob was drin steht ? Und ob es eine möglichkeit gibt zwei textfelder auf gleichheit zu überprüfen. Und zwar sohlen die Daten in eine Datenbank geschrieben werden.

    PHP-Code:
    <form name="Formular" action="inhalt/fu_handleform.php" method="post">  
      <
    input type="text" name="Array[textfeld1]" size="20"
      <
    input type="text" name="Array[textfeld2]" size="20"
    </
    form
    hier die fu_handleform

    PHP-Code:
    $Array["textfeld1"] = trim 
    ($Array["textfeld1"]); 

    $Host "#"
    $User "#"
    $Password "#"
    $DBName "#"
    $TableName "#"

    $Link mysql_connect ($Host$User$Password); 
    $Query "Insert into $TableName values ('0', '$Array[textfeld1]',"

    print (
    "The query is:<br>$Query<p>\n"); 
    if (
    mysql_db_query ($DBName$Query$Link)) { 
    print (
    "The query was successfully executed!<br>\n"); 
    } else { 
    print (
    "The query could not be executed!<br>\n"); 


    mysql_close ($Link); 
    ausser dem suche noch eine function die sag das es aussgefühlt werden muss.

    Ich weiss das die frage schon öfters aufgetaucht ist "hab die suchfunktion benutz leider nicht das richtige gefunden" habe auch schon paar sachen versucht. Leider vergebens

  • #2
    generell:
    PHP-Code:
    if( trim($_POST['feldname']) == '' )
    echo 
    'feld nicht ausgefüllt'

    Kommentar


    • #3
      Danach müsstest du wohl das eintragen in die DB unterbinden und das Formular wieder anzeigen..

      Mit 2 Felder auf Gleichheit überprüfen meinst du wohl Passworteingaben oder Email (2x eingeben zur Bestätigung)

      PHP-Code:
      if ($_POST["var1"] != $_POST["var2"])
             echo 
      "Die eingegebenen Var´s stimmen nicht überein"
      gruss Chris

      [color=blue]Derjenige, der sagt: "Es geht nicht", soll den nicht stoeren, der's gerade tut."[/color]

      Kommentar


      • #4
        Vielen Dank, das mit dem Feldausfühlen klappt schon mal klasse.

        Das mit dem Passwort leider noch nicht habe es in die fu_handleform.php eingefügt und für die var1 u. var2 durch textfeld1 u. textfeld2 ersetzt. funtz leider nicht.

        Wie kann ich es erreichen das es erst in die DB geschrieben wird wenn die Felder ausgefühlt werden ?

        Kommentar


        • #5
          grob gesagt:
          PHP-Code:
          $fehler false;

          if(
          /* feld1 nicht ok */)
            
          $fehler true;

          if(
          /* feld2 nicht ok */)
            
          $fehler true;

          if(
          /* feld3 nicht gleich feld4 */)
            
          $fehler true;

          if(
          $fehler == false)
           
          mysql_query(/* in die db eintragen */); 
          natürlich muss $fehler kein boolean sein. wenn du es mit einem string machst, kannst du noch dazuschreiben, welches feld denn nun falsch ausgefüllt wurde.
          funtz leider nicht.
          ist keine fehlerbeschreibung. was hast du denn versucht?

          Kommentar


          • #6
            Also ich habe es so versucht
            PHP-Code:
            if( trim ($_POST['ort']) != $_POST['plz'])         
            echo 
            "Die eingegebenen Var´s stimmen nicht überein"
            meinst du es in etwa so ?

            PHP-Code:
            $fehler false;

            if(
            trim($_POST['textfeld1']) == '')
              
            $fehler true;

            iftrim($_POST[textfeld2']) == '')
              $fehler = true;

            if(trim($_POST['
            textfeld3']) == '')
              $fehler = true;

            if($fehler == false)
             mysql_query(/* in die db eintragen */); 

            Kommentar


            • #7
              OffTopic:
              ort und plz sollen gleich sein?


              Also ich habe es so versucht
              im grunde richtig. trim()'me am besten beides. und lass dir $_POST immer mit print_r() oder var_dump() ausgeben.
              meinst du es in etwa so ?
              ja.

              Kommentar


              • #8
                nein war nur so zum test

                Code:
                im grunde richtig. trim()'me am besten beides. und
                 lass dir $_POST immer mit print_r() oder var_dump() ausgeben.
                wie meinst du das genau ?
                Zuletzt geändert von CityHubter; 08.09.2005, 18:45.

                Kommentar


                • #9
                  quote-tags, nicht code-tags!

                  PHP-Code:
                  trim($a) == trim($b

                  Kommentar


                  • #10
                    So hab es versucht aber jetzt funzt gar nichts mehr
                    PHP-Code:
                    $Host "#";
                    $User "#";
                    $Password "#";
                    $DBName "#";
                    $TableName "#r";

                    $Link mysql_connect ($Host$User$Password);
                    $Query "Insert into $TableName values ('0', '$Array[vorname]', '$Array[nachname]', 
                    '
                    $Array[email]', '$Array[anschrift]', '$Array[plz]', '$Array[ort]', 
                    '
                    $Array[telefon]', '$Array[passwort]')";

                    $Array["vorname"] = trim
                    ($Array["vorname"]);
                    $Array["nachname"] = trim
                    ($Array["nachname"]);
                    $Array["email"] = trim
                    ($Array["email"]);
                    $Array["anschrift"] = trim
                    ($Array["anschrift"]);
                    $Array["plz"] = trim
                    ($Array["plz"]);
                    $Array["ort"] = trim
                    ($Array["ort"]);
                    $Array["telefon"] = trim
                    ($Array["telefon"]);
                    $Array["passwort"] = trim
                    ($Array["passwort"]);


                    $fehler false;

                    if( 
                    trim($_POST['vorname']) == '' )
                      
                    $fehler true;
                    if( 
                    trim($_POST['nachname']) == '' )
                      
                    $fehler true;
                    if( 
                    trim($_POST['email']) == '' )
                      
                    $fehler true;
                    if( 
                    trim($_POST['anschrift']) == '' )
                      
                    $fehler true;
                    if( 
                    trim($_POST['plz']) == '' )
                      
                    $fehler true;
                    if( 
                    trim($_POST['ort']) == '' )
                      
                    $fehler true;
                    if(
                    $fehler == false)
                     
                    mysql_query ($DBName$Query$Link);

                    mysql_close ($Link); 
                    Zuletzt geändert von CityHubter; 08.09.2005, 18:21.

                    Kommentar


                    • #11
                      Macht das wirklich sinn erst den Query zu bauen und dann trim() auf die einzelnen Variablen zu legen?

                      Und mach aus deinem Query mal

                      PHP-Code:
                      mysql_query ($DBName$Query$Link) or die("FEHLER: ".mysql_error()); 
                      gruss Chris

                      [color=blue]Derjenige, der sagt: "Es geht nicht", soll den nicht stoeren, der's gerade tut."[/color]

                      Kommentar


                      • #12
                        Hallo,

                        ich hat für solche Probleme mal ein Funktion gebastelt.

                        Die gibts hier : http://www.phpfuncs.org/?goto=4

                        MfG

                        Kommentar


                        • #13
                          Irgendwie ist jetzt der Wurm drin

                          PHP-Code:
                          <?php
                          $Array
                          ["vorname"] = trim
                          ($Array["vorname"]);
                          $Array["nachname"] = trim
                          ($Array["nachname"]);
                          $Array["email"] = trim
                          ($Array["email"]);
                          $Array["anschrift"] = trim
                          ($Array["anschrift"]);
                          $Array["plz"] = trim
                          ($Array["plz"]);
                          $Array["ort"] = trim
                          ($Array["ort"]);
                          $Array["telefon"] = trim
                          ($Array["telefon"]);
                          $Array["passwort"] = trim
                          ($Array["passwort"]);
                          $Array["li_vorname"] = trim
                          ($Array["li_vorname"]);
                          $Array["li_nachname"] = trim
                          ($Array["li_nachname"]);
                          $Array["li_anschrift"] = trim
                          ($Array["li_anschrift"]);
                          $Array["li_plz"] = trim
                          ($Array["li_plz"]);
                          $Array["li_ort"] = trim
                          ($Array["li_ort"]);

                          if( 
                          trim($_POST['vorname']) == '')
                          $fehler true

                          $Host "#";
                          $User "#";
                          $Password "#";
                          $DBName "#";
                          $TableName "#";

                          $Link mysql_connect ($Host$User$Password);
                          $Query "Insert into $TableName values 
                          ('0', '
                          $Array[vorname]', 
                          '
                          $Array[nachname]', '$Array[email]', '$Array[anschrift]', '$Array[plz]', 
                          '
                          $Array[ort]', '$Array[telefon]', '$Array[passwort]',
                           '
                          $Array[li_vorname]', '$Array[li_nachname]', '$Array[li_anschrift]', '$Array[li_plz]', 
                          '
                          $Array[li_ort]')";

                          print (
                          "The query is:<br>$Query<p>\n");
                          if(
                          $fehler == false)
                           
                          mysql_db_query ($DBName$Query$Link) or die("FEHLER: ".mysql_error());

                          mysql_close ($Link);
                          Zuletzt geändert von CityHubter; 08.09.2005, 18:44.

                          Kommentar


                          • #14
                            1. lies erstmal http://www.php-resource.de/forum/sho...threadid=50454
                            und brich den code in ALLEN deinen postings um.!

                            2. beschreibe das problem konkret, "läuft nicht" bringt keinen weiter.

                            3. arbeite mit E_ALL

                            Kommentar


                            • #15
                              Mit "Jetzt ist der Wurm drin" kann keiner was anfangen. Gibt dein Script jetzt fehler aus? Wenn ja welche.
                              Passiert einfach nichts?

                              Jemandem der Hilfe sucht alles aus der Nase ziehen zu müssen kann ganz schön demotivierend wirken.
                              gruss Chris

                              [color=blue]Derjenige, der sagt: "Es geht nicht", soll den nicht stoeren, der's gerade tut."[/color]

                              Kommentar

                              Lädt...
                              X