Параметр PHP без значения, используемый для навигации - PullRequest
1 голос
/ 24 декабря 2010

Я пытаюсь настроить систему навигации, которая использует параметры GET без значения, вот пример:

http://foo.bar/?mainPage переводит посетителя на главную страницу.

Поэтому я использую операторы if и мне интересно, есть ли способ сделать это без набора операторов if?Я не думаю, что заявления о переключении будут работать для этого.В настоящее время это то, что у меня есть:

$mainPage = $_GET['mainPage'];
$contact = $_GET['contact'];

if(isset($mainPage)) {
    // go to main page
}

if(isset($contact)) {
   // go to contact page
}

Однако я не хочу, чтобы мне пришлось писать кучу операторов if.Есть идеи?

Спасибо.

Ответы [ 3 ]

3 голосов
/ 24 декабря 2010

Вы можете использовать $_SERVER['QUERY_STRING'], который дает все в URL после знака вопроса, а затем просто использовать оператор switch для выбора какой страницы.

2 голосов
/ 24 декабря 2010

Я бы предложил использовать ассоциативный массив:

$location_map = array(
    'mainPage' => 'some-url-here',
    'contact'  => 'some-other-url-here'
);

foreach($location_map as $key => $value)
{
   if(array_key_exists($key, $_GET))
   {
      header('Location: ' . $value);
      exit();
   }
}
//if we reached here, then redirect to home page
0 голосов
/ 24 декабря 2010

Вы можете использовать перенаправление заголовка следующим образом:

<?php    
header( 'Location: http://www.yoursite.com/new_page.html' ) ;
?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...