Du kan använda mysql_num_rows()
och kombinera din fråga - Se fotnoter
if(isset($_POST["name"], $_POST["password"]))
{
$name = $_POST["name"];
$password = $_POST["password"];
$result1 = mysql_query("SELECT username, password FROM Users WHERE username = '".$name."' AND password = '".$password."'");
if(mysql_num_rows($result1) > 0 )
{
$_SESSION["logged_in"] = true;
$_SESSION["naam"] = $name;
}
else
{
echo 'The username or password are incorrect!';
}
}
För att göra din nuvarande kod lite säkrare, använd:
$name = stripslashes($_POST["name"]);
$name = mysql_real_escape_string($_POST["name"]);
$password = stripslashes$_POST["password"]);
$password = mysql_real_escape_string($_POST["password"]);
men titta på länkarna nedan om hur du använder förberedda uttalanden och hashning av lösenord.
Fotnoter:
Din nuvarande kod är öppen för SQL-injektion . Använd förberedda uttalanden , eller PDO med förberedda uttalanden . Besök dessa länkar för mer information.
Jag märkte att du kanske lagrar lösenord i vanlig text. Om så är fallet är det starkt avskräckt.
Om du är och det här är en LIVE-webbplats kommer du så småningom att bli hackad.
Jag rekommenderar att du använder CRYPT_BLOWFISH
eller PHP 5.5:s password_hash()
fungera. För PHP <5.5 använd password_hash() compatibility pack
.
mysql_*
meddelande om utfasning av funktioner:
http://www.php.net/manual/en/intro.mysql .php
Detta tillägg är utfasat från och med PHP 5.5.0 och rekommenderas inte för att skriva ny kod eftersom det kommer att tas bort i framtiden. Istället, antingen mysqli eller PDO_MySQL förlängning ska användas. Se även MySQL API-översikt för ytterligare hjälp när du väljer ett MySQL API.
Dessa funktioner låter dig komma åt MySQL-databasservrar. Mer information om MySQL finns på » http://www.mysql.com/ .
Dokumentation för MySQL finns på » http://dev.mysql.com/doc/ .
Redigera: för att hjälpa OP (titta på länkarna jag har tillhandahållit angående lösenordshasning).
Prova att byta ut
if(mysql_num_rows($result1) > 0 )
{
$_SESSION["logged_in"] = true;
$_SESSION["naam"] = $name;
}
else
{
echo 'The username or password are incorrect!';
}
med:
while($row=mysql_fetch_assoc($result1))
{
$check_username=$row['username'];
$check_password=$row['password'];
}
if($username == $check_username && $password == $check_password){
echo "Matches.";
}
else{
echo "No match found.";
}