$ _GET请求

时间:2016-02-18 13:02:07

标签: php

我有一个问题,我正在获得一个重定向循环,我完全没有改变它开始。我没有编辑一行代码使其停止,我已经做了大量的调试,但找不到问题。

每当我在该搜索框中输入邮政编码时,它只会给我一个无限重定向循环。

我的网站是闪闪发光的。 com(不能在帖子中发布两个以上的链接,抱歉!)

我的index.php文件:http://pastebin.com/8NuUt6Lu

我的search.php http://pastebin.com/cHjhAFwH

如果它看起来像是一个愚蠢的错误我道歉,但我是PHP的新手,我甚至没有写这个。我只是这些人的网页设计师,他们希望我能解决他们一年前给别人写的东西。

修改这是我的.htaccess看起来像http://pastebin.com/4YR6SqMh,我不知道它应该是什么样的/做什么。

1 个答案:

答案 0 :(得分:0)

用这样的东西替换所有位置项,它更容易阅读和更新:

if(!empty($state = $_GET["state"])){

    // Location data add multiple lines
    $locations["/placercounty"] = array(
        "ranges" => array(
            array("from" => 90001, "to" => 96162)
        )
        "matches" => array(
            "california",
            "placer-county",
            "auburn",
        )
    );
    $locations["/northcentralohio"] = array(
        "ranges" => array(
            array("from" => 44312, "to" => 44312)
        )
        "matches" => array(
            "akron",
        )
    );

    // No need to touch below this
    $state = clean($state);
    $theZip = strtolower($state);
    $location = false;
    foreach($locations as $url => $matchData){
        if(isset($matchData["matches"])){
            if(in_array($theZip, $matchData["matches"])){
                $location = $url;
                break;
            }
        }
        if(isset($matchData["ranges"])){
            foreach($matchData["ranges"] as $rangeData){
                if(isset($rangeData["from"]) && isset($rangeData["to"])){
                    if($theZip >= $rangeData["from"] && $theZip <= $rangeData["to"]){
                        $location = $url;
                        break 2;
                    }
                }
            }
        }
    }
    if($location){
        header("Location: " . $location);
        die();
    }
}