kostenloser Webspace werbefrei: lima-city


Wieso geht das nicht?

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    s******r

    Hallo

    Ich habe ein bl?des Problem, und wei? nicht, wo der Fehler liegt!

    if($action=="login") {
    session_start();
    include("mysql.php.inc");
    $res1=mysql_query("SELECT * FROM users WHERE username = '$name'");
    while($row=mysql_fetch_array($res1)) {
    $pw_db="$row[pw]";
    echo "$pw_db";
    }
    if($pw_db=="$pw_user") {
    $_SESSION[loginid]="$row[id]";
    echo "Klicke <a href='ingame/index.php'>hier</a>.";
    }
    else {
    echo "<font color='red'>Login Fehlerhaft!</font>";
    }
    }

    Die Zugangsdaten sind korrekt, doch es kommt immer der Text "Login Fehlerhaft!"

    Aber warum? Wenn ich kein Passwort in der DB benutze, dann geht es, doch wenn ich eines nutze, und dass Passwort in der Variable "$pw_user" so wie in der Datenbank ist, geht es nicht...

    Warum nicht?

    bis dann,
    scripter
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. $res1=mysql_query("SELECT * FROM users WHERE username = '$name'");
    Hier hast du das Semikolon in der MySQL-Abfrage vergessen.
    Richtig:
    $res1=mysql_query("SELECT * FROM users WHERE username = '$name';");

  4. Hier sind zB 2 Fehler.

    $pw_db="$row[pw]";
    echo "$pw_db";

    Variablen werden nicht in Hochkommas geschrieben.
    Richtig w?re

    $pw_db = $row[pw];
    echo $pw_db;
  5. Autor dieses Themas

    s******r

    Hallo

    Es liegt aber nicht daran. Dass mit dem Ausgeben ist eine reine ?berpr?fungssache. Das Problem ist, dass die While-Schleife garnicht ausgef?hrt wird ?!

    Dass ist ja das komische.. Ist mir gerade aufgefallen!

    bis dann,
    scripter

  6. $res1=mysql_query("SELECT * FROM users WHERE username = '$name'");
    Hier hast du das Semikolon in der MySQL-Abfrage vergessen.
    Richtig:
    $res1=mysql_query("SELECT * FROM users WHERE username = '$name';");




    Das mit dem Semikolon stimmt glaube ich nciht.
    Lass des mal lieber weg
  7. Woher weist du, dass die while schleife nicht ausgef?hrt wird?
  8. Autor dieses Themas

    s******r

    Hallo.

    Weil die Variable nicht ausgegeben wird!

    bis dann,
    scripter
  9. du darst die variablen eben nicht in "" setzten
    Ausserdem stimmt deine ABfrage nicht

    versuchs mal so:

    if($action=="login") 
    {
      session_start();
      include("mysql.php.inc");
      $res1=mysql_query("SELECT * FROM users WHERE username = '".$name:"'");
      while($row=mysql_fetch_array($res1)) 
      {
        $pw_db = $row[pw];
        echo  $pw_db;
      }
      if($pw_db == $pw_user) 
      {
        $_SESSION[loginid] = $row[id];
        echo "Klicke <a href='ingame/index.php'>hier</a>.";
      }
      else 
      {
      echo "<font color='red'>Login Fehlerhaft!</font>";
      }
    }


    Beitrag ge?ndert am 25.01 21:01 von korbiw

  10. Das mit dem Semikolon stimmt glaube ich nciht.
    Lass des mal lieber weg


    Also bei mir haben SQL-Anfragen ohne Semikon noch nie funktioniert. Soweit ich wei? muss jede SQL-Abfrage mit einem ; geschlossen werden. Du kannst den Query ja mal bei PHPMyAdmin auf http://mysql.lima-city.de eingeben. Dann siehst du ja, ob eine Fehlermeldung kommt.
  11. Autor dieses Themas

    s******r

    Hallo.

    Da kommt das gleiche bei Raus! Ich glaube nicht, dass es an den " liegt, sondern an der MySQL-Abfrage?!

    bis dann,
    scripter


  12. Das mit dem Semikolon stimmt glaube ich nciht.
    Lass des mal lieber weg


    Also bei mir haben SQL-Anfragen ohne Semikon noch nie funktioniert. Soweit ich wei? muss jede SQL-Abfrage mit einem ; geschlossen werden. Du kannst den Query ja mal bei PHPMyAdmin auf http://mysql.lima-city.de eingeben. Dann siehst du ja, ob eine Fehlermeldung kommt.


    Das stimmt nicht ganz

    Wenn man die ABfrage so macht, muss ein Semicolon stehen, aber weil es php code ist, der ja immer von einem Semicolon abgeschlossen werden muss.

    $abfrage = "SELECT * FROM users WHERE username = '$name'";
    $res1=mysql_query($abfrage)

    Bei dieser Methode ist ja das Semicolon am Ende der Zeile

    $res1=mysql_query("SELECT * FROM users WHERE username = '$name'");


    @ scripter Poste doch nochmal den Code, wie er jetzt ausschaut

  13. du darst die variablen eben nicht in "" setzten
    Ausserdem stimmt deine ABfrage nicht

    versuchs mal so:

    if($action=="login") 
    {
      session_start();
      include("mysql.php.inc");
      $res1=mysql_query("SELECT * FROM users WHERE username = '".$name."'");
      while($row=mysql_fetch_array($res1)) 
      {
        $pw_db = $row[pw];
        echo  $pw_db;
      }
      if($pw_db == $pw_user) 
      {
        $_SESSION[loginid] = $row[id];
        echo "Klicke <a href='ingame/index.php'>hier</a>.";
      }
      else 
      {
      echo "<font color='red'>Login Fehlerhaft!</font>";
      }
    }


    Beitrag ge?ndert am 25.01 21:01 von korbiw


    Hatte einen Fehler so m?sste er aber stimmen

    Beitrag ge?ndert am 25.01 21:08 von korbiw
  14. Autor dieses Themas

    s******r

    Hallo.

    Geht auch nicht :frown:

    bis dann,
    scripter

    EDIT: Ooohhh man, bin ich bl?d!!! ARGH!!! Kein Wunder -.- Ich hab die Falsche DB connectet -.-

    Beitrag ge?ndert am 25.01 21:11 von scripter
  15. ich hab nur mal die zeilen genommen, die einer ?nderung bed?rfen:

    $res1=mysql_query("SELECT * FROM users WHERE username = '".$name."';");
    //das symikolon nach der sql abfrage muss nicht stehen, sollte man aber setzen.
    $row=mysql_fetch_array($res1))
    if($row['pw']==$pw_user) {
    $_SESSION['loginid']=$row['id'];
    }

    die while schleife kannst du dir sparen, da ich mal davon ausgehe, dass jeder benutzername nur einmal vergeben ist. die indizes m?ssen in anf?hrungszeichen stehen. variablen bei zuweisungen und ausdr?cken jedoch nicht.
  16. poste doch nochmal den code wie er jetzt ist
  17. Bist ja eigentlich schon lange genug dabei, aber manche checken es immer noch ned:

    Ein Thread-Name "Warum geht das nich???" Hilft mal GAR NIX.

    Schreibt doch bitte genau, worum es geht.

    Edit jacr
    Hast zwar recht, aber es geh?rt nicht zum Thema.
    Schreib ihn doch ne PM, dann bekommt er dein Anliegen auch mit.

    Beitrag ge?ndert am Tue 25.01.2005 21:29 von jacr
  18. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!