我有一個登錄表單,它在密碼輸入錯誤但電子郵件地址不正確時顯示一條消息。但是當電子郵件或兩者都不正確時,它不會顯示任何內容。我希望它在缺少這兩種情況下顯示消息(「密碼和電子郵件不匹配」)。我真的很讚賞任何幫助。登錄表單當電子郵件和密碼不匹配或電子郵件不存在時顯示消息
<div id="container">
<div>
<h1>Log In</h1>
<form method="POST" action="logIn.php">
<label>Email</label>
<input name= "txtEmail"/>
<label>Password</label>
<input type="password" name="txtPass"/>
<input type= "submit" name= "submit" value="Log In"/>
</form>
</div>
</div>
<?php
require ('connection.php');
if (isset($_POST["txtEmail"]))
{
$email= $_POST["txtEmail"];//NO RECONOCE LOS TEXT FIELDS!!
}
else
{$email= "";
echo "Email empty";}
if (!empty($_POST['txtPass']))
{
$pass= $_POST['txtPass'];
}
else
{$pass= "";
echo "Password empty.";}
// Enviar consulta
$instruction = "SELECT Password, Email FROM customer WHERE Email = '". $email . "'";
$query = mysql_query ($instruction, $connection)
or die ("Fallo en la consulta");
// Mostrar resultados de la consulta
$nrows = mysql_num_rows ($query);
if ($nrows > 0)
{
$result = mysql_fetch_array ($query);
if (isset($result['Password']))
{
$clave = $result['Password'];
//echo "Isset password works.";
}
else {$result= "";}
Email doesnt exist, or ;}
if ($clave == $pass){
header('Location: welcomeLogIn.php');
}
else{
echo "Password or Email doesnt match.";
}
}
mysql_close($connection);
?>
錯在許多方面,聯合國哈希密碼,mysql_ *,聯合國sanatised輸入 – 2012-11-13 19:22:58
您也不應該爲垃圾郵件發件人提供來自您網站的有效電子郵件。這就是爲什麼它總是「用戶名/密碼不匹配」。不要讓潛在的攻擊者獲得更多信息。 – thatidiotguy
我知道它不夠安全。我只是開發基本的功能,所以然後我加起來的安全措施。我非常清楚你應該顯示一條消息,比如「電子郵件和密碼不匹配」,但是此刻我很沮喪地試圖在惡意登錄後顯示消息的代碼。 – Mijail