Autor Zpráva
kopi
Profil
Zdravím,
potřebuju upravit cizí web a nevím si rady s funkcí na zjištění stránky a předáním parametru.
Web je strukturová do tří složek (web, smartphone, mobile) v kořenu je soubor index.php, který detekuje zařízení, ze kterého je web otevírán a podle toho podstrčí složku. Ukážu na kodu:

<?
include "app/config.php";
include "app/detect.php";


if ($page_name=='') {
    include $browser_t.'/index.php';
    }
elseif ($page_name=='index.html') {
    include $browser_t.'/index.php';
    }
elseif ($page_name=='login.html') {
    include $browser_t.'/login.php';
    }
elseif ($page_name=='register.html') {
    include $browser_t.'/register.php';
    }
elseif ($page_name=='detail.html') {
    include $browser_t.'/detail.php';
    }
elseif ($page_name=='kategorie.html') {
    include $browser_t.'/kategorie.php';
    }
elseif ($page_name=='contact-post.html') {
    include $browser_t.'/contact.html';
    include 'app/contact.php';
    }
else
    {
        include $browser_t.'/404.html';
    }
    ?>

V proměnné $browser_t je uložený název složky pro zařízení - tedy buď web, smartphone nebo mobile. Stránky jako index, login,register,detail,kategorie atd jsou ve všech složkách stejné.

funkce pro $page_name je:
$current_page_uri = $_SERVER['REQUEST_URI'];
$part_url = explode("/", $current_page_uri);
$page_name = end($part_url);

Tohle všechno funguje, ale problém nastane, když v url je index.html?id=3, podstrčí to stránku index.php. Když dám, aby podstrčená stránka byla stejná jako je v url, tka to hodí chybu 404, protože takový soubor neexistuje. Zkrátka musím nějak rozlišit, co je stránka (končí .html a co jsou už parametry - vše za .html). Žádné .htaccess tam není. Poradíte mi někdo, jak to přepsat, aby to bralo i parametry v url?

Mě napadlo jen to, že nějakým způsobem rozdělit url na to, co je před ? a co za ? (nevím ale jak) a to za otazníkem by se ignorovalo.

Je to blbost?

Děkuju.
Davex
Profil
kopi:
Mě napadlo jen to, že nějakým způsobem rozdělit url na to, co je před ? a co za ? (nevím ale jak) a to za otazníkem by se ignorovalo.
Zkus něco takového:
$page_name = basename(parse_url($_SERVER["REQUEST_URI"], PHP_URL_PATH));

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0