PHP || my-SQL

Mike K

Aktives Mitglied
Hallo ich habe wieder mal ein frage:

CODE
$sql = 'SELECT PW, User FROM User WHERE User LIKE $user LIMIT 0, 30';

$get = mysql_query($sql);
while($row = mysql_fetch_object($get)) {
$PW_db = $row->PW;
$login_db = $row->Login;


}
if($user == $login_db && $PW == $PW_db){
echo "Willkommen $login_db";
}else{
echo "Login oder Passwort falsch!<br>";
?><a href="index.php">ErneutVersuchen!</a><?php
}


Das ganz funktioniert nicht ! Kann mir jemand Sagen warum nicht ???
Mfg Mike
 
Falls es euch hilft:

Habe folgende Fehler meldung bekommen :
Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in /www/htdocs/w00635b6/PHP/login.php on line 11

Der Ausschnitt aus meinem script fängt in der Zeile 7 an!
 
Hi Mike K

Hab nur kurz hingeschaut..jedoch versuch ich mal einen Vorschlag abzugeben.

Hier mein Code:

CODE

$sql = 'SELECT PW, User FROM User WHERE User LIKE $user LIMIT 0, 30';

$get = mysql_query($sql);
while($row = mysql_fetch_object($get)) {
$PW_db = $row->PW;
$login_db = $row->Login;


}
if(($user == $login_db) AND ($PW == $PW_db)){
echo "Willkommen $login_db";
}else{
echo "Login oder Passwort falsch!<br>";
?><a href="index.php">ErneutVersuchen!</a><?php
}





Wie sieht dein Formular aus wo du User und Passwort eingibst?

HIER noch eine Anleitung zu einem Login Script.

Gruss
Simi
 
Login script sieht so aus:
CODE
<html>
<head>
<title>Login</title>
</head>
<body>
<center>
<h1>Login</h1>
<hr>
<form action="login.php" method ="post">
Login : <input type="text" name="user" />
Passwort: <input type="password" name="PW" />
<input type="submit" value="Login" />
</form>
<a href="fgpw.php">Passwort vergessen?</a>||<a href="cnu.php">Neu Anmelden!</a>
</center>

</body>
</html>


Habe noch keine sessionen mit eingebaut!
 
@Semi
habe deine Variante ausprobiert funktioniert auch nicht!
Werde mir mal das Tutorial angucken!
Mfg
Mike
 
Hallo Mike K,

Mach einen "@" vor der MySql Abfrage:

CODE

$get = @mysql_query($sql);
while($row = @mysql_fetch_object($get))




Gruss
Simi
 
oder diesen hier...

CODE
$get = mysql_query($sql) or die(mysql_error());



So kriegst Du auch eine detailiertere Fehlermeldung von mysql
 
CODE $sql = 'SELECT PW, User FROM User WHERE User LIKE $user LIMIT 0, 30';
$get = mysql_query($sql);
while($row = mysql_fetch_object($get)) {
$PW_db = $row->PW;
$login_db = $row->Login;
}
if($user == $login_db && $PW == $PW_db){
echo "Willkommen $login_db";


Das ist Gruselcode. Da werden erst 30 Zeilen geholt und anschließend Zeile für Zeile durchsucht.

Übergib den Nutzernamen und das Passwort der Sql-Abfrage und prüfe in der Where-Klausel, ob es einen Datensatz gibt.
 
QUOTE oder diesen hier...


CODE

$get = mysql_query($sql) or die(mysql_error());




So kriegst Du auch eine detailiertere Fehlermeldung von mysql


Habe ich gemacht, kommt diese Fehlermeldung :

CODE Unknown column '$user' in 'where clause'

Ich habe $user getestet, es kam raus das $user mk4711 enthält.
Ich weiss nicht weiter !?
Mfg
Mike
 
$user wird nicht ersetzt, wenn der String mit einfachem ' definiert wird.

Folgendes wird gehen:
QUOTE $sql = "SELECT PW, User FROM User WHERE User LIKE $user LIMIT 0, 30";

Weiter würd ich mir nochmals überlegen, ob dieses Query effizient ist. User / Passwort Kombinatinen sind in der Regel eindeutig. Daher möcht ich auf den Tipp oben von jAuer verweisen.
 
in etwa so ?
CODE $usert = $HTTP_POST_VARS[user];
$passwortt = $HTTP_POST_VARS[PW];
$sql = "SELECT Passwort,User FROM USERDB";
$get = @mysql_query($sql);
while($row = @mysql_fetch_object($get)){
$passwort = $row->Passwort;
$user = $row->User;
}
if ($passwortt == $passwort && $usert == $user ) {
echo "Willkommen $user";
}else{
echo "LOGIN oder Passwort falsch!";
}
???
 
Habe mich mal über die Verschlüsselung informiert. Was haltet ihr von der md5() Methode?
Gibt es sicherer Methoden?
MFG Mike
 
Zurück
Oben