【发布时间】:2015-10-12 02:59:04
【问题描述】:
对不起,我是 PHP MYSQL 的初学者。 我想问这将如何工作。我可以知道如何解决这个问题或我将添加什么代码?
场景: 我们有用户类型 ADMIN 和 NORMAL USER, 我创建了 edit.php 以将用户帐户编辑为 ADMIN 以防万一密码丢失等,但我遇到的问题是当我单击特定表中的编辑按钮时。
见下图,我在这里以管理员身份登录,employee.php。 所以我选择了id为22的用户testFN
我在这里用来获取 id 的代码在这里:
<td><a href="edit.php?id=<?php echo $row['user_id']; ?>" >Edit</a></td>
当我点击 EDIT 按钮时,它会打开页面 edit.php,带有这个 url
所以我的结果不等于我想要的,输入框的信息来自我正在使用/登录的用户,而不是来自我选择编辑的用户。
我用来EDIT.PHP的代码在这里:
<?php
session_start();
include_once 'dbconnect.php';
if(!isset($_SESSION['user']))
{ header("Location: edit.php"); }
$res=mysql_query("SELECT * FROM accounts WHERE user_id=".$_SESSION['user']);
$userRow=mysql_fetch_array($res);
if(isset($_GET['user'])) {
$id = $_GET['user'];
if(isset($_POST['submit'])) {
$pass = md5(mysql_real_escape_string($_POST['pass']));
$aFName = mysql_real_escape_string($_POST['aFName']);
$aLName = mysql_real_escape_string($_POST['aLName']);
$aMName = mysql_real_escape_string($_POST['aMName']);
$aContact = mysql_real_escape_string($_POST['aContact']);
$aAddress = mysql_real_escape_string($_POST['aAddress']);
$aGender = mysql_real_escape_string($_POST['aGender']);
$utype = mysql_real_escape_string($_POST['utype']);
$query3=mysql_query("UPDATE accounts SET pass='$pass', agentFName ='$aFName', agentLName = '$aLName',
agentMName = '$aMName', agentContact = '$aContact', agentAddress = '$aAddress',
agentGender = '$aGender', user_type = '$utype' ");
if($query3)
{ header("Location: home.php"); }
}//end of post sumbit
}//end of GET
?>
/** HTML IS HERE **/
Agent ID: <input type="text" id="agentCode" name="agentCode" required="required" value="<?php echo $userRow['user_id']; ?>" >
First Name: <input type="text" id="agentCode" name="aFName" required="required" value="<?php echo $userRow['agentFname']; ?>" >
Middle Name: <input type="text" id="agentCode" name="aMName" required="required" value="<?php echo $userRow['agentMname']; ?>" >
Last Name: <input type="text" id="agentCode" name="aLName" required="required" value="<?php echo $userRow['agentLname']; ?>" >
【问题讨论】:
-
$_SESSION['user']的值是多少? -
@Fred-ii- user_id 是用户的id
-
所以它是一个字符串?我没有问列名,我问的是会话数组值是什么。
-
@Fred-ii- 不,它是 INT(自动增量)。
-
如果它不工作,然后检查错误,使用错误报告和
mysql_error()反对您的查询,和/或询问大卫;他在下面给了你一个答案。它现在基本上不在我的手中;-) 这个dbconnect.php是未知的。
标签: php mysql post get sql-update