2011-05-23 90 views
4

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

你真的需要回去接受一些你以前的问题的答案。另外,不要发布你的所有代码,告诉我们什么是错的或你不明白的。我们不想为你做这项工作,但我们很乐意提供帮助! – 2011-05-23 20:26:58

+0

@Aaron:为了公平起见,他只发布了其他七个问题。两个关闭,其余(第一个)只有一个答案。想必他们不是他正在寻找的答案。_请不要鼓励新手为了它而接受任意答案._ – 2011-05-23 20:31:27

+0

我认为它是时候为stackoverflow.com添加另一个子域名,例如, firststep.stackoverflow.com专门为(我的第一次)类型的问题 – MBarsi 2011-05-23 20:32:15

回答

3

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

  1. 当页面加载时,确定他们是否有管理员权限或抛出他们的页面。
  2. 执行SQL查询以获取用户列表,以显示在列表中或下拉框中。
  3. 一旦选择了用户编辑,执行另一个查询并将每个项目加载到一个字段中; 我所做的是使用相同的形式来添加新用户,但有PHP建立窗体并将该用户的当前值插入到字段中。
  4. 当表单提交,(并提交verifed)我有PHP脚本看提交的用户名,如果你要我张贴的使用在SQL UPDATE语句

where子句我做了什么我可以做到这一点的例子。

0
  1. 将数据加载到您的形式,并且像“save_user.php
  2. 添加动作将其在该页面中save_user.php得到$ _ POST,$ _ POST [数据“firstName”]其中firstName是您的文本字段的名称,您已从db中加载数据
  3. 写入查询“update tbl_users set FirstName ='$ firstName',Email ='$ email”并执行此查询,因为您是启动器这可以是足够的,但记住像这样写的查询可以用于SQL注入tha t表示你可以写SQL查询到文本字段“名字”,并做一些东西,比如删除所有数据或获取密码,电子邮件等

当你得到这个那么为了避免使用参数在你的MySQL查询SQL注入。但你会管理它。

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

谢谢,但我忘了说,我想先打印所有这些打印任何语句。怎么做?我尝试打印用户信息失败了。我的代码有问题吗? – user730077 2011-05-23 20:38:31

+0

@ user730077我不确定我是否正确理解你,但我会尝试 - 查看我答案的更新版本。 – psarid 2011-05-24 22:36:31

0

,如果你想自动获取用户信息,从下拉列表中(不点击提交按钮),你需要使用AJAX。这里是一个很好的例子,如何使用PHP和MySQL使用AJAX的一个很好的例子的链接http://www.w3schools.com/php/php_ajax_database.asp

相关问题