Autor | Zpráva | ||
---|---|---|---|
snazimse Profil |
#1 · Zasláno: 31. 3. 2014, 12:20:33
Zdravím,prosím ,jak nejjednodušeji nastavit podmínku if,
aby zobrazila určitý obsah,podle toho z které poslední adresy přijdu www.neco.cz/index?php=route1 nebo www.neco.cz/index?php=route2
Jo prostě,abych měl jiný obsah,který bude v podmínce,když někdo přijde z route1 odkazu a jiný kdo přijde z adresy route2 odkazu. Že prostě přijdou přes rozdílný odkaz.A rozdílně se jim to zobrazí. Díky všem! |
||
Joker Profil |
#2 · Zasláno: 31. 3. 2014, 12:23:09
snazimse:
Na tohle by bylo lepší spíš switch (když předpokládám, že výhledově mohou být více než dvě možnosti). Hodnota bude v daném případě v $_GET["php"]. Kde konkrétně je problém? |
||
snazimse Profil |
#3 · Zasláno: 31. 3. 2014, 14:05:29
Já to potřebuji nastavit,takže když jsem na nějaké adrese viz příklad,tak na každé z těch dvou stránek bude odkaz,který bude stejný, a bude vést na jedno místo.Ale to místo bude samozřejmě nějaký tpl (php)soubor s obsahem,kde ho chci rozdělit na dvě místa s podmínkou ,if,jestli klikl na odkaz ze stránky,
www.neco.cz/index?php=route1 zobraz tohle: hhh . Jestli klikl na stejný odkaz ze stránky www.neco.cz/index?php=route2 zobraz tohle:ttt.
Doufám,že jsem to laicky vysvětlil.Děkuji !!! |
||
Tori Profil |
snazimse:
Jestli ty stránky, ze kterých může návštěvník přijít, jsou taky na vašem webu, tak bych použila session. |
||
snazimse Profil |
#5 · Zasláno: 31. 3. 2014, 15:03:27
Rozumím,mě to jedno celkem,ale jak na to v praxi,jak to dát do podmínky:
Že pokud stránka z které přišli,je www.neco.cz/index?php=route2 ,tak vykonej tohle.
Prosil,bych nějaký jednoduchý praktický příklad. Děkuji velmi! |
||
aDAm Profil |
#6 · Zasláno: 31. 3. 2014, 15:27:06
if ($_GET['php'] == 'route1') { //...udelej neco, asi prirazeni template ci tak neco } else if ($_GET['php'] == 'route2') { //...udelej neco, asi prirazeni template ci tak neco } |
||
Tori Profil |
#7 · Zasláno: 31. 3. 2014, 15:42:49
snazimse:
„Rozumím,mě to jedno celkem“ No ono to právě jedno neni. Pokud jsou všechny stránky na stejném webu, můžete použít session: // soubor start1.php session_start(); $_SESSION['start'] = "start1"; echo '<a href="./cil.php">cílová stránka</a>'; // soubor start2.php session_start(); $_SESSION['start'] = "start2"; echo '<a href="./cil.php">cílová stránka</a>'; // soubor cil.php session_start(); if (!empty($_SESSION['start'])) { echo 'prisli jste ze stranky '.$_SESSION['start']; } else { echo 'prisli jste odjinud.'; } Ale pokud jsou předchozí stránky jinde (např. chcete rozpoznat, z kterého vyhledávače k vám návštěvník přišel), tak je to méně spolehlivé. Adresa předchozí stránky se dá teoreticky zjistit z $_SERVER['HTTP_REFERER'] , jenže tohle proměnnou nastavuje prohlížeč a v některých prohlížečích se dá změnit.
|
||
snazimse Profil |
Děkuji velmi za řešení,je to na stejném webu,nicméně,problém bude,že to nechci vkládat přímo do těch souborů,je to dejme tomu vymyšlená stránka neexistující.
Jde mi o tom aby se to prostě čistě ten skript zaměřil na to,že www.neco.cz/index?php=route1 přišel odtud a že ho odlišuje,od toho druhého
tím,že je www.neco.cz/index?php=route2 na konci 2.
Prostě něco jako třeba javascript: <a href="javascript:history.back(-1);">Zpět</a> jo,že prostě když na to kliknu,tak jsem zpátky na předchozí stránce z které jsem přišel.A to je právě to,aby to zjistilo prostě,že -1 stránka v paměti,je tohle link:www.neco.cz/index?php=route1 z kterého přišel, a hodit to do if, a pokud je == vykonej tohle.
A jak by se to dalo zjistit z $_SERVER['HTTP_REFERER'] to je nějaký obecná formuláře.
Já jsem předpokládal,že existuje něco jako $_SERVER['Previouspage'] abych z toho mohl vycházet.
Pro každou danou stránku.Aby prostě kontroloval,předchozí stránku a podle toho určoval její obsah. Ale to si asi jen blbě představuji. Děkuji! |
||
Fisir Profil |
#9 · Zasláno: 31. 3. 2014, 17:51:59
Reaguji na snazimse:
Zkusil sis vypsat hodnotu proměnné $_SERVER['HTTP_REFERER'] ? Když bys to udělal, zjistil bys, že je to přesně ta tvá „$_SERVER['Previouspage'] “. Pozor však na to, že ji lze (snadno) podvrhnout a některé prohlížeče ji nemusejí odesílat vůbec.
|
||
snazimse Profil |
#10 · Zasláno: 31. 3. 2014, 18:48:12
Ano ok,vypsalo mi to,to jsem chtěl vědět,já jsem to ještě nepoužíval,takže nevím.
Věřím tomu,že se to dá zneužít. Díky |
||
Časová prodleva: 10 let
|
0