Php 如何通过管理员编辑用户信息

Php 如何通过管理员编辑用户信息,php,mysql,Php,Mysql,我正在使用PHP开发我的第一个简单网站。现在,我在管理页面工作,我想让他添加,删除用户和编辑现有用户的个人信息。我做了添加和删除操作。现在,我想开发编辑用户。首先,我希望他从下拉列表中选择用户,然后在从下拉列表中选择他之后自动获取用户信息,然后编辑他的信息。那我该怎么做呢 我的代码: <?php ob_start(); $host="localhost"; // Host name $username="root"; // Mysql username $password="13524";

我正在使用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>

函数重载(表单){
var val=form.username.options[form.username.options.selectedIndex].value;
self.location='editUser2.php?username='+val;
}
选择一个用户
选择name=“username”onchange=“重新加载(this.form)”>
  • 将数据加载到表单中,并向其添加类似“save_user.php”的操作
  • 在该页面上,save_user.php从$_POST获取数据,$_POST[“firstName”],其中firstName是您从db加载数据的文本字段的名称
  • 编写查询“update tbl_users set FirstName='$FirstName',Email='$Email”并执行此查询,因为您是初学者,这就足够了,但请记住,这样编写的查询可用于SQL注入,这意味着您可以将SQL查询写入文本字段“FirstName”,并执行一些操作,如删除所有数据或获取密码、电子邮件等

  • 当你得到这个信息时,在MySQL查询中使用参数以避免SQL注入。但是你会管理它。

    你只是在回显用户的信息

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

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

    如果您想从下拉列表中自动获取用户信息(无需单击提交按钮),则需要使用AJAX。下面是一个关于如何将AJAX与php和mysql结合使用的非常好的示例的链接我一直在致力于制作一个基于web的票务系统,遇到了同样的情况。
    我这样解决了这个问题:

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

  • 如果你想让我举一个我所做的事情的例子,我可以这样做。

    你真的需要回去接受以前问题中的一些答案。另外,与其发布你所有的代码,不如告诉我们出了什么问题或你不明白什么。我们不想为你做这项工作,但我们很乐意提供帮助。@Aaron:公平地说,他只是y发布了另外七个问题。其中两个已关闭,其余的(第一栏)只有一个答案。可能他们不是他想要的答案。请不要鼓励新来者仅仅为了这个而接受任意的答案。我认为stackoverflow.com应该为(我第一次)添加另一个子域,例如firststep.stackoverflow.com有点questions@Dantario:这不是一个糟糕的主意(尽管标签可能更实用)。谢谢,但我忘了说我想先像打印任何语句一样打印它们。怎么做?我尝试打印用户信息失败。我的代码中有问题吗?@user730077我不确定我是否理解正确,但我会尝试-查看我答案的更新版本。