Я работаю на участке кода, который изменяет пароль в базе данных по завершении следующего вида:Изменение пароля PHP MySQL
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Password Change</title>
</head>
<body>
<h1>Change Password</h1>
<form method="POST" action="password_change.php">
<table>
<tr>
<td>Enter your UserName</td>
<td><input type="username" size="10" name="username"></td>
</tr>
<tr>
<td>Enter your existing password:</td>
<td><input type="password" size="10" name="password"></td>
</tr>
<tr>
<td>Enter your new password:</td>
<td><input type="password" size="10" name="newpassword"></td>
</tr>
<tr>
<td>Re-enter your new password:</td>
<td><input type="password" size="10" name="confirmnewpassword"></td>
</tr>
</table>
<p><input type="submit" value="Update Password">
</form>
<p><a href="home.php">Home</a>
<p><a href="logout.php">Logout</a>
</body>
</html>
, И в PHP:
<?php
session_start();
include 'dbconfig.php';
$username = $_POST['username'];
$password = $_POST['password'];
$newpassword = $_POST['newpassword'];
$confirmnewpassword = $_POST['confirmnewpassword'];
$result = mysql_query("SELECT password FROM user_info WHERE
user_id='$username'");
if(!$result)
{
echo "The username you entered does not exist";
}
else if($password!= mysql_result($result, 0))
{
echo "You entered an incorrect password";
}
if($newpassword=$confirmnewpassword)
$sql=mysql_query("UPDATE user_info SET password='$newpassword' where
user_id='$username'");
if($sql)
{
echo "Congratulations You have successfully changed your password";
}
else
{
echo "Passwords do not match";
}
?>
проблема, которую я имею в данный момент, - это когда я отправляю кнопку submit, которая возвращает меня на страницу только для чтения этого кода.
Любые предложения?
Возможно, ваш сценарий уязвим для SQL-инъекции. Кроме того, вы не должны хранить пароль в виде обычного текста, а скорее только соленый хэш. – Gumbo
Никогда не храните пароли как обычный текст! Шифрование, шифрование, шифрование. http://www.codinghorror.com/blog/2007/09/youre-probably-storing-passwords-incorrectly.html –
Хорошо, я добавлю это, но это все еще не объясняет, почему оно отображается таким образом. – stark