PHP redirection page based on GET variables

匿名 (未验证) 提交于 2019-12-03 02:35:01

问题:

I am new to PHP, so please bear with me in this elementary level question.

I want to create a script that redirects the user to various addresses based on the GET variable. for example, redirection.php?id=youtube should redirect them to www.youtube.com, redirection.php?id=twitter should redirect them to www.twitter.com, and so on.

Here is my code:

<!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> 

So far the PHP file does not respond at all, what do I change to fix this?

Again, sorry for the elementary level question, but this is literally my first PHP script and I am not very familiar with some of the terminology which makes Google searching for the correct code difficult.

回答1:

When comparing values in PHP for equality you can use either the == operator or the === operator. What’s the difference between the 2? Well, it’s quite simple. The == operator just checks to see if the left and right values are equal. But, the === operator (note the extra “=”) actually checks to see if the left and right values are equal, and also checks to see if they are of the same variable type (like whether they are both booleans, ints, etc.).

And

die(); you forget semicolon in die()

you code should be

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(); } 


回答2:

You can try below code:

    <!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> 


标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!