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

时间:2011-05-23 20:22:07

标签: php mysql

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

4 个答案:

答案 0 :(得分:3)

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

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

答案 1 :(得分:1)

您只是回应用户的信息。

相反,您需要将信息放入表单中,以便进行编辑。

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

答案 2 :(得分:0)

  1. 将数据加载到表单中,并向其添加操作,如“save_user.php
  2. 在该页面上,save_user.php从$ _POST,$ _POST [“firstName”]获取数据,其中firstName是您从db中加载数据的文本字段的名称
  3. 写入查询“update tbl_users set FirstName ='$ firstName',Email ='$ email”并执行此查询,因为你是初学者这已经足够但记住这样编写的查询可以用于SQL注入意味着你可以将SQL查询写入文本字段“firstname”并执行一些操作,例如删除所有数据或获取密码,电子邮件等。
  4. 当你得到它然后在MySQL查询中使用参数以避免SQL注入。但你会管理它。

答案 3 :(得分:0)

如果要从下拉列表中自动获取用户信息(不单击“提交”按钮),则需要使用AJAX。以下是关于如何在php和mysql http://www.w3schools.com/php/php_ajax_database.asp

中使用ajax的一个很好的例子的链接