我正在使用代码作为标题:
$fullurl=$_SERVER['PATH_INFO'];
echo '
<form action="'. $fullurl .'" method="POST">
<table width="1000" border="1" cellpadding="10" id="navigationBar">
<tr>
<td> <a href="/PoliticalForum/Registration.php">Register</a></td>
<td> <a href="/PoliticalForum/controlPanel.php">Control Panel</a></td>
<td> <a href="/PoliticalForum/checkEmail.php">Donate</a> </td>
<td align="right">name:<input name="name" type="text" /></td>
<td>password:<input name="pass" type="text" /> <input name="login" type="submit" value="Login" /> </td>
</tr>
</table>
</form>
';
我在页面文件中包含标题,其中包含一次require。我想要的是fullurl变量获取页面的完整url它是“required_once”,当我点击提交时,我希望它重定向到标题所在的页面..我将url添加到动作形式..
但我得到的是:
Undefined index: PATH_INFO
我尝试使用它们:
explode('/', substr(parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH),1));
$_ENV['PATH_INFO'];
但他们也没有工作:(
答案 0 :(得分:3)
<form action="" method="POST">
这就是全部
另外,回应原始HTML是没有意义的 使用此代码而不是您的代码
?>
<form action="" method="POST">
<table width="1000" border="1" cellpadding="10" id="navigationBar">
<tr>
<td> <a href="/PoliticalForum/Registration.php">Register</a></td>
<td> <a href="/PoliticalForum/controlPanel.php">Control Panel</a></td>
<td> <a href="/PoliticalForum/checkEmail.php">Donate</a> </td>
<td align="right">name:<input name="name" type="text" /></td>
<td>password:<input name="pass" type="text" /> <input name="login" type="submit" value="Login" /> </td>
</tr>
</table>
</form>
答案 1 :(得分:1)
您也可以尝试:
<form action="<?=$_SERVER['PHP_SELF']?>" method="POST">
<input type="submit" name="form-submit" value="Submit" />
这将导致表单自行提交(当前页面)。使用表单中的变量来检测提交或“常规页面加载”。 E.g。
if (isset($_POST['form-submit'])){
//do stuff
}
答案 2 :(得分:0)
在较新的环境中,使用 Apache / PHP-FPM ,您需要在 php.ini 中启用以下选项,以避免出现“ 未定义的索引:PATH_INFO ”
cgi.fix_pathinfo=1