プログラムを作りました。このプログラムでは、ユーザーはログインして、ユーザーのプロファイルで詳細を変更できます。詳細は次のとおりです。ユーザー名、パスワード、電子メール。私のコードは次のとおりです。
Profile.php
<?php
include_once "db_connection.php";
if (isset($_GET['user_name']))
{
$user_name = $_GET['user_name'];
$result = mysql_query("SELECT * FROM users WHERE user_name LIKE '$user_name' ")
or die(mysql_error());
$row = mysql_fetch_assoc($result);
if($row)
{
$user_email = $row['user_email'];
}
else
{
echo "error";
}
}
?>
そして、profile.php のフォームは次のとおりです。
<form id="form1" action="updateprofile.php" method="post" class="form">
<fieldset class="form-inline">
<div class="form-col-3-8" style="padding-top:10px;padding-bottom:20px;"align="center">
<label>UserName<span class="required">*</span></label>
<input type="text" name="user_name" value="<?php echo $user_name; ?>" />
</div>
<div class="form-col-2-8" style="padding-top:10px;padding-bottom:20px;"align="center">
<label>Password<span class="required">*</span></label>
<input type="password" name="password"/>
</div>
<div class="form-col-3-8" style="padding-top:10px;padding-bottom:20px;"align="center">
<label>E-mail<span class="required">*</span></label>
<input type="text" name="user_email" value="<?php echo $user_email; ?>" />
</div>
</fieldset>
<div class="da-button-row">
<input type="reset" value="Reset" />
<input type="submit" value="Submit" name="submit"/>
</div>
</form>
最後に、updateprofile.php は次のとおりです。
<?php
include_once "db_connection.php";
if (isset($_POST['submit']))
{
$user_name = $_POST['user_name'];
$user_name2 = mysql_real_escape_string(htmlspecialchars($_POST['user_name']));
$password = mysql_real_escape_string(htmlspecialchars($_POST['password']));
$passwordmd = md5($password);
$user_email = mysql_real_escape_string(htmlspecialchars($_POST['user_email']));
mysql_query("UPDATE users SET user_name='$user_name2', user_email='$user_email' ,user_password_hash='$passwordmd' WHERE user_name LIKE '$user_name'")
or die(mysql_error());
header("Location: index.php");
}
?>
すべて正常に動作しますが、[送信] を押してもデータベースの詳細は変更されません。私は何を間違っていますか?