好吧,这是我试图解决的问题.我有一个索引页面,内置了一堆php包含到服务器上的其他文件.例如,用于构建菜单的文件等.
在这些文件中,我正在使用一个include,它在页面上构建一个表,每行都有一个删除按钮,以便用户可以在需要时删除数据.话虽如此,构建表的页面使用此表单定义:
<form name=somename id=someid method=post action=<?php $PHP_SELF?>
Run Code Online (Sandbox Code Playgroud)
最糟糕的是,当执行删除时,表单会尝试发布到自身,并将错误抛出到以下地址栏中:
注意:未定义的变量:第39行的C:\ xampp\htdocs\web\somefile.php中的 PHP_SELF
第39行是表单属性.
=================================
包含此内容的索引页面的设置如下:
<div id="container">
<div id="left">
<p>Welcome <?php echo $_SESSION['USERFIRSTNAME']?> <?php echo $_SESSION['USERLASTNAME']?></p>
</div>
<div id="right">
<?php
//navigation menu
include('menu.php');
?>
</div> <!-- menu div -->
<div class="clear"></div>
</div> <!-- container div -->
<div id="userlist">
<?php
//build user access links
//include('userlist.php');
?>
</div><!-- user list div -->
<div id="dbview">
<?php
include('dbview.php');
?>
</div>
Run Code Online (Sandbox Code Playgroud)
dbview.php构建了我上面谈到的表.
我试图找出如何执行删除(只是更新数据库行),同时刷新回索引页面.我用来处理帖子的当前代码似乎不起作用:
if (($someresult)&& ($anotherresult))
{
echo'<font color="#FF0000">You have successfully removed item </font>';
header('Location: index.php');
exit;
}
else
{
echo'<font color="#FF0000">Error while Removing</font>';
}
Run Code Online (Sandbox Code Playgroud)
所有问题似乎都与$ PHP_SELF部分有关,但我需要一些帮助.我很抱歉这篇文章很精彩.希望这是有道理的.如果需要发布更多代码,我也可以这样做.再次感谢!
您想要的数据实际上是保留的$_SERVER['PHP_SELF'].
如果你期望一个$PHP_SELF被定义的变量,我怀疑你习惯于使用启用了register_globals的服务器,这种情况很少发生.如果是这种情况,您还应该知道传递的变量$_GET,$_POST也不会定义.