php数据库操作之修改用户信息

在真正的后台管理中管理员可以修改用户的很多信息。如果开放权限,管理员连用户的用户名这些信息都可以修改掉。

在真正的操作中,往往是:

选择要修改的用户


2015-10-13_561ca482d3382.png

修改相关内容

2015-10-13_561ca482e9efd.png

在做用户列表页的时候,我们已经向大家完整的展示过了如何在列表中显示编辑用户和删除用户的功能。

从列表中点击选择要修改的用户,应该有一个专门的页面来显示需要修改的内容。我们在上面的第二张图中也为大家做了展示。

可是代码实现的时候如何把用户信息放进来呢?

edit.php展示用户信息

实现过程:
一. 我们可以将用户的ID在get中进行传参,得到用户信息。使用SQL语句将用户信息查询出来。

<?php

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

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

代码如下:

<form action="update.php" method="post">
    用户名:<input type="text" name="username" value="<?php echo $data['username'];?>" readonly><br />
    密码:<input type="password" name="password"><br />
    <input type="hidden" value="<?php echo $data['id'];?>" name="id" />
    <input type="submit" value="提交">
</form>

update.php修改操作用户数据


实际上,我们只能够修改用户的密码。有两种情况:

    1.用户修改了密码

    2.用户没有修改密码

其实我们可以欺骗前面的不懂技术的普通操作员。

    1.如果他没有修改密码,也给他提示成功

    2.如果他修改了用户的密码。我们真正的修改掉用户的密码,也提示修改成功。

获取用户ID和密码

我们实现的过程当中需要获取用户ID。不然update语句生成的时候,没有where条件会将整个表的数据全部修改掉的。

密码之前是用md5存储的。因此,用户修改了密码,密码也应该用md5来存储。

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

生成SQL语句

将用户ID和密码放至到修改的SQL语句中,发送至MySQL服务器执行。即完成了修改密码的操作。

$sql = "update user set password='" . $password . "' where id = $id";
$result = mysqli_query($conn, $sql);
if ($result) {
    echo '修改成功';
}

整体代示演示

在form表单中显示用户信息的源代码

<?php

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修改的源代码

<?php
include 'connection.php';

$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 '修改成功';
}


继续学习
||
<?php include 'connection.php'; $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 '修改成功'; } ?>
提交重置代码
章节
笔记
提问
课件
反馈
捐赠

php入门教程之一周学会PHP

  • 推荐课程
  • 评论
  • 问答
  • 笔记
  • 课件下载
phpcn_u84239

phpcn_u84239

edit.php没有连接数据库,用之前的connection.php即可:include 'connection.php';

3年前    添加回复 0

回复
一一

一一

八、删除: <?php include 'connection.php'; echo '<h3>您确定要删除id:'.$_REQUEST['id'].'</h3>'; $sql="delete from user where id in('".$_REQUEST['id']."') "; $result=mysqli_query($conn,$sql); if($result){ echo '删除成功!<a href="list.php">返回</a>'; }else{ echo '删除失败!<a href="list.php">返回</a>'; } mysqli_close($conn); ?>

3年前 0

一一

一一

七、修改 edit.php: <?php include 'connection.php'; $id=$_REQUEST['id']; echo '<h3>编辑数据ID:'.$id.'</h3>'; $sql="update user set username='".$_REQUEST['username']."' ,password='".$_REQUEST['password']."' where id='".$id."' "; $result=mysqli_query($conn,$sql); if($result){ echo '<a href="list.php">返回</a>'; }else{ echo '<a href="edit.html?id='.$id.' ">编辑</a>'; } $mysqli_close($conn); ?>

3年前 0

一一

一一

六、修改 edit.html: <html> <head> <title>编辑</title> </head> <body> <h3>编辑数据ID:<?php echo $_REQUEST['id'] ?></h3> <form action="edit.php" method="post"> <input type="text" name="id" value="<?php echo $_REQUEST['id'] ?>" hidden> 用户名:<input type="text" name="username"><br /> 密码:<input type="password" name="password"><br /> <input type="submit" value="提交"> </form> </body> </html>

3年前 0

一一

一一

echo '<tr> <td colspan="6"> <a href="list.php?page=1">首页</a> <a href="list.php?page=' . ($page - 1) . '">上一页</a> <a href="list.php?page=' . ($page + 1) . '">下一页</a> <a href="list.php?page=' . $total . '">尾页</a> 当前是第 ' . $page . '页 共' . $total . '页 共'.$count.'条 </td> </tr>'; echo '</table>'; }else{ echo '暂无数据<br>'; } mysqli_close($conn); ?>

3年前 0

一一

一一

$result=mysqli_query($conn,$sql); if($result&&mysqli_num_rows($result)){ // echo '<table width="800" border="1">'; echo '<th></th>'; echo '<th>用户名</th>'; echo '<th>密码</th>'; echo '<th>注册时间</th>'; echo '<th>注册ip</th>'; echo '<th>操作</th>'; while($row=mysqli_fetch_assoc($result)){ echo '<tr>'; echo '<td><input type="checkbox" name="id[]" value="' . $row['id'] . '" /></td>'; echo '<td>'.$row['username'].'</td>'; echo '<td>'.$row['password'].'</td>'; echo '<td>'.$row['createtime'].'</td>'; echo '<td>'.$row['createip'].'</td>'; echo '<td> <a href="edit.html?id='.$row['id'].'">编辑</a>&nbsp;&nbsp; <a href="delete.php?id='.$row['id'].'">删除</a></td>'; echo '</tr>'; }

3年前 0

一一

一一

五、查询列表,有分页:list.php <?php include 'connection.php'; //查询 echo '<h3>用户信息列表</h3><br>'; echo '<a href="reg.html">注册</a>'; //分页 $count_sql="select count(*) as t from user "; $result=mysqli_query($conn,$count_sql); $data=mysqli_fetch_assoc($result); //得到总数 $count=$data['t']; $page=isset($_REQUEST['page'])?(int)$_REQUEST['page']:1; //每页显示 $num=10; //总页数 $total=ceil($count/$num); if($page<=1){ $page=1; } if($page>=$total){ $page=$total; } $offset=($page-1)*$num; // $sql="select * from user order by id desc limit $offset,$num ";

3年前 0

一一

一一

四、注册保存:add.php <?php $name=$_POST["username"]; $password=$_REQUEST["password"]; if(trim($_REQUEST['repassword'])!=trim($password)){ exit('两次密码不一致,请返回重新输入!'); } echo '用户名:'.$name.'<br>'; $ip=$_SERVER['REMOTE_ADDR']; echo '注册ip:'.$ip.'<br>'; $time=date('Y-m-d H:m:s'); echo '注册时间:'.$time.'<br>'; echo $name.'<br>'; echo $password.'<br>'; $conn=mysqli_connect("localhost","root","123456"); //if(!$con){ // die("Could not connect".mysqli_error()); //} if(mysqli_errno($conn)){ echo mysqli_error($conn); exit; } // echo '数据库连接成功<br>'; mysqli_select_db($conn,'test'); mysqli_set_charset($conn,'utf8'); $sql="insert into user(username,password,createtime,createip)values('".$name."','".$password."','".$time."','".$ip."')"; $result=mysqli_query($conn,$sql); if($result){ echo '注册成功!<a href="list.php">查看用户</a><br>'; }else{ echo '注册出错!<a href="reg.html">返回注册</a><br>'; } echo '当前用户插入的ID为' . mysqli_insert_id($conn).'<br>'; mysqli_close($conn); ?>

3年前 0

一一

一一

三、注册页面:reg.html <html> <head> <title>php 注册demo</title> </head> <body> <form action="add.php" method="post"> 用户名:<input type="text" name="username"><br /> 密码:<input type="password" name="password"><br /> 重复密码:<input type="password" name="repassword"><br /> <input type="submit" value="提交"> </form> </body> </html>

3年前 0

一一

一一

普通连接mysql数据库增删改查完整笔记: 一、数据库配置新 config.php: <?php //数据库连接信息 define('DB_HOST','localhost'); define('DB_USER','root'); define('DB_PWD','123456'); define('DB_NAME','test'); define('DB_CHARSET','utf8'); ?> 二、连接数据库:connection.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); ?>

3年前 0

课件暂不提供下载,工作人员正在整理中,后期请多关注该课程~