我是PHP的新手,在小型本地网页和数据库上工作,它将用户信息和数据库存储相同的用户信息。如果我使用ADMIN登录,它会显示所有数据。我的要求是,loggined用户是管理员,然后他有权编辑我存储在数据库中的用户的所有信息。这是使用GET方法完成的。它将如何运作?
答案 0 :(得分:1)
下面是一些示例代码,纯粹是为了演示如何使用GET方法表单更新表。代码没有任何类型的错误检查,并假设您已经知道如何连接到您的数据库(以及它的MySQL)。
假设您已登陆邀请您编辑数据的页面,您正在编辑的记录由URL上的'id'变量引用,该变量与数据库表中的数字主键相匹配。
<?php
$SQL = "SELECT myField1,myField2 FROM myTable WHERE myKeyField = '".intval($_GET['id'])."'";
$QRY = mysql_query($SQL);
$DATA = mysql_fetch_assoc($QRY);
?>
<form method='get' action='pageThatStoresData.php'>
<input type='hidden' name='key' value='<?php echo $_GET['id']; ?>' />
<input type='text' name='myField1' value="<?php echo $DATA['myField1']; ?>" />
<input type='text' name='myField2' value="<?php echo $DATA['myField2']; ?>" />
<button type='submit'>Submit</button>
</form>
因此,这将为您提供一个页面,可以从表格中获取数据,将其显示在具有预填充值的表单中,然后在提交时,将转到以下URL:
http://mydomain.com/pageThatStoresData.php?key=1&myField1=someData&myField2=someMoreData
在该页面中,您可以通过$ _GET方法访问变量'key','myField1','myField2'。
然后您只需要在该页面内更新您的表格:
$SQL = "UPDATE myTable
SET myField1 = '".mysql_real_escape_string($_GET['myField1'])."',
myField2 = ".mysql_real_escape_string($_GET['myField1'])."
WHERE key = '".intval($_GET['key'])."'
";
$QRY = mysql_query($SQL);
请注意:上面的代码不适合直接复制/粘贴,因为它没有进行任何错误检查等,它纯粹是一个功能性的例子(直接输入这里,所以如果有任何拼写错误我道歉!)。