Skript Problem

Max

B1G-Software-Kunde
Hi ich habe ein problem bei meinem Skript!
Könnt ihr mal gucken, was ich falsch gemacht habe?
Es ist ein Loginskript! Durch ein Formular werde BN und PW erkannt, diese werdn dann per Mysql überprüft!
Er meldet mit immer:
Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in C:\apachefriends\xampp\htdocs\host\login.php on line 21

und:
Falsches PW!,
obwohl es richtig ist.
Lässt man nun die BN überprüfung weg, funktioniert es!

PHP:
<html>
<head>
<title>Titel</title>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">  </head>
<body>  
<h3>Login</h3>  
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">  <input type="text" name="Nick"> 
<input type="password" name="Passwort">  
<input type="submit" value="LOGIN">  
<?php  
if (!empty($_POST['Nick']) && !empty($_POST['Passwort']))
{ 
mysql_connect("localhost","root","") or die("Mysql prob!");
mysql_select_db("hosting") or die("Tabellen prob!"); 
$sql='SELECT * FROM members WHERE Nick==$_POST[Nick]'; 
$result=mysql_query($sql); 
$row=mysql_fetch_assoc($result); 
if ($row["Passwort"]==$_POST["Passwort"]){  
echo "Halllo Welt!";  
}  
else {  
echo "Falsches PW!";  
mysql_close(); 
}
} 
?> 
</body> 
</html>

Könnt ihr mir den Fehler sagen.
Greetz
Max
 
Last edited:
Max said:
Hi ich habe ein problem bei meinem Skript!
Könnt ihr mal gucken, was ich falsch gemacht habe?
Es ist ein Loginskript! Durch ein Formular werde BN und PW erkannt, diese werdn dann per Mysql überprüft!
Er meldet mit immer:
Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in C:\apachefriends\xampp\htdocs\host\login.php on line 21

und:
Falsches PW!,
obwohl es richtig ist.
Lässt man nun die BN überprüfung weg, funktioniert es!

PHP:
<html>
<head>
<title>Titel</title>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">  </head>
<body>  
<h3>Login</h3>  
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">  <input type="text" name="Nick"> 
<input type="password" name="Passwort">  
<input type="submit" value="LOGIN">  
<?php  
if (!empty($_POST['Nick']) && !empty($_POST['Passwort']))
{ 
mysql_connect("localhost","root","") or die("Mysql prob!");
mysql_select_db("hosting") or die("Tabellen prob!"); 
$sql='SELECT * FROM members WHERE Nick==$_POST[Nick]'; 
$result=mysql_query($sql); 
$row=mysql_fetch_assoc($result); 
if ($row["Passwort"]==$_POST["Passwort"]){  
echo "Halllo Welt!";  
}  
else {  
echo "Falsches PW!";  
mysql_close(); 
}
} 
?> 
</body> 
</html>

Könnt ihr mir den Fehler sagen.
Greetz
Max
Was ist "BN"? :baby:
 
patrick said:
BenutzerName? :D
Dann hab ich den Fehler... :D
Probiers damit;
PHP:
<html>
<head>
<title>Titel</title>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">  </head>
<body>  
<h3>Login</h3>  
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">  <input type="text" name="Nick">
<input type="password" name="Passwort">  
<input type="submit" value="LOGIN">  
<?php  
if (!empty($_POST['Nick']) && !empty($_POST['Passwort']))
{
mysql_connect("localhost","root","") or die("Mysql prob!");
mysql_select_db("hosting") or die("Tabellen prob!");
$sql="SELECT * FROM members WHERE Nick='".$_POST['Nick']."'";
$result=mysql_query($sql);
$row=mysql_fetch_assoc($result);
if ($row["Passwort"]==$_POST["Passwort"]){  
echo "Halllo Welt!";  
}  
else {  
echo "Falsches PW!";  
mysql_close();
}
}
?>
</body>
</html>
 
Last edited:
Danke, danke danke! :)) :)) :)) :)) :]
Es geht!

Eine Frage noch! Woran liegt das jetzt?

Greetz Max
 
1. In SQL gibt es kein '==', benutze '='
2. Strings immer in Single Quotes (') in einer SQL Abfrage
 
patrick said:
1. In SQL gibt es kein '==', benutze '='
2. Strings immer in Single Quotes (') in einer SQL Abfrage
Hrhrhr... Ich bin ein Genie :D Bald kann ich php so gut wie patrick ;)
 
und bei diesem Script is die DB in 2min gehackt !!!

Sende nie eine ungeprüfte Variable in die DB !!!
 
helga said:
und bei diesem Script is die DB in 2min gehackt !!!

Sende nie eine ungeprüfte Variable in die DB !!!
Ja, hab ich eben auch bemerkt... Aber wie prüfen? :rolleyes:
 
UNC said:
Ja, hab ich eben auch bemerkt... Aber wie prüfen? :rolleyes:

Den String escapen... Das reicht schon. Aber evtl. hat er die Magic Quotes an, dann ist es ja ziemlich sicher.
 
patrick said:
Den String escapen... Das reicht schon. Aber evtl. hat er die Magic Quotes an, dann ist es ja ziemlich sicher.
Den String haben wir ja escaped...

Man könnte noch prüfen ob der Ref. stimmt und allfällige Soderzeichen rausgrübeln :rolleyes:
 
Naja ich bin ja noch beim aufbau.
Ich dachte, wenn man die Variabeln vorher mit htmlspecialchars und stripslashes prüft dürfte nicht passieren.
Oder habt ihr einen besseren Vorschlag?
Greetz
Max
 
Back
Top