Puede usar mysql_num_rows()
y combine su consulta - Ver notas al pie
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!';
}
}
Para que su código actual sea un poco más seguro, use:
$name = stripslashes($_POST["name"]);
$name = mysql_real_escape_string($_POST["name"]);
$password = stripslashes$_POST["password"]);
$password = mysql_real_escape_string($_POST["password"]);
pero mire los enlaces a continuación sobre el uso de declaraciones preparadas y hash de contraseña.
Notas al pie:
Su código actual está abierto a inyección SQL . Use declaraciones preparadas , o PDO con declaraciones preparadas . Visite esos enlaces para obtener más información.
Me di cuenta de que puede estar almacenando contraseñas en texto sin formato. Si este es el caso, se desaconseja encarecidamente.
Si lo eres y este es un sitio EN VIVO, eventualmente serás hackeado.
Te recomiendo que uses CRYPT_BLOWFISH
o password_hash()
de PHP 5.5
función. Para PHP <5.5 use el password_hash() compatibility pack
.
mysql_*
aviso de desactivación de funciones:
http://www.php.net/manual/en/intro.mysql .php
Esta extensión está obsoleta a partir de PHP 5.5.0 y no se recomienda para escribir código nuevo, ya que se eliminará en el futuro. En su lugar, el mysqli o PDO_MySQL se debe usar la extensión. Consulte también la Descripción general de la API de MySQL para obtener más ayuda al elegir una API de MySQL.
Estas funciones le permiten acceder a servidores de bases de datos MySQL. Puede encontrar más información sobre MySQL en » http://www.mysql.com/ .
La documentación para MySQL se puede encontrar en » http://dev.mysql.com/doc/ .
Editar: para ayudar a OP (mire los enlaces que he proporcionado sobre el hash de contraseña).
Intenta reemplazar
if(mysql_num_rows($result1) > 0 )
{
$_SESSION["logged_in"] = true;
$_SESSION["naam"] = $name;
}
else
{
echo 'The username or password are incorrect!';
}
con:
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.";
}