我遇到了一个奇怪的情况,在提交表单时我的页面无法正常刷新。
表格(page.php
):
<form action="funcs/foo.php" method="post">
<!-- various inputs -->
<input type="submit" value="Post it">
</form>
功能(foo.php
):
// statements updating database, changing page layout...
header("Location:$_SERVER[DOCUMENT_ROOT]/page.php");
通过将标题更改为以下内容,可以刷新page.php。
header("Location:../page.php");
我的问题是为什么?指定完整路径和相对路径之间的区别是什么?
答案 0 :(得分:0)
标题( “位置:$ _ SERVER [DOCUMENT_ROOT] /page.php”);
首先,您引用数组索引错误(应该引用:$_SERVER['DOCUMENT_ROOT']
)但除此之外您使用错误,因为Location
从未在本地文件系统的上下文中的路径上运行,因为您错误地假设。因此,如果您想使用亲戚,即/foo
,则并不意味着这是文件系统根目录中的foo
文件夹,但它相对于foo
是document root
。因此传递DOCUMENT_ROOT
会给你错误的路径,浏览器无法访问。
答案 1 :(得分:-1)
委内瑞特
header("Location:$_SERVER[DOCUMENT_ROOT]/page.php");
进入header("Location:".$_SERVER['DOCUMENT_ROOT']."/page.php");
并检查是否$ _SERVER [&#39; DOCUMENT_ROOT& #39;]重定向确定。