Das ist meine login.php SeiteLogin funktioniert nur für erste Daten in der Datenbank?
<!DOCTYPE html>
<html>
<body>
<?php
$f_usr= $_POST["username"];
$f_pswd= $_POST["password"];
$con=mysql_connect("localhost","root","");
if(! $con)
{
die('Connection Failed'.mysql_error());
}
mysql_select_db("login",$con);
$result=mysql_query("SELECT * FROM data");
while($row=mysql_fetch_array($result))
{
if($row["username"]==$f_usr && $row["password"]==$f_pswd)
{
echo "<script language=\"JavaScript\">\n";
echo "alert('Successfully Log In');\n";
echo "window.location='MainPage.html'";
echo "</script>";
}
else
{
echo "<script language=\"JavaScript\">\n";
echo "alert('Username or Password was incorrect!');\n";
echo "window.location='login.html'";
echo "</script>";
}
}
?>
</body>
</html>
Dies ist meine register.php Seite
<?php
$connect=mysqli_connect('localhost','root','','login');
if(mysqli_connect_errno($connect))
{
echo 'Failed to connect';
}
?>
<?php
// create a variable
$username=$_POST['username'];
$password=$_POST['password'];
//Execute the query
mysqli_query($connect,"INSERT INTO data(username, password)
VALUES('$username','$password')");
if(mysqli_affected_rows($connect) > 0)
{
echo "<script language=\"JavaScript\">\n";
echo "alert('Successfully Register');\n";
echo "window.location='MainPage.html'";
echo "</script>";
}
else
{
echo "<script language=\"JavaScript\">\n";
echo "alert('Failed to Register');\n";
echo "window.location='Register.html'";
echo "</script>";
}
?>
mein Problem hier. Ich benutze xammp und ich habe 3 Daten aktuell in meiner Datenbank. Wenn ich versuche, mich mit meinen ersten Daten in der Datenbank einzuloggen, funktioniert es, aber wenn ich versuche, mich mit den zweiten Daten in der Datenbank anzumelden, wird ein falscher Benutzername und ein falsches Passwort angezeigt? Warum?
Sie haben in Ihrer Abfrage keine where-Klausel. –
Bitte beachten Sie, dass 'mysql_ *' aus Sicherheitsgründen nicht mehr als 'PHP7' gilt. Es wird empfohlen, zu 'mysqli_ *' oder 'PDO' Erweiterungen zu wechseln. –
'" SELECT * FROM Daten Wobei username = 'ddd' UND password = 'dddd' "' und PDO verwenden, um sql-Injektionen zu vermeiden – Abbasi