传递PHP URL变量会导致Page Not Found

时间:2016-12-21 11:32:44

标签: php html

我有一个图像,当它被点击时应该重定向到另一个页面。它还会向页面sn“发送”两个变量。

echo "<a href='../?change-preference&s=up&n=".$element."'> 
         <img src='..media/images/sort-up.png'>
      </a>";

change-preference页面上,我得到两个变量:

$s=$_REQUEST['s'];
$n=$_REQUEST['n'];

我的问题是我收到了“找不到页面”错误。

另外,如果我尝试直接访问它可以正常工作的页面,但只有当我键入它时才会这样:

www.example.com/preference/change-preference

而不是如果我尝试:

www.example.com/preference/change-preference&s=up&n=999

任何帮助将不胜感激!

4 个答案:

答案 0 :(得分:2)

您应该使用:

www.example.com/preference/change-preference?s=up&n=999

答案 1 :(得分:1)

在构建链接时,?在错误的位置使用。

您需要按如下方式构建链接:

$element = 900;
echo "<a href='../change-preference?s=up&n=" . $element ."'><img src='..media/images/sort-up.png'></a>";

这会给你:

www.example.com/preference/change-preference?s=up&n=900

在您问题的以下链接中,?缺失,但无效:

www.example.com/preference/change-preference&s=up&n=999

答案 2 :(得分:0)

首先,您在Daniel_ZA指出的错误位置使用?,或者您在问题上输错了实际有效的网址。对于这个答案,我将假设这是第一种情况。

其次,你有一个名为&#34;更改偏好&#34;的php文件没有.php扩展名?它正在通过PHP解析。我想可能不是。那么你应该有一个名为change-preferences的文件夹和一个名为index.php的文件吗?

嗯,这就是change-preference?s=up&n=900重定向到change-preference\?s=up&n=900的原因。因为您正在访问该地址的索引文件而不是直接访问文件。它应该可以正常工作。

如果它仍然返回404(未找到页面)错误,那么它可能包含在您的问题中但尚未包含但未正确配置或行为不当的内容。请尝试更简单的设置(创建一个只有执行网址所需的最小文件夹的新文件夹)或提供有关您问题的更多信息。

答案 3 :(得分:0)

嗯..我没有提到我正在使用Wordpress,因为我认为这是100%的PHP问题。似乎“s”是Wordpress中的保留术语,导致404错误。改变“s”解决了问题。我正在这里回答这个问题,以防其他一些在Wordpress上工作的人发现他/她处于相同的位置。 reserved terms的Al。