Как проверить, какой URL-адрес загружен, и включить страницу на основе этого?

<?php 
if(...) {
 include("home.php");
} else if(...) {
 include("about.php"); 
}
?>

Если я нажму кнопку «Домой», она будет включать страницу home.php, а если я нажму кнопку «О программе», она будет включать страницу about.php при загрузке страницы. Я хочу, чтобы это было так, чтобы у меня был один файл index.php, а не несколько для каждой страницы.

Есть ли способ проверить загружаемый URL-адрес?


person Nils_e    schedule 29.10.2011    source источник


Ответы (3)


Вы также можете использовать оператор $_GET и переключатель. сначала проверьте, установлена ​​ли переменная get, и если она использует оператор switch, иначе используйте значение по умолчанию.

что-то вроде

<?php 
   if(isset($_GET['page'])) { 
$page = $_GET['page'];
 // roll GET into a var so you can do some error checking if you wish, // 
 // clean it up if need be //
    switch($page) {
        case 'about':
            include('about.php');
            break;
        case 'home':
            include('contact.php');
            break;
        default:
            include('home.php');
            break;
      } 
} else {
  include('home.php');
}
?>

Таким образом, вы двойное покрытие. Если get не установлен, он автоматически включает home.php, но если он установлен, у вас есть несколько предопределенных параметров на выбор. если кто-то возится с URL-адресом, home.php все равно будет включен.

оператор переключения PHP

person Casper Wilkes    schedule 29.10.2011

$_SERVER['REQUEST_URI']

http://php.net/manual/en/reserved.variables.server.php

person Amber    schedule 29.10.2011

Вы также можете изучить mod_rewrite.

person Daniel Teichman    schedule 29.10.2011