0

プログラムを作りました。このプログラムでは、ユーザーはログインして、ユーザーのプロファイルで詳細を変更できます。詳細は次のとおりです。ユーザー名、パスワード、電子メール。私のコードは次のとおりです。

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");
}
?>

すべて正常に動作しますが、[送信] を押してもデータベースの詳細は変更されません。私は何を間違っていますか?

4

0 に答える 0