if(isset($ _ GET ['editpersonnel']))不工作

时间:2014-03-21 13:27:51

标签: php mysql

我正在使用适度的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。

表单是动态填充的,因此这是页面源:

                                           名称:                                                                                                      电子邮件:                                                                                                      设置密码:

2 个答案:

答案 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();
}