Здравствуйте, я новичок в PHP, и я пытаюсь сделать простую функцию регистрации и регистрации для пользователя. После регистрации пользователей его данные будут добавлены в базу данных, чтобы он мог войти в систему. Но теперь, хотя его имя пользователя & pw верны, оно не входит в систему.пароль не соответствует с md5
Вот мой код:
<?php
if(!empty($_POST['username']) && !empty($_POST['password']))
{
$username = mysql_real_escape_string($_POST['username']);
$password = md5(mysql_real_escape_string($_POST['password']));
$checklogin = mysql_query("SELECT * FROM admin WHERE Username = '".$username."' AND Password = '".$password."'");
if(mysql_num_rows($checklogin) == 1)
{
$row = mysql_fetch_array($checklogin);
$email = $row['Email_Address'];
$_SESSION['Username'] = $username;
$_SESSION['Email_Address'] = $email;
$_SESSION['LoggedIn'] = 1;
echo "<h1>Success</h1>";
echo "<p>We are now redirecting you to the member area.</p>";
echo "<meta http-equiv='refresh' content='=2;index2.php' />";
header("Location: Home.php");
}
else
{
echo "<h1>Error {$password}</h1>";
echo "<p>Sorry, your account could not be found. Please <a href=\"index2.php\">click here to try again</a>.</p>";
}
}
else
{?>
<h1>Member Login</h1>
<p>Please either login below, or <a href="register2.php">click here to register</a>.</p>
<form method="post" action="index2.php" name="loginform" id="loginform">
<fieldset>
<label for="username">Username:</label><input type="text" name="username" id="username" /><br />
<label for="password">Password:</label><input type="password" name="password" id="password" /><br />
<input type="submit" name="login" id="login" value="Login" />
</fieldset>
</form>
<?php }?>
Любая помощь приветствуется
Вы не должны использовать mysql_ * функции, и вы не должны использовать md5() для паролей. У нас есть это в стороне, как вы сохраняете этих пользователей? Вы уверены, что кодируете пароли таким же образом при их хранении в базе данных? – Andrius
эхо ваш запрос, например 'echo SELECT * FROM admin WHERE Username = '". $ Username. "' AND Password = '". $ Password. "'"; Die' затем запустите файл и скопируйте запрос и проверьте его в mysql ..... дайте мне знать. –
Я настоятельно рекомендую прочитать «[Окончательное руководство по аутентификации веб-сайта на основе форм» (https://stackoverflow.com/questions/549/the-definitive-guide-to-form- основанный на веб-сайте). – Hexaholic