Autor Zpráva
Jaroslavv
Profil *
Ahoj, mám url

http://domail.ltd/kontakty/


a potrebuji zavolat podmínku s názvem která je uvedena v $_GET['1'];

výsledek by byl pak takový

echo kontakty();


ale nějak mi to nejde, zkoušel jsem to takto ale nejdo to :(

echo $_GET['1'].'()';


poradíte někdo? Děkuji
Bertram
Profil
Ahoj, s tím $_GET[] opatrně.
$foo = "delete";
$foo();

edit: Teď se tak dívám, že toto jsi asi nemyslel, la pardón :)
Someone
Profil
  function ahoj() {
    echo "cau";
  }
  $funkce = $_GET['funkce'];
  $funkce();
Tori
Profil
Jaroslavv:
Když chcete pracovat takto s URL, tak buď použijte $_SERVER['REQUEST_URI'] a rozdělte si ji na jednotlivé části. Anebo použijte .htaccess v kořenovém adresáři webu, který bude všechny požadavky směřovat na /index.php (např. z http://example.com/nějaká/cesta/k/souboru udělá http://example.com/index.php?pozadavek=/nějaká/cesta/k/souboru). Záleží, jak máte udělaný web, jestli všechny požadavky jdou přes jediný skript nebo ne.
edit: V proměnné $_GET každopádně není celá URL, ale jen parametry.
Tirus
Profil
v nejhorším bych zkusil využít
eval()
Alphard
Profil
[#5] Tirus
Proč? Problém zavolání funkce je přece vyřešen. Ne, že by uvedený způsob byl nějak bezpečný, ale eval() je snad ještě horší.
Alternativně bych uvažoval o call_user_func() a podobných, ale eval() nedoporučuji.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

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

0