Ubah suai maklumat pengguna

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

  1. Pilih pengguna untuk diubah suai

    QQ截图20161010103141.png

    2 .

    Apabila membuat halaman senarai pengguna, kami telah menunjukkan sepenuhnya kepada anda cara memaparkan fungsi mengedit pengguna dan memadam pengguna dalam senarai. QQ截图20161010103239.png
    Klik untuk memilih pengguna yang akan diubah suai daripada senarai. Kami juga menunjukkannya kepada anda dalam gambar kedua di atas.

  2. Tetapi bagaimana untuk memasukkan maklumat pengguna semasa melaksanakan kod?

edit.php memaparkan maklumat pengguna

Proses pelaksanaan QQ截图20161010103321.png:

1. Kami boleh lulus 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.

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

update.php mengubah suai data pengguna

Sebenarnya, kami hanya boleh mengubah suai kata laluan pengguna. Terdapat dua situasi:
1 Pengguna telah menukar kata laluan

2 Pengguna tidak menukar kata laluan

Malah, kita boleh menipu pengendali biasa yang tidak memahami teknologi.

1 Jika dia tidak menukar kata laluannya, berikan dia mesej kejayaan

2. 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 kemas kini.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 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); ?>
  • Cadangan kursus
  • Muat turun perisian kursus
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!