사용자 정보 수정
실제 백그라운드 관리에서 관리자는 많은 사용자 정보를 수정할 수 있습니다. 권한이 공개되면 관리자는 사용자의 사용자 이름 및 기타 정보를 수정할 수도 있습니다.
실제 작업에서는 다음과 같은 경우가 많습니다.
수정할 사용자 선택
2 . 관련 내용 수정
3. 수정문 실행 및 프롬프트 생성
사용자 목록 페이지를 만들 때 목록에서 사용자 편집 및 삭제 기능을 표시하는 방법을 완전히 보여드렸습니다.
수정할 사용자를 목록에서 선택하려면 클릭하세요. 수정해야 하는 콘텐츠를 표시하는 전용 페이지가 있어야 합니다. 위의 두 번째 그림에서도 보여드렸습니다.
그런데 코드를 구현할 때 사용자 정보는 어떻게 넣나요?
edit.php는 사용자 정보를 표시합니다
구현 프로세스 :
1. get에 사용자 ID를 전달하여 사용자 정보를 얻을 수 있습니다. SQL 문을 사용하여 사용자 정보를 쿼리합니다.
2. 사용자 정보를 양식에 할당합니다. 사용자가 제출을 클릭하면 사용자가 수정한 값을 update.php의 양식 테이블에 제출합니다. 업데이트에서 조건이 수정된 위치에서 수정할 사용자를 지정해야 하기 때문입니다. 그래서 입력 숨김 형식에 사용자 ID를 넣습니다. 제출을 클릭하면 숨겨진 ID도 업데이트 페이지로 전달됩니다.
사용자 이름은 일반적으로 수정이 허용되지 않습니다. 따라서 사용자 이름 입력 양식 끝에 읽기 전용 매개 변수를 추가했으며 사용자 이름은 수정이 허용되지 않습니다.
코드는 다음과 같습니다.
<?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); ?>
update.php는 사용자 데이터를 수정합니다.
실제로는 사용자의 비밀번호만 수정할 수 있습니다. 두 가지 상황이 있습니다.
1. 사용자가 비밀번호를 변경했습니다.
2. 사용자가 비밀번호를 변경하지 않았습니다.
실제로는 일반 운영자를 속일 수 있습니다. 기술을 이해하지 못합니다.
1. 비밀번호를 변경하지 않은 경우 성공 메시지를 보냅니다.
2. 비밀번호를 변경한 경우. 실제로 사용자의 비밀번호를 변경하면 변경이 성공했다는 메시지도 표시됩니다.
사용자 ID 및 비밀번호 얻기
구현 과정에서 사용자 ID를 얻어야 합니다. 그렇지 않으면 업데이트 문이 생성될 때 전체 테이블의 모든 데이터가 where 조건 없이 수정됩니다.
비밀번호는 이전에 md5를 사용하여 저장되었습니다. 따라서 사용자가 비밀번호를 변경한 경우 해당 비밀번호도 md5에 저장되어야 합니다.
<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>
SQL 문 생성
수정된 SQL 문에 사용자 ID와 비밀번호를 입력하고 MySQL 서버로 보내 실행합니다. 즉, 비밀번호 변경 작업이 완료됩니다.
$id = (int)$_GET['id']; $password = md5(trim($_POST['password']));
전체 표현 시연
사용자 정보를 형태로 출력하는 소스코드
$sql = "update user set password='" . $password . "' where id = $id"; $result = mysqli_query($conn, $sql); if ($result) { echo '修改成功'; }
update.php로 수정한 소스코드
<?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); ?>