Operasi pangkalan data PHP untuk mengubah suai maklumat pengguna

Dalam pengurusan latar belakang sebenar, pentadbir boleh mengubah suai banyak maklumat pengguna. Jika kebenaran dibuka, pentadbir juga boleh mengubah suai nama pengguna dan maklumat lain pengguna.

Dalam operasi sebenar, selalunya:

Pilih pengguna untuk diubah suai


2015-10-13_561ca482d3382.png

Ubah suai kandungan berkaitan

2015-10-13_561ca482e9efd.png

Apabila membuat halaman senarai pengguna, kami telah menunjukkan sepenuhnya kepada anda cara memaparkan fungsi mengedit pengguna dan memadam pengguna dalam senarai.

Klik untuk memilih pengguna yang akan diubah suai daripada senarai. Kami juga menunjukkannya kepada anda dalam gambar kedua di atas.

Tetapi bagaimana untuk memasukkan maklumat pengguna semasa melaksanakan kod?

edit.php memaparkan maklumat pengguna

Proses pelaksanaan:
1. Kami boleh menghantar ID pengguna untuk mendapatkan maklumat pengguna. Gunakan pernyataan SQL untuk menanyakan maklumat pengguna.

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

?>

2. Berikan maklumat pengguna pada borang. Apabila pengguna mengklik hantar, kami menyerahkan nilai yang diubah suai oleh pengguna dalam jadual borang dalam update.php. Kerana anda perlu menentukan pengguna mana yang hendak diubah suai dalam keadaan di mana diubah suai dalam kemas kini. Jadi, kami meletakkan ID pengguna dalam borang tersembunyi input. Apabila anda mengklik hantar, ID tersembunyi juga akan dihantar ke halaman kemas kini.

Nama pengguna biasanya tidak dibenarkan untuk diubah suai. Oleh itu, saya menambah parameter baca sahaja pada akhir borang input nama pengguna, dan nama pengguna tidak dibenarkan untuk diubah suai.

Kodnya adalah seperti berikut:

<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>

kemas kini.php data pengguna operasi pengubahsuaian


Sebenarnya, kami hanya boleh menukar kata laluan pengguna. Terdapat dua situasi:

1. Pengguna menukar kata laluan

2. Pengguna tidak menukar kata laluan

Malah, kita boleh menipu yang sebelumnya operasi biasa yang tidak memahami teknologi.

1. Jika dia tidak menukar kata laluannya, berikan dia gesaan kejayaan

2. Jika dia telah menukar kata laluannya. Apabila kami benar-benar menukar kata laluan pengguna, ia juga menggesa bahawa perubahan itu berjaya.

Dapatkan ID pengguna dan kata laluan

Kami perlu mendapatkan ID pengguna semasa proses pelaksanaan. Jika tidak, apabila pernyataan kemas kini dijana, semua data dalam keseluruhan jadual akan diubah suai tanpa syarat di mana.

Kata laluan sebelum ini disimpan menggunakan md5. Oleh itu, jika pengguna menukar kata laluan, kata laluan juga harus disimpan dalam md5.

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

Jana pernyataan SQL

Masukkan ID pengguna dan kata laluan ke dalam pernyataan SQL yang diubah suai dan hantar ke pelayan MySQL untuk dilaksanakan. Iaitu, operasi menukar kata laluan selesai.

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

Demonstrasi perwakilan keseluruhan

Kod sumber untuk memaparkan maklumat pengguna dalam borang

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

?>

Kod sumber diubah suai oleh 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 '修改成功';
}


Meneruskan pembelajaran
||
<?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 '修改成功'; } ?>
  • Cadangan kursus
  • Muat turun perisian kursus