PHP header()出现问题,重定向到父目录中的HTML页面

时间:2013-04-04 17:01:13

标签: php html

已解决,我错过了添加文件夹路径。最近重组了我的服务器,从而给我带来了麻烦。

当我试图重定向到父目录中的HTML页面时,PHP中的header()出现问题。我试图在论坛中找到一些答案,但没有成功。

我尝试过使用../above.html和完整地址http://www.test.com/above.html但没有成功。还有一点需要注意的是,我发送了redirrURL的隐藏输入,但我已经检查过我得到了正确的地址。

这就是我的代码现在的样子,但我一直得到404:

$redirrURL = $_POST['pageType'];
header( "Location: $redirrURL" );

这是我调用使用header();

的PHP文件的地方
<form method="post" action="rateBarFunction.php">
            <td>
                <input type="hidden" name="pageType" value="<? echo $redirrURL ?>" />
                <select name="grade">
                    <option value="" style="display:none;"></option>
                    <option value="5">5</option>
                    <option value="4">4</option>
                    <option value="3">3</option>
                    <option value="2">2</option>
                    <option value="1">1</option>
                </select>
                <input type="submit" name="submit"/>
            </td>
        </form>
<?php 
    echo "</tr>";
}
echo "</table>";
?>

它是否无效,因为我在使用header()后回显HTML代码?

2 个答案:

答案 0 :(得分:0)

            <input type="hidden" name="pageType" value="<? echo $redirrURL ?>" />
                                 ^^^^^^^^^^^^^^^

所以你需要使用

$_POST['pageType'];

答案 1 :(得分:0)

不,由于header()/ echoing,您没有收到此错误。那应该没问题。

但你想做什么呢?在表单中,您有动作'ratebarFunction.php'。这是将要执行的操作,除非您在onSubmit - 事件期间通过JavaScript替换操作。如果您在此表单上获得404,那么没有有效的URL'ratebarFunction.php'。

您可以轻松测试404。只需转到页面的源代码,然后单击字段值即可打开URL。当它出现时,它会工作吗?如果没有,则语法不正确。最简单的解决方法是在任何浏览器中创建正确的URL并将其放在字段值中。

'.. / x.php'是一种文件方法。它与URL的工作方式不同,在PHP中,使用$ _SERVER ['DOCUMENT_ROOT']可以更轻松地解决它。我建议你总是使用绝对URL,因为当你决定将你的php文件放在另一个目录中时它们不会失败。超全球$ _SERVER等会帮助你。