Php 如何通过管理员编辑用户信息
我正在使用PHP开发我的第一个简单网站。现在,我在管理页面工作,我想让他添加,删除用户和编辑现有用户的个人信息。我做了添加和删除操作。现在,我想开发编辑用户。首先,我希望他从下拉列表中选择用户,然后在从下拉列表中选择他之后自动获取用户信息,然后编辑他的信息。那我该怎么做呢 我的代码:Php 如何通过管理员编辑用户信息,php,mysql,Php,Mysql,我正在使用PHP开发我的第一个简单网站。现在,我在管理页面工作,我想让他添加,删除用户和编辑现有用户的个人信息。我做了添加和删除操作。现在,我想开发编辑用户。首先,我希望他从下拉列表中选择用户,然后在从下拉列表中选择他之后自动获取用户信息,然后编辑他的信息。那我该怎么做呢 我的代码: <?php ob_start(); $host="localhost"; // Host name $username="root"; // Mysql username $password="13524";
<?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我不确定我是否理解正确,但我会尝试-查看我答案的更新版本。