Sponsor-Board.de

Normale Version: *gelöst* Login von PHP Seite ist Fehlerhaft
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.

Aaron schrieb:
Wenn da "Login Fehler" steht, hast du nen Fehler in der Mysql Abfrage - check das mit mysqli_error() - da wären wir wieder beim Thema: richtig debuggen ... was du ja laut eigener Aussage drauf hast Tongue

Das hat hier auch nichts mit dem OS oder der PHP Version zu tun - wie kommst du da drauf?

Naja hab mich wohl etwas falsch ausgedrück.

Ich kann richtig Debuggen, aber nur bis zu einem gewissen Grad, da mein Wissen manchmal nicht ausreicht, um jede Debugging Methode zu verwenden.

Die MySQL Abfrage werde ich dann so schnell wie möglich mal auseinander nehmen und das Problem mit mysqli_error lösen.

Die PHP version könnte außerdem wichtig sein, da nicht jede PHP version die gleichen Features hat. Vlt verwende ich ja eine veraltete Version für meinen kleinen Webserver.

Naja Danke trotzdem für den Tipp

VarmintLP schrieb:

Aaron schrieb:
Wenn da "Login Fehler" steht, hast du nen Fehler in der Mysql Abfrage - check das mit mysqli_error() - da wären wir wieder beim Thema: richtig debuggen ... was du ja laut eigener Aussage drauf hast Tongue

Das hat hier auch nichts mit dem OS oder der PHP Version zu tun - wie kommst du da drauf?

Naja hab mich wohl etwas falsch ausgedrück.

Ich kann richtig Debuggen, aber nur bis zu einem gewissen Grad, da mein Wissen manchmal nicht ausreicht, um jede Debugging Methode zu verwenden.

Die MySQL Abfrage werde ich dann so schnell wie möglich mal auseinander nehmen und das Problem mit mysqli_error lösen.

Die PHP version könnte außerdem wichtig sein, da nicht jede PHP version die gleichen Features hat. Vlt verwende ich ja eine veraltete Version für meinen kleinen Webserver.

Naja Danke trotzdem für den Tipp

lass dir den mysql String ausgeben und prüfe ihn mit einem SQL Programm oder phpmyadmin.
Dann siehst du ob es an dem SQL String liegt oder wo anders.

@VarmintLP

das mit der PHP Version macht keinen Sinn, da es sonst nen PHP Fehler oder wenigstens n Warning geben würde.

Folgende Sachen bei ner Fehlersuche beachten:

- PHP Fehler anzeigen
- MySQL Fehler ausgeben (Wenn da nichts kommt den String ausgeben lassen und manuell in phpmyadmin ausführen)
- Variablen dumpen (mit var_dump) - an versch. / sinnvollen Stellen
- evtl. Stellen auskommentieren und so Fehlerquellen ausschließen
- oder auch mal alle definierten Vars ausgeben: [Link: Registrierung erforderlich]

Gruß
So Leute. Ich habe mich heute wieder hinter das Login Skript geklemmt, um es nun endlich zum Laufen zu bringen und es funktioniert so wie es soll.

Da ich mich so schwer getan habe und es anderen vlt auch so geht, möchte ich hier nur noch einmal mein Skript veröffentlichen, das ich mit der Hilfe der User von Sponsor-Board geschrieben habe.

Der Fehler lag daran, dass mir ein gewisser Jemand mysql_num_row anstelle von mysqli_num_rows gegegen hat und es mir erst jetzt aufgefallen ist. Da sämtliche Variabeln entweder keine Fehler/falschen Werte ausgegeben haben, habe ich mir das ganze Skript nochmal durchgeschaut und diesen Fehler dann mit einem einfachen Debugging herausgefunden.

Hier ist nun der Code, der eventuell zukünfigen Hilfesuchenden helfen kann. Biggrin

Code:
echo "      <p>
            Name: ".$_SESSION['Username']."  PW: ".$_SESSION['Password']."
  ";
  
  if ($_SESSION['LoggedIn'] == "Set")
  {
    echo"   <input type='submit' name='logout' value='Log Off' onclick='LogOff()'>Eingeloggt";
  }
  else
  {
    echo" <table border='0'>
            <tr>
              <td>
                Username:    
              </td>
              <td>
                <input type='text' name='Username' maxlength='20' >
              </td>
            </tr>
            <tr>
              <td>
                Passwort:    
              </td>
              <td>
                <input type='password' name='Password' maxlength='20'>
              </td>
            </tr>
            <tr>
              <td colspan='2'>
                <input type='submit' name='Login' value='Login'>      
              </td>
            </tr>
          </table>
    ";
  
    //Prüfen ob Daten eingegeben wurden
    if (isset($_SESSION['Username']) AND
        isset($_SESSION['Password']))
    {
      $Username = $_SESSION['Username'];
      $Password = $_SESSION['Password'];
      
      //Code für Logindaten Überprüfung
      $sqlLoginData = "SELECT * FROM `tblUser` WHERE `Name` = '$Username' AND `Password` = '$Password'";
        
      //Ausführung des MySQL-Befehls
      $ausführen = mysqli_query($con, $sqlLoginData)
        or die("Login Fehler");
      
      $checkforRow = mysqli_num_rows($ausführen);
      
      if (mysqli_connect_errno())
      {
        echo "Ein Verbindungsfehler ist aufgetretten.
          <br>Bitte senden sie folgende Fehlermeldung an ihren Netzwerkadministrator:
          " . mysqli_connect_error();
      }
      
      if ($checkforRow != 0)
      {
        $_SESSION['LoggedIn'] = "Set";
        $_SESSION['Check3'] = "OK";
        }
        else
        {
          echo "Login Fehlgeschlagen!";
          echo("<br>Login Fehler: " . mysqli_error($con));
        }
        
        if (isset($_SESSION['Check3']))
        {
          
        }
      }
      else
      {
      //übergabe der Registrationsdaten
      $_SESSION['Username'] = $_POST['Username'];
      
      $_SESSION['Password'] = $_POST['Password'];
      }
    }
    
    //Durchführen von zwei Reloads, um den Benutzer einzulogen oder die entsprechende Fehlermeldung auszuschreiben
    if (isset($_POST['Login']) == "Set" AND $_SESSION['Reload1'] != "Set")
    {
      $_SESSION['Reload1'] = "Set";
      echo "
          <script type='text/javascript'>
            window.setTimeout(location.href='index.php', 500);
          </script>
        ";
    }
    else if ($_SESSION['Reload1'] == "Set" AND $_SESSION['Reload2'] != "Set")
    {
      $_SESSION['Reload2'] = "Set";
      echo "
          <script type='text/javascript'>
            window.setTimeout(location.href='index.php', 500);
          </script>
        ";
    }


Ich hoffe ich konnte einigen Helfen und eventuell dient mein Code ja auch zur Lösung eventueller Probleme.

P.S.: Mein Include geht auch wieder Biggrin

Seiten: 1 2
Referenz-URLs