我正在为学校项目构建一个简化的CMS,并且遇到有关删除用户的问题。
在只能通过admin
登录名和相关密码访问的站点管理页面上,填充现有用户的表。每行显示关于用户的重要统计信息,以及删除按钮。
由于此管理页面与常规用户管理页面的URL相同,因此仅当登录为admin时,我才使用echo语句写出表格元素。该按钮通过GET请求调用外部脚本中的函数,并将userID附加到URL。
至少那应该发生什么。根据Firebug,button元素具有以下属性:
<form id="deleteUser" method="get" action="includes/scripts.php?action=deleteUser&id=18" name="deleteUser">
<input type="submit" value="Delete" name="submit">
但是,点击上面的按钮,我会得到网址
http://localhost/TestingLab/admin/includes/scripts.php?submit=Delete
这笔交易是什么?
答案 0 :(得分:2)
提交GET表单会废弃任何现有的查询字符串。
改为将数据移动到隐藏的输入。
<form id="deleteUser" method="get" action="includes/scripts.php">
<input type="hidden" name="action" value="deleteUser">
<input type="hidden" name="id" value=18">
<input type="submit" value="Delete" name="submit">
...但不要根据GET请求更改服务器上的内容。 GET请求应该是可重复且安全的。使用POST。