| 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: 12 let
|
|||
0