这篇博客实现的功能是修改用户的密码(bianji.php 、update.php),承接上面的三篇:
- php连接mysql实例之新用户注册实现
- 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版权协议,转载请附上原文出处链接和本声明。