PHP holt Daten nicht aus der Tabelle

  • Hey,


    Durch printen habe ich heruasgefunden, das der Query richtig ist, das Problem PHP holt nix aus der Tabelle:



    $ar = mysql_fetch_array($conn);

    $_SESSION['userid'] = $ar['id'];
    $_SESSION['Mail'] = $ar['Mail'];
    $_SESSION['regtime'] = $ar['reg_time'];
    $_SESSION['verifized'] = $ar['Verifiziert'];
    $_SESSION['money'] = $ar['Guthaben'];
    $_SESSION['rank'] = $ar['Rank'];


    Userid müsste jetzt 1 sein nur es ist immernoch -1 so wie ich sie oben definiert habe?


    Gruss Nico

  • Das was du hier gezeigt hast ist Richtig, der Fehler muss also irgendwo vorher passieren. Ohne Code kann ich dazu leider nicht viel sagen.

    Ich helfe gerne, aber nur wenn die andere Person wenigstens versucht es zu schaffen.
    Solange sie nicht so dreist sind und mich beim Zocken zuspammen.

  • lass dir testweiße mal $ar mit print_r ausgeben, also print_r($ar);
    sehe da jetzt keinen wirklichen Fehler. Wobei ich sowas bis jetzt auch noch nie mit Session gelöst habe.

    Ich helfe gerne, aber nur wenn die andere Person wenigstens versucht es zu schaffen.
    Solange sie nicht so dreist sind und mich beim Zocken zuspammen.

  • lass dir testweiße mal $ar mit print_r ausgeben, also print_r($ar);
    sehe da jetzt keinen wirklichen Fehler. Wobei ich sowas bis jetzt auch noch nie mit Session gelöst habe.


    Wie würdest du es dann lösen? So das ich in der nächsten Seite drauf zu greifen kann?


    EDIT:


    ALso $ar['id'] zeigt mir nichts an? Wird das irgendwie ignoriert? Ich weiss echt nicht weiter gibt es noch andere Methoden?

  • Ich habs bis jetzt so gelöst das ich nur Nutzername und Passwort (verschlüsselt) als Session gespeichert hab, und nach erfolgreichen login auf der Nächsten Seite frage ich dann alles ab und Gebe das ohne Vorher in eine Session zu setzen aus.


    So wird Zwar Jedes mal wenn die Seite geladen wird ein Query ausgeführt, aber die Daten sind dann Aktuell.


    //Edit:
    Ich hoffe du hast nicht print_r($ar['id']); versucht. das würde nicht gehen. Direkt das Array $ar ausgeben lassen. Kommt nichts schlägt das Query fehl.

    Ich helfe gerne, aber nur wenn die andere Person wenigstens versucht es zu schaffen.
    Solange sie nicht so dreist sind und mich beim Zocken zuspammen.

  • Das problem scheint wohl zu schein das das Query fehlschlägt. versuche mal ob du einen mysql_error(); abfangen kannst nach dem Query.

    Ich helfe gerne, aber nur wenn die andere Person wenigstens versucht es zu schaffen.
    Solange sie nicht so dreist sind und mich beim Zocken zuspammen.

  • Du musst auch eine while Schleife machen. Dann sollte es klappen. Ich hoffe die Variable $conn ist der Query und nicht die Datenbankverbindung..


    PHP
    while ($ar = mysql_fetch_array($conn)) {
          $_SESSION['userid'] = $ar['id'];
          $_SESSION['Mail'] = $ar['Mail'];
          $_SESSION['regtime'] = $ar['reg_time'];
          $_SESSION['verifized'] = $ar['Verifiziert'];
          $_SESSION['money'] = $ar['Guthaben'];
          $_SESSION['rank'] = $ar['Rank'];
        }

  • Mit der while geht und ging es auch net


    $conn = mysql_query("SELECT * FROM `accounts` WHERE `name` = '$benutzer'");

  • Du musst auch eine while Schleife machen. Dann sollte es klappen. Ich hoffe die Variable $conn ist der Query und nicht die Datenbankverbindung..


    PHP
    while ($ar = mysql_fetch_array($conn)) {
          $_SESSION['userid'] = $ar['id'];
          $_SESSION['Mail'] = $ar['Mail'];
          $_SESSION['regtime'] = $ar['reg_time'];
          $_SESSION['verifized'] = $ar['Verifiziert'];
          $_SESSION['money'] = $ar['Guthaben'];
          $_SESSION['rank'] = $ar['Rank'];
        }


    while kommt nur zum einsatz wenn es mehrere Datensätze gibt. Hier wird nur einer verlangt (denk ich mal :S).


    wie genau wird $benutzer angelegt? ist diese eine $_GET oder $_POST variable oder woher kommt diese?

    Ich helfe gerne, aber nur wenn die andere Person wenigstens versucht es zu schaffen.
    Solange sie nicht so dreist sind und mich beim Zocken zuspammen.

  • mal ne andere Frage, bist du sicher das $row[2], also Spalte 3 wirklich das passwort ist? warum bindest du das nicht gleich ins Query mit ein?

    Ich helfe gerne, aber nur wenn die andere Person wenigstens versucht es zu schaffen.
    Solange sie nicht so dreist sind und mich beim Zocken zuspammen.

  • Mach sowas gleich zu anfang wie es am ende sein soll, bringt nichts wenns geht und du alles wieder umbauen musst. Unnötige arbeit.

    Ich helfe gerne, aber nur wenn die andere Person wenigstens versucht es zu schaffen.
    Solange sie nicht so dreist sind und mich beim Zocken zuspammen.