php连接mysql实例之修改用户密码

这篇博客实现的功能是修改用户的密码(bianji.php 、update.php),承接上面的三篇:

  1. php连接mysql实例之新用户注册实现
  2. php连接mysql实例之后台列表显示已注册的用户信息
  3. php连接mysql实例之删除某条已注册的用户信息

    从列表中点击选择要修改的用户,应该有一个专门的页面来显示需要修改的内容(bianji.php),效果如下:
    这里写图片描述
    代码如下:

<?php

include 'config.php';
$conn = mysqli_connect(DB_HOST, DB_USER, DB_PWD,DB_NAME);    //创建连接
if (mysqli_errno($conn)) {

    echo mysqli_error($conn);

    exit;
}
mysqli_set_charset($conn, DB_CHARSET);   //选择字符集

if (is_numeric($_GET['id'])) {

    $id = (int) $_GET['id'];

}

$sql = "select id,username from user where id = " . $id;

$result = mysqli_query($conn, $sql);

$data = mysqli_fetch_assoc($result);

?>


    <form action="update.php" method="post">

        用户名:<input type="text" name="username" value="<?php echo $data['username'];?>"><br />

        密码:<input type="password" name="password"><br />

        <input type="hidden" value="<?php echo $data['id'];?>" name="id" />

        <input type="submit" value="提交">

    </form>
<?php

mysqli_close($conn);

?>

当用户点击提交时,我们在update.php提交用户在form表当中修改的值。因为在update中修改的where条件中需要指定修改哪个用户。所以,我们在input隐藏表单中放入用户的ID。当点击提交的时候,隐藏的ID也会传入到update页面中。

用户名通常是不让修改的。因此,我在username这一个input表单最后增加了一个:readonly参数,不准修改用户名。

代码如下:

<?php

include 'config.php';
$conn = mysqli_connect(DB_HOST, DB_USER, DB_PWD,DB_NAME);    //创建连接
if (mysqli_errno($conn)) {

    echo mysqli_error($conn);

    exit;
}
mysqli_set_charset($conn, DB_CHARSET);   //选择字符集

$id = (int) $_POST['id'];

if (trim($_POST['password'])) {

    $password = md5(trim($_POST['password']));

    $sql = "update user set password='" . $password . "' where id = $id";

} else {

    echo '修改成功';
}

$result = mysqli_query($conn, $sql);

if ($result) {
    echo '修改成功';
}

大功告成。本人也是刚刚自学,如有错误烦请批评指正。


版权声明:本文为tanlangqie原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。