Autor | Zpráva | ||
---|---|---|---|
kozusnik.jan Profil * |
#1 · Zasláno: 23. 7. 2010, 18:05:54
Ahoj, na webu jsem našel tento PHP skript:
<ul> <li><a href="index.php?stranka=anketa">Anketa</a></li> <li><a href="index.php?stranka=knihasdb">Kniha S DB</a></li> <li><a href="index.php?stranka=uprava_tvorba_souboru">Uprava tvorba souboru</a></li> </ul> <?php if (isset($_GET["stranka"]) && substr_count($_GET["stranka"], "/") < 1) $stranka = $_GET["stranka"]; else $stranka = "uvod"; $soubor = $stranka."php"; if (file_exists($soubor)) include $soubor; else include "stranka_nenalezena.php"; ?> Nechápu na něm tu podmínku if (isset($_GET["stranka"]) && substr_count($_GET["stranka"], "/") < 1) $stranka = $_GET["stranka"]; substr_count() Mohli byste mi prosím vysvětlit výše zmíněné dotazy? Předem mockrát děkuji |
||
panther Profil |
#2 · Zasláno: 23. 7. 2010, 18:08:57
kozusnik.jan:
„Nevím, kde vzal tu proměnnou stránka, proč tam má globální proměnnou GET“ GET se bere z URL „když tam není žádný formulář“ není potřeba formulář, stačí odkaz nebo ruční vepsání. „a nepochopil jsem to substr_count“ ...tak si klikni na odkaz, který se z názvu funkce udělal v [#1], třeba pochopíš. Funkci sis ohledně mohl sám dávno dohledat. |
||
kozusnik.jan Profil * |
#3 · Zasláno: 23. 7. 2010, 18:10:56
panther:
"...tak si klikni na odkaz, který se z názvu funkce udělal..........." to mě nenapadlo Mohli byste mi prosím vysvětlit, kde vzal tu proměnnou stránka? |
||
Jan Tvrdík Profil |
#4 · Zasláno: 23. 7. 2010, 18:15:31
kozusnik.jan:
„Mohli byste mi prosím vysvětlit, kde vzal tu proměnnou stránka?“ Nikde ji nevzal. Na daném místě ji vytvořil (tj. dříve neexistovala). |
||
Johnik Profil |
#5 · Zasláno: 23. 7. 2010, 18:17:15
Spravne by bylo vytahnout tu promennou nad podminku, ale v php to neni potreba, protoze se promenna vytvori automaticky - neni potreba klicoveho var a podobne.
|
||
kozusnik.jan Profil * |
#6 · Zasláno: 23. 7. 2010, 18:17:16
JJ, už jsem to snad pochopil
|
||
kozusnik.jan Profil * |
#7 · Zasláno: 23. 7. 2010, 18:35:12
No, tak teď to vypadá nějak takhle:
<a href="inc.php?clanek=uvod" name="uvod">Uvod</a> <a href="inc.php?clanek=odkaz" name="odkaz">Odkaz</a> <?php function ukaz($gs, $p, $u) { if (isset($gs) ) { $p = $gs; $sh = $p.".php"; } include "./".$sh; } ?> <div id="clanky"> <?php ukaz(isset($_GET['stranka']),isset($page), isset($show)); ?> </div> Teď mi to hlásí tyto chyby: Warning: include(./.php) [function.include]: failed to open stream: No such file or directory in D:\wamp\www\weby\2010Jun14-18_50\POKUSY\include\Inc.php on line 14 Warning: include() [function.include]: Failed opening './.php' for inclusion (include_path='.;C:\php5\pear') in D:\wamp\www\weby\2010Jun14-18_50\POKUSY\include\Inc.php on line 14 Zjistil jsem, že to celé je kvůli proměnné $p, proměnná p je prostě prázdná. Prosím poraďte, jak to vyřešit |
||
panther Profil |
#8 · Zasláno: 23. 7. 2010, 18:49:28
kozusnik.jan:
na ř. 15 máš $_GET['stranka'], v odkazu naplňuješ $_GET['clanek']. Začni od základů, to bude nejlepší. |
||
kozusnik.jan Profil * |
#9 · Zasláno: 23. 7. 2010, 19:18:56
JJ, toho jsem si všiml, pak jsem to zpravil, a pořád mi to hlásí ty samé chyby. Nechal jsem si vypsat proměnnou p a ono mi to vypsalo 1. Takže chyba je asi někde tam
|
||
Davex Profil |
#10 · Zasláno: 23. 7. 2010, 19:37:07
kozusnik.jan:
Podívej se do dokumentace, k čemu slouží funkce isset() a co vrací jako výsledek. Hodnoty vstupních parametrů ve funkci ukaz() si pro účel ladění můžeš vypsat pomocí funkce var_dump() .
|
||
Časová prodleva: 14 let
|
0