Ankündigung

Einklappen
Keine Ankündigung bisher.

Variablen Überprüfung nicht richtig möglich. Die ersten zwei werden Übersprungen...

Einklappen

Neue Werbung 2019

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

  • Variablen Überprüfung nicht richtig möglich. Die ersten zwei werden Übersprungen...

    Aufgrund, dass ich nicht weiß, wie ich Variablen in die Select * From Anweisung einbinden kann. Und ich mit meinen Über 44 Tabellen richtig verbinden möchte, habe ich eine Lösung gesunden, die ich sehr gerne bei größeren Daten verwende.
    Dieser Weg hat jetzt super funktioniert. Bevor dieser Weg ausgeführt werden soll, muss geprüft werden, ob was drinnen steht. Steht nix drinnen gibt es ein Echo, dass dieses Feld Leer ist. Ist dieses Feld nicht leer, dann werden Schritt für Schritt geprüft, ob über all was drinnen steht. Leider hat beim ersten Versuch, ab der 2. If Anweisung funktioniert. ich habe einmal else if benutzt und einmal elseif ... Irgendwie jetzt, funktioniert es problemlos der Username prüfung und dann das Passwort.
    Die Select Abfragen, ob was ausgewählt ist, hat jetzt nicht mehr funktioniert. Die müssen funktionieren, da das Switch wissen muss, auf welchen Datenbank tabelle es das Login findet....

    mein aktueller Code:


    PHP-Code:

      
    if(isset($_POST["submit"])){        $selectBottyp = ( isset( $_POST['bottyp'] ) ? $_POST['bottyp'] : '' );      $selectBotCB = ( isset( $_POST['bot_cb'] ) ? $_POST['bot_cb'] : '' );        $dbtabelle $selectBottyp $selectBotCB;                $username $_POST["username"];      $pw $_POST["passwort"];        if($selectBottyp == ''){            echo "Bitte wählen Sie den Bot Typ!";        }elseif($selectBotCB == ''){            echo "Bitte wähle den Bot CB aus!";        }elseif($username == ''){            echo "Dein Benutzername ist leer. Bitte geben Sie dein Username an!";        }elseif($pw == ''){            echo "Das Passwort Feld ist leer. Bitte geben Sie ein Passwort an!";        }                                switch($dbtabelle){            case 'ankauf_extreme':                echo "Case ankauf_extreme";                                      $stmt $con->prepare("SELECT * FROM ankauf_extreme WHERE username=:username");                 $stmt ->bindParam(":username"$username);              $stmt ->execute();              $userExists $stmt->fetchAll();              var_dump($userExists);              break;      } 


                                       } 
    Ich hoffe, dass ihr mir bei der Überprüfung helfen könnt

  • #2
    kannst du das bitte so formatieren, dass man nicht meterlang horizontal scrollen muss?
    sorry, shift-taste kaputt

    Kommentar


    • #3
      Zitat von Meister1900 Beitrag anzeigen
      kannst du das bitte so formatieren, dass man nicht meterlang horizontal scrollen muss?
      Wie macht man das? Ich wähle php aus und gehe dazwischen und drüche paar mal Enter.... Dann muss ich eben HTML Format mache:


      PHP-Code:


        
      if(isset($_POST["submit"])){

       
      $selectBottyp = ( isset( $_POST['bottyp'] ) ? $_POST['bottyp'] : '' );
       
      $selectBotCB = ( isset( $_POST['bot_cb'] ) ? $_POST['bot_cb'] : '' );

       
      $dbtabelle $selectBottyp $selectBotCB;
       
      $username $_POST["username"];
       
      $pw $_POST["passwort"];
       if(
      $selectBottyp == ''){

       echo 
      "Bitte wählen Sie den Bot Typ!";      

       }elseif(
      $selectBotCB == ''){

      echo 
      "Bitte wähle den Bot CB aus!";      

       }elseif(
      $username == ''){

       echo 
      "Dein Benutzername ist leer. Bitte geben Sie dein Username an!";  

        }elseif(
      $pw == ''){

       echo 
      "Das Passwort Feld ist leer. Bitte geben Sie ein Passwort an!"

      }


      switch(
      $dbtabelle){

          case 
      'ankauf_extreme':  

                                           echo 
      "Case ankauf_extreme";


                                           
      $stmt $con->prepare("SELECT * FROM ankauf_extreme WHERE username=:username");
                                           
      $stmt ->bindParam(":username"$username);
                                           
      $stmt ->execute();
                                           
      $userExists $stmt->fetchAll();
                                           
      var_dump($userExists);        

                                           break;



           }


                                         } 

      Kommentar


      • #4
        kopiere es erst von deiner ide in einen normalen text-editor und dann von dort ins forum kopieren
        sorry, shift-taste kaputt

        Kommentar


        • #5
          Ich versteh nur Bahnhof.

          Wenn etwas nicht so funktioniert wie man es sich erhofft betreibt man debugging:

          https://php-de.github.io/#debugging

          Das sind Grundlagen die du lernen soltest bevor du Dich an den Rest machst.

          Kommentar


          • #6
            Zitat von jonas3344 Beitrag anzeigen
            Ich versteh nur Bahnhof.

            Wenn etwas nicht so funktioniert wie man es sich erhofft betreibt man debugging:

            https://php-de.github.io/#debugging

            Das sind Grundlagen die du lernen soltest bevor du Dich an den Rest machst.
            Sorry, was hat es mit meine Frage zu tun? Ich verstehe gerade nur Bahnhof und eine If Abfrage, weißt jeder, wie ich es machen kann.

            Iche Hilfe und wenn man es nicht weiß, dann gib doch nicht 1 Lexika. Ich habe da eh kein Durchblick.

            Kannst du mir schnell helfen oder nicht???

            Kommentar


            • #7
              Zitat von AAK Beitrag anzeigen
              Aufgrund, dass ich nicht weiß, wie ich Variablen in die Select * From Anweisung einbinden kann. Und ich mit meinen Über 44 Tabellen richtig verbinden möchte, habe ich eine Lösung gesunden, die ich sehr gerne bei größeren Daten verwende.
              Führe erst die 44 Tabelle zu einer zusammen und hole die Daten dann aus dieser einen - alles andere ist Unsinn und führt nur in eine Sackgasse aus der du früher oder später wieder mühsam rausmanövrieren musst.

              Die Select Abfragen, ob was ausgewählt ist, hat jetzt nicht mehr funktioniert. Die müssen funktionieren, da das Switch wissen muss, auf welchen Datenbank tabelle es das Login findet....
              Ich bin mir jetzt nicht ganz sicher was du meinst, ich vermute aber mal dass das Problem darin liegt dass das switch immer ausgeführt wird, egal ob eine der Bedingungen darüber zutrifft (also was fehlt) oder nicht. Aber wie gesagt: wirf erst die 44 Tabellen (bzw. 43 davon) weg, dann brauchst du auch die komischen select-Elemente nicht mehr!

              Übrigens: das »$selectBottyp = (isset($_POST['bottyp']) ? $_POST['bottyp'] : '');« geht auch kürzer: »$selectBottyp = $_POST['bottyp']) ?? '';« - zudem prüfst du nicht ob Werte für Name und Passwort überhaupt existieren - wenn nicht wirft dein Code eine Notice.

              Kommentar


              • #8
                Ich weiß nicht, ob AAK es ernst meint, oder die Leute hier verarscht. Auch wenn das Forum fast tot ist, muss man seine Zeit nicht damit verbringen, diesem unleserlichen Mist eines vollkommen beratungsresistem AAK zu folgen.

                Kommentar


                • #9
                  Zitat von tk1234 Beitrag anzeigen
                  Führe erst die 44 Tabelle zu einer zusammen und hole die Daten dann aus dieser einen - alles andere ist Unsinn und führt nur in eine Sackgasse aus der du früher oder später wieder mühsam rausmanövrieren musst.


                  Ich bin mir jetzt nicht ganz sicher was du meinst, ich vermute aber mal dass das Problem darin liegt dass das switch immer ausgeführt wird, egal ob eine der Bedingungen darüber zutrifft (also was fehlt) oder nicht. Aber wie gesagt: wirf erst die 44 Tabellen (bzw. 43 davon) weg, dann brauchst du auch die komischen select-Elemente nicht mehr!

                  Übrigens: das »$selectBottyp = (isset($_POST['bottyp']) ? $_POST['bottyp'] : '');« geht auch kürzer: »$selectBottyp = $_POST['bottyp']) ?? '';« - zudem prüfst du nicht ob Werte für Name und Passwort überhaupt existieren - wenn nicht wirft dein Code eine Notice.
                  Aber ich müsste das ja bei anderen Bereichen überprüfen können, z:B. in ein Fomular, wo man sein Geschlecht auswählt. Es geht um ne einfache Überprüfung. Habe auch versucht zu sehen, ob z.B.: bitte wählen aus gewählt ist und das als leer zu betrachten.

                  Kommentar


                  • #10
                    Zitat von zorro001 Beitrag anzeigen
                    Ich weiß nicht, ob AAK es ernst meint, oder die Leute hier verarscht. Auch wenn das Forum fast tot ist, muss man seine Zeit nicht damit verbringen, diesem unleserlichen Mist eines vollkommen beratungsresistem AAK zu folgen.
                    Sorry, für diese Ausage jetzt: was meinst du von beraten? Das meiste wurde gesagt, das ich im Handbuch nach lesen muss. Jemand hat hier was debugging rein geschrieben, ws garnixs mit der Überprüfung zu tun hat. Und verarchen tue ich hier niemand, da ich ja erst selber probiere und versuche eine Lösung zu finden. Und mir wurde gesagt, ich sollte erstmal Grundlagen ect. zu lernen. Ist eine simple IF Abrage keine Grundlagen Lektion?...

                    Kommentar


                    • #11
                      Debugging bedeutet: Du findest selbst heraus weshalb etwas nicht funktioniert.

                      Wie das geht steht im verlinkten Artikel. Es ist nicht Aufgabe des Forums dies für Dich zu tun.

                      Kommentar


                      • #12
                        Zitat von jonas3344 Beitrag anzeigen
                        Debugging bedeutet: Du findest selbst heraus weshalb etwas nicht funktioniert.

                        Wie das geht steht im verlinkten Artikel. Es ist nicht Aufgabe des Forums dies für Dich zu tun.
                        Ich habe die debuggin seite gelesen und habe wie in einem Text den error anzeige angemacht. Ein If wird nicht alls errsor angezeigt. Ich dachte ich frage mal eine Anfänger frage, wie ich so eine If Abfrage mache....
                        Was ist die Aufgabe des Forum? Ich dachte es ist da einen zu helfen. Sonst gäbe es sowas doch nicht....

                        Kommentar


                        • #13
                          Du hast schon ganz viel Hilfe erhalten, du ignorierst sie einfach. Ein If ist eine absolute Grundlage, es steht im Handbuch wie das funktioniert. Und mit dem Debugging-Artikel solltest du fähig sein zu erkennen weshalb das nicht so funktioniert wie du Dir das erhoffst.

                          Was Dein Problem ist, welches du in #1 versuchst zu erklären, hab ich leider immer noch nicht verstanden. Die Erklärung ist viel zu wirr.

                          Kommentar


                          • #14
                            Zitat von jonas3344 Beitrag anzeigen
                            Du hast schon ganz viel Hilfe erhalten, du ignorierst sie einfach. Ein If ist eine absolute Grundlage, es steht im Handbuch wie das funktioniert. Und mit dem Debugging-Artikel solltest du fähig sein zu erkennen weshalb das nicht so funktioniert wie du Dir das erhoffst.

                            Was Dein Problem ist, welches du in #1 versuchst zu erklären, hab ich leider immer noch nicht verstanden. Die Erklärung ist viel zu wirr.
                            Ich habe eine umständliche Lösung gefunden. Außerdem Ignoriere ich ja garnixs und setze es ja um. Wenn man mal die Tabellen au´ßer Acht lassen(Da ich eine 2. test Reihe mache), dann muss man ja ein Select Menü prüfen können, ob es "leer" ist oder nicht. Z.B.: Du musst ein Geschlecht angeben. Option 1 = Bitte wählen, Option 2 = Männlich, Option 3 = Weiblich. Da musst du ja sehen können, ob Option 1 ausgewählt ist oder nicht....

                            Meine jetzige Lösung...:

                            PHP-Code:

                             
                            if($selectBottyp != 'ankauf' && $selectBottyp != 'verkauf'){

                                    echo 
                            "Bitte wählen Sie ihren Bottyp aus!";

                                }else if(
                            $selectBotCB != '_extreme' && $selectBotCB != '_evil' && $selectBotCB != '_nature' && $selectBotCB != '_cb1' && $selectBotCB != '_cb2' && $selectBotCB != '_cb3' && $selectBotCB != '_cb4' && $selectBotCB != '_cb5' && $selectBotCB != '_cb6' && $selectBotCB != '_cb7' && $selectBotCB != '_cb8' && $selectBotCB != '_cb9' && $selectBotCB != '_cb10' && $selectBotCB != '_cb11' && $selectBotCB != '_cb12' && $selectBotCB != '_cb13' && $selectBotCB != '_cb14' && $selectBotCB != '_cb15' && $selectBotCB != '_cb16' && $selectBotCB != '_cb17' && $selectBotCB != '_c18' && $selectBotCB != '_cb19' && $selectBotCB != '_cb20' && $selectBotCB != '_cb21' && $selectBotCB != '_cb22'){

                                    echo 
                            "Bitte wählen Sie ihren Bot CB aus!";

                                }else if(
                            $username == ''){

                                    echo 
                            "Dein Benutzername ist leer. Bitte geben Sie dein Username an!";

                                }else if(
                            $pw == ''){

                                    echo 
                            "Das Passwort Feld ist leer. Bitte geben Sie ein Passwort an!";



                                }else{

                                    echo 
                            " Alles Angegeben!"
                            Ps.: So funktioniert es! Ach wenn ich alle Optionen angeben musste. Leider habe ich nicht hinbekommen, die erste nur zu prüfen...

                            Kommentar


                            • #15
                              Zitat von AAK Beitrag anzeigen
                              Ich habe eine umständliche Lösung gefunden.
                              Umständlich ist noch vorsichtig ausgedrückt - das ist Käse. Was ist wenn es eine weitere Option gibt? Dann musst du die (jetzt schon ewig lange) if-Bedingung noch weiter verlängern … Warum nicht einfach was in die Richtung if(!isset($wert) or $wert == '-')? Voraussetzung ist natürlich dass bei der Option "bitte wählen" ein »-« übertragen wird (value-Attribut verwenden!). Übrigens: es gibt keinen Grund Umlaute zu verstümmeln.

                              Außerdem Ignoriere ich ja garnixs und setze es ja um.
                              Doch, du ignorierst: du hältst beharrlich an deinem Sammelsurium an Tabellen mit Zugangsdaten fest statt - wie bereits von mehreren Seiten empfohlen - alle Datensätze in eine Tabelle zu packen.

                              Kommentar

                              Lädt...
                              X