基于GET变量的PHP重定向页面

时间:2015-04-18 07:54:06

标签: php variables redirect get

我是PHP的新手,所以请在这个基本级别的问题中与我一起承担。

我想创建一个脚本,根据GET变量将用户重定向到各种地址。例如, redirection.php?id = youtube 应该将它们重定向到www.youtube.com, redirection.php?id = twitter 应该将它们重定向到www.twitter.com , 等等。

这是我的代码:

<!DOCTYPE html>
<html>
<head>
<title>Please Wait...</title>
</head>
<body>

<?php
// directs the user to various locations on the internet
print_r($_GET);

if($_GET['id'] === 'youtube') {
    header('Location: http://www.youtube.com/') ;
    die()
}
if($_GET['id'] === 'twitter') {
    header('Location: http://www.twitter.com/') ;
    die()
}
if($_GET['id'] === 'reddit') {
    header('Location: http://www.reddit.com/') ;
    die()
}
?>

</body>
</html>

到目前为止,PHP文件根本没有响应,我该如何更改以解决这个问题?

再次,对于基本级别的问题感到抱歉,但这实际上是我的第一个PHP脚本,我不太熟悉一些使Google难以搜索正确代码的术语。

2 个答案:

答案 0 :(得分:1)

当比较PHP中的值是否相等时,可以使用==运算符或===运算符。 2之间有什么区别?嗯,这很简单。 ==运算符只是检查左右值是否相等。但是,===运算符(注意额外的“=”)实际检查左边和右边的值是否相等,并检查它们是否属于相同的变量类型(比如它们是否都是布尔值,整数)等等。)。

模具();你忘记了分号()

你的代码应该是

if($_GET['id'] == 'youtube') {
    header('Location: http://www.youtube.com/') ;
    die();
}
if($_GET['id'] == 'twitter') {
    header('Location: http://www.twitter.com/') ;
    die();
}
if($_GET['id'] == 'reddit') {
    header('Location: http://www.reddit.com/') ;
    die();
}

答案 1 :(得分:0)

您可以尝试以下代码:

    <!DOCTYPE html>
    <html>
    <head>
    <title>Please Wait...</title>
    </head>
    <body>

    <?php
    // directs the user to various locations on the internet
    extract($_REQUEST);

    if(isset($id) && $id == 'youtube') {
        header('Location: http://www.youtube.com/') ;
        die();
    }
    if(isset($id) && $id === 'twitter') {
        header('Location: http://www.twitter.com/') ;
        die();
    }
    if(isset($id) && $id === 'reddit') {
        header('Location: http://www.reddit.com/') ;
        die();
    }
    ?>

    </body>
    </html>