ID vom USERNAME auslesen!

sluggish

Mitglied
Huhu,

irgendwie bin ich zu doof die ganzen PHP-Funktion zu verstehen.
Habe mal eine Frage:

Nachdem sich ein User einloggt, soll aus der MySQL DB die dazugehörige ID ausgelesen werden. Kann mir bitte jemand die richtige Syntax dafür posten?

Soweit bin ich bis jetzt:
PHP:
$query = "SELECT * FROM hp_users WHERE username LIKE '";
  $query.=$user;
  $query.="'";
  $result=mysql_query($query);

Den Rest habe ich.
Die ID soll in der Variable $id gespeichert werden!
 
könntest ja zum Beispiel den Script mal sagen was er überhaupt Selecten soll...
Select id From hp_users, statt *
also der Spaltenname muss da rein.

und wo in deinem Script ist die $user ?

um das Ganze in die $id zu speichern,
versuch mal statt

PHP:
$result=mysql_query($query);

einfach ma
PHP:
$id = $query->loadResult();
 
Ich sag ja, ich versteh das nicht!!
Hier mal mein ganzes Script!!

PHP:
 <?php 
  $username = $_REQUEST['username'];
  $passwort = $_REQUEST['password'];
  $pass = md5($passwort);
  
  include();
  $query = "SELECT * FROM hp_users WHERE username LIKE '";
  $query.=$username;
  $query.="'";
  $result=mysql_query($query);
  $row=mysql_fetch_array($result);
    if($pass==$password) {
        echo '<div>Willkommen <b>';
        echo $username;
        echo '!</b><br>Klicke <a href="/Member/?id="';
        echo $id;
        echo '>hier</a>, um deine Seite zu sehen!!';
                          }
     else {
         echo '<p align="center">Falsches Passwort f&uuml;r den User <b>';
         echo $user;       
          }
 ?>
 
Zuletzt bearbeitet:
Hi,

einfach ma
PHP-Code:
$id = $query->loadResult();

Wo soll die Methode denn herkommen? :confused:
$query ist doch ein simpler PHP-String und von der Verwendung irgendeiner DB-Klasse habe ich nichts gesehen...

@sluggish:

PHP:
  ...
  $result=mysql_query($query);
  $row=mysql_fetch_array($result); 
  $id = $row['id'];
  ...

Und ausserdem solltest Du Benutzereingaben nicht einfach so an die Datenbank weitergeben. Stichwort SQL-Injection. Abhilfe leistet mysql_real_escape_string.
Vermutlich wird Dein Script aber trotzdem nicht laufen, da Du lauter unterschiedliche Variablennamen verwendest, die Du teilweise gar nicht definierst ($passwort, $pass, $password, $user, $username)

LG
 
Zuletzt bearbeitet:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /srv/www/httpd/phost/g/com/gamer4ever/web/check.php on line 11

Hast Recht mit den Variablen!
Sorry irgendwie durcheinander!

PHP:
10: $result=mysql_query($query); 
 11: $row=mysql_fetch_array($result);  
 12: $id = $row['id'];
 
Zuletzt bearbeitet:
fehler gefunden...
aber jetzt habe ich ein anderes problem!

Wenn ich mich jetzt einloggen möchte, ist das Passwort nicht mehr richtig!
MD5 ist es verschlüsselt!
 
also die PW's in der DB sind ebenfalls MD5 verschlüsselt!

PHP:
  <?php 
  $username = $_REQUEST['username'];
  $passwort = $_REQUEST['password'];
  $pass = md5($passwort);
  
  include('includes/config.inc');
  $query = "SELECT id FROM hp_user WHERE username LIKE '";
  $query.=$username;
  $query.="'";
  $result=mysql_query($query); 
  $row=mysql_fetch_array($result);  
  $id = $row['id'];
  $password = $row['passwort'];
  echo mysql_error();
    if($passwort==$pass) {
        echo '<div>Willkommen <b>';
        echo $username;
        echo '!</b><br>Klicke <a href="/Member/?id="';
        echo $id;
        echo '>hier</a>, um deine Seite zu sehen!!';
                          }
     else {
         echo '<p align="center">Falsches Passwort f&uuml;r den User <b>';
         echo $username;       
         echo '</b>!<br><a href="http://www.gamer4ever.com/?site=login">Nochmal versuchen!</a><br><a href="http://www.gamer4ever.com/?site=lostpw">Passwort vergessen?</a><br><a href="http://www.gamer4ever.com/?site=register">Jetzt Registrieren!</a></p></p>';
          }
 ?>
 
Hi,

PHP:
  $password = $row['passwort'];
  echo mysql_error();
  if($passwort==$pass) {

schon wieder das Variablendurcheinander, tztz... in $passwort steht doch das Passwort aus dem Formular. Du möchtest mit dem Hash $password aus der DB vergleichen. ;)

LG
 
Zurück