Ankündigung

Einklappen
Keine Ankündigung bisher.

Passwortabfrage mit MySQL + PHP

Einklappen

Neue Werbung 2019

Einklappen
Dieses Thema ist geschlossen.
X
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Passwortabfrage mit MySQL + PHP

    Schönen guten Abend,

    PHP-Code:
    $passwort $_POST['password'];
    $query=mysql_query("SELECT * FROM `users` WHERE `password`= '$password' ");
    while(
    $row =mysql_fetch_array($query)){
    $count++;
    }
    if(
    $count "1"){
    echo 
    "Access granted";
    }else{
    echo 
    "Access denied";

    Das ist mein Quelltext - aber egal, ob man falsche oder richtige Daten eingibt, man bekommt immer "Access granted", was sich nicht sehr gut macht. Wo liegt der Fehler?


  • #2
    Schau dir mal den Unterschied zwischen einer Zuweisung "=" und einem Vergleich "==" an!

    Kommentar


    • #3
      Aha

      Mein Code schaut jetzt so aus:

      PHP-Code:
      $passwort $_POST['password'];
      $query=mysql_query("SELECT * FROM `users` WHERE `password`= '$password' ");
      while(
      $row =mysql_fetch_array($query)){
      $count++;
      }
      if(
      $count == "1"){
      echo 
      "Access granted";
      }else{
      echo 
      "Access denied";

      Und trotzdem, er lässt immer noch jedes Passwort durch. Warum?

      Kommentar


      • #4
        Was steht denn in $count drin? Wo initialisierst du die Variable?
        http://hallophp.de

        Kommentar


        • #5
          Hier ist der gesamte Code -
          PHP-Code:
          $link mysql_connect('78.xxx.xxx.xxx'xxxxxx);
          if (!
          $link) {
              die(
          'Could not connect: ' mysql_error());
          }
          mysql_query("USE database;");

          $passwort $_POST['password'];
          $query=mysql_query("SELECT * FROM `users` WHERE `password`= '$password' ");
          while(
          $row =mysql_fetch_array($query)){
          $count++;
          }
          if(
          $count == "1"){
          echo 
          "Access granted";
          }else{
          echo 
          "Access denied";

          Kommentar


          • #6
            ein paar kleine Ergänzungen wären nötig..

            Zitat von Mo3 Beitrag anzeigen
            Hier ist der gesamte Code -
            Code:
            /**
            * Init
            */
            $count = 0;
            
            $link = mysql_connect('78.xxx.xxx.xxx', xxx, xxx);
            if (!$link) {
                die('Could not connect: ' . mysql_error());
            }
            mysql_query("USE database;");
            
            $passwort = $_POST['password'];
            $query=mysql_query("SELECT * FROM `users` WHERE `password`= '$password' ");
            while($row =mysql_fetch_array($query)){
            $count++;
            }
            if($count == 1){
            echo "Access granted";
            }else{
            echo "Access denied";
            }
            Grüße
            Thomas

            Kommentar


            • #7
              $passwort = $_POST['password'];
              ...`password`= '$password'

              Aber schau dir mal mysql_num_rows an.

              Und du identifizierst einen User nur über das Passwort?

              Kommentar


              • #8
                Könntet ihr mir nicht einfach präzise sagen, wo der Fehler liegt - das würde mir viel mehr helfen als diese Raterei. (Ich komme sowieso nicht drauf.)

                Kommentar


                • #9
                  Also ich würde behaupten, wir zeigen Dir in Deinen Code exakt wo die Fehler sind.

                  Stimmt eigentlich die Auswahl der Datenbank?

                  Zitat von Mo3 Beitrag anzeigen
                  Code:
                  $link = mysql_connect('78.xxx.xxx.xxx', xxx, xxx);
                  if (!$link) {
                      die('Could not connect: ' . mysql_error());
                  }
                  // mysql_query("USE database;");
                  mysql_select_db('YOUR_DB', $link); 
                  Ich glaube, in Deinem Fall wäre mysql_select_db die richtige Lösung.

                  Grüße
                  Thomas

                  Kommentar


                  • #10
                    Sorry das Board ist für Leute die selber lernen wollen und nicht für Leute die andere ihre Fehler beheben lassen möchten.

                    Themenmoderation:
                    [?] Thema geschlossen

                    Kommentar

                    Lädt...
                    X