Php 如果(isset($#u GET[';编辑人员';]))不工作
我正在用一个普通的CMS开发PHP/MySQL项目 我正在处理一个名为-Php 如果(isset($#u GET[';编辑人员';]))不工作,php,mysql,Php,Mysql,我正在用一个普通的CMS开发PHP/MySQL项目 我正在处理一个名为-index.php?page=personals-的页面,试图更新数据库中的人员 在该页面上,我有一个包含-action=“?editPersonal”method=“post”的表单 同时,在PHP中: if (isset($_GET['editpersonnel'])) { ... // update personell ... header('Location: .'); exit(); 。。。这个想法是,当表
index.php?page=personals
-的页面,试图更新数据库中的人员
在该页面上,我有一个包含-action=“?editPersonal”method=“post”的表单
同时,在PHP中:
if (isset($_GET['editpersonnel'])) {
... // update personell ...
header('Location: .');
exit();
。。。这个想法是,当表单提交时,脚本会更新人员,然后重定向回自身
不幸的是,当我提交表单时,脚本没有重新加载所需的'index.php?page=personals',而是将'editpersonals'广告到index.php,因此我最终得到了
index.php?editpersonnel
顺便说一句,所有的更新都不会发生
事实上,它完全忽略了-if(isset($\u GET['editPersonal'))之后的所有内容,所以我想问题是
你知道是什么导致了这种行为吗
p、 美国
表单是动态填充的,因此这是其页面源:
姓名:
电邮:
设置密码:您需要使用
$\u GET
才能使用类似的东西。更改窗体的方法以获取
<form action="<?php echo $_SERVER['PHP_SELF'] ?>" method="GET">
<input type="text" name="editpersonnel" />
<input type="submit" value="submit">
</form>
您通过POST
方法传递表单数据,然后尝试通过GET
您有两种可能的解决方案,看看哪一种更适合您的情况
将表单方法更改为GET
为editPersonal
指定一个值,比如index.php?editPersonal=foo
刚刚在代码中找到的method=“post”
。。。如果在PHP中希望通过$\u GET
使用as form action:action=“?editPersonal=xxx”xxx可以是任何内容,但“editPersonal”需要有一个值,否则$\u GET['editPersonal'的值为NothingHanks,Poncise,我尝试了这两种方法,虽然它们很有道理,但它们对我不起作用,也就是说,我仍然被重定向到index.php?editPersonal。顺便说一句,我把method=“POST”和if(isset)结合起来复制/粘贴了一下($\u GET-来自一个可学习的课程,在他们的例子中有效吗???我把这个问题也放在了他们的论坛上。我认为它在他们的例子中不起作用。顺便说一句,你能更好地解释一下你想要实现什么吗?另外,你能发布更多的代码吗?(特别是表单)我试图在最后20分钟内发布表单,但它不允许我在井内发布任何内容,
然后在index.php
中发布,如果您以这种方式访问page
如果(isset($\u GET['page'])echo$\u GET['page']
它应该可以工作..谢谢@ponciste,但是动作不能是静态的-在这个例子中它是'page=personal',但它可以是'page=list'(这就是我在问题中说它是动态填充的意思)。
<form action="?editpersonnel" method="GET">
if (isset($_POST['editpersonnel'])) {
... // update personell ...
header('Location: .');
exit();
}