Skript Problem

Max

B1G-Software-Kunde
#1
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:

UNC

B1G-Software-Kunde
#2
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:
 

UNC

B1G-Software-Kunde
#4
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:

UNC

B1G-Software-Kunde
#7
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 ;)
 

UNC

B1G-Software-Kunde
#11
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:
 

Max

B1G-Software-Kunde
#12
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
 
Top