我正在使用适度的CMS开发PHP / MySQL项目。
我正在处理名为 - index.php?page=personnel
的页面 - 我正在尝试更新数据库中的人员。
在该页面上,我有一个包含的表格 - action =“?editpersonnel”method =“post”
同时,在PHP中:
if (isset($_GET['editpersonnel'])) {
... // update personell ...
header('Location: .');
exit();
...想法是,在提交表单时,脚本会更新人员,然后重定向回自身。
不幸的是,当我提交表单时,而不是重新加载所需的'index.php?page = personnel',脚本只是将'editpersonnel'广告到index.php,所以我最终得到了
index.php?editpersonnel
顺便说一下,没有任何更新发生......
实际上,它完全忽略了之后的所有事情 - if (isset($_GET['editpersonnel']))
- 所以我猜这就是问题所在......
任何想法可能导致这种行为?
P.S。
表单是动态填充的,因此这是页面源:
名称: 电子邮件: 设置密码:答案 0 :(得分:0)
您需要使用$_GET
才能使用类似的内容。将表单的方法更改为GET。
<form action="<?php echo $_SERVER['PHP_SELF'] ?>" method="GET">
<input type="text" name="editpersonnel" />
<input type="submit" value="submit">
</form>
这样的事情应该有用。
答案 1 :(得分:0)
您正在通过POST
方法传递表单数据,然后尝试通过GET
您有两种可能的解决方案,请参阅哪种解决方案更适合您的情况。
将表单方法更改为GET
<form action="?editpersonnel" method="GET">
或强>
将PHP中的访问方法更改为POST
if (isset($_POST['editpersonnel'])) {
... // update personell ...
header('Location: .');
exit();
}