繁体   English   中英

管理员如何修改用户信息

[英]How to edit the user information by admin

我正在使用 PHP 开发我的第一个简单网站。 现在,我在管理页面工作,我想让他添加、删除用户和编辑现有用户的个人信息。 我做了添加和删除。 现在,我想开发编辑用户。 首先,我希望他从下拉列表中选择用户,然后在从下拉列表中选择他后自动获取用户信息,然后编辑他的信息。 那么我该怎么做呢?

我的代码:

<?php
ob_start();
$host="localhost"; // Host name
$username="root"; // Mysql username
$password="13524"; // Mysql password
$db_name="sharingi_db"; // Database name

// Connect to server and select databse.
mysql_connect("$host", "$username", "$password")or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");

?>

<html xmlns="http://www.w3.org/1999/xhtml">

<head>
<script language="javascript">
    function reload(form){
        var val=form.username.options[form.username.options.selectedIndex].value;
        self.location='editUser2.php?username=' + val ;
    }
    </script>
</head>
<body>

<div id="content_main" class="admin_student_height">

<!-- Here starts the first form -->
<form method="get">
        <h3>Choose A User</h3> <br />
        select name="username" onchange="reload(this.form)">

                <option> 
        <?php
           if(isset($_GET['username']))
           echo "{$_GET['username']}"; 
           else echo "Select one";
        ?> 
            </option>

                <?php
                   if(isset($_GET['username'])){
           $exceptcc = $_GET['username'];
           $sql = "SELECT username FROM user WHERE user.username NOT IN
                                 ('$exceptcc')";
                    }
           else 
           $sql = "SELECT username FROM user";
           $result = mysql_query($sql);
           while($row = mysql_fetch_array($result)){
           echo "<option value={$row['username']}>{$row['username']}</option>";
                                }
        ?>
        </select><br /><br />

        <h3>User Information</h3> <br />
        <?php 
           $thecc = $_GET['username'];
           $sql = "SELECT Firstname FROM user WHERE Username=$thecc";
           $result = mysql_query($sql);
           while($row = mysql_fetch_array($result)){
           echo "{$row['Firstname']}>{$row['Firstname']}}";
                                }
        ?>
        <br /><br />
        </form> <br />

        </div>
    </div>
</body>

我一直致力于制作一个基于网络的票务系统,并遇到了同样的情况。 我解决了这样的问题:

  1. 加载页面后,确定他们是否具有管理员权限或将其从页面中删除。
  2. 执行 SQL 查询以获取用户列表,以显示在列表或下拉框中。
  3. 选择要编辑的用户后,执行另一个查询并将每个项目加载到字段中; 我所做的是使用相同的表单添加新用户,但让 php 构建表单并将该用户的当前值插入到字段中。
  4. 提交此表单(并验证提交者)我有 php 脚本查看提交的用户名并将其用于 sql 更新语句中的 where 子句

如果您希望我发布我所做的示例,我可以这样做。

您只是在回显用户的信息。

相反,您需要将信息放入一个允许编辑的表单中。

<?php

 if ($_POST['submit']) {

 $username = $_POST['username'];

 //if you want to update
 mysql_query("UPDATE users SET username = '$username', password = '$password'");

 //if you want to delete
 mysql_query("DELETE FROM users WHERE username = '$username'");

 }

 ?>

 <?

 //show all users

$user_query = mysql_query("SELECT * FROM users");
while($row = mysql_fetch_array($user_query)) {

echo $row['username'] . ' ' . $row['first_name'] . ' ' . $row['last_name'];
//and so on.. depending on your table fields

}


 ?>




<form method="POST">

Username: <input name="name" value="<?echo $row['username'?>"/>
<input type="submit" name="submit"/>

</form>
  1. 将数据加载到您的表单中,并向其添加操作,例如“save_user.php
  2. 在该页面上 save_user.php 从 $_POST, $_POST["firstName"] 获取数据,其中 firstName 是您从 db 加载数据的文本字段的名称
  3. 编写查询 "update tbl_users set FirstName='$firstName', Email='$email" 并执行此查询,因为您是初学者,这可能就足够了,但请记住这样编写的查询可用于 SQL 注入,这意味着您可以编写 SQL查询文本字段“名字”并做一些事情,比如删除所有数据或获取密码、电子邮件等。

当你得到这个然后在你的 MySQL 查询中使用参数,以避免 SQL 注入。 但你会管理它。

如果要从下拉列表中自动获取用户信息(无需单击提交按钮),则需要使用 AJAX。 Here is the link to a very good example on how to use ajax with php and mysql http://www.w3schools.com/php/php_ajax_database.asp

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM