Autor | Zpráva | ||
---|---|---|---|
Jarko Profil * |
#1 · Zasláno: 20. 3. 2009, 18:24:39
ahoj, mam takovou podminku..
if (empty($_GET['page'])) { ... echo "script 1"; ... } elseif (file_exists($file)) { ... echo "script 2"; ... } else { ... echo "script 3"; ... } do ktere nemuzu zaclenit jeste jednu podminku. Jedna se o to, ze potrebuji vypsat "script 3", a to vzdy kdyz existuje $_SESSION['error']. samostatne to takhle funguje ale chtel bych to dat do jedne a to je snad nemozne if(!empty($_SESSION['error'])){ ... echo "script 3"; ... } diky za pomoc |
||
Majkl578 Profil |
#2 · Zasláno: 20. 3. 2009, 18:28:56
if (empty($_GET['page'])) { ... echo "script 1"; ... } elseif (file_exists($file)) { ... echo "script 2"; ... } elseif (!empty($_SESSION['error'])) { ... echo "script 3"; ... } else { //script 4? } |
||
AM_ Profil |
#3 · Zasláno: 20. 3. 2009, 18:29:36
Jo, ale to musíš vysvětlit, jakou prioritu to má. Předpokládám, že vyšší, než GET požadavek na stránku, takže to musíš dosadit na první místo.
|
||
Majkl578 Profil |
#4 · Zasláno: 20. 3. 2009, 18:30:40
AM_
vzdyt to vysvetlil Jedna se o to, ze potrebuji vypsat "script 3", a to vzdy kdyz existuje $_SESSION['error']. |
||
AM_ Profil |
#5 · Zasláno: 20. 3. 2009, 18:31:24
Majkl578
To asi přesně nebude ono, protože předpokládám, že $_SESSION['error'] se vyplní, když při předchozím načtení došlo k nějaké chybě. A pak by muselo být zároveň splněno, že URL odkazuje na neexistující stránku, což není moc logické. |
||
Majkl578 Profil |
#6 · Zasláno: 20. 3. 2009, 18:33:33
AM_
soude dle toho, ze se ma vypisovat "script 3", ktery je jiz uvedeny v else, jsem dosadil podminku tak, aby se pri splneni vypsalo "script 3" tak, jak je v te oddelene podmince. :) |
||
Jarko Profil * |
#7 · Zasláno: 20. 3. 2009, 18:35:49
ahoj,
pokazde kdyz neexistuje $_GET['page'] vypsat echo "script 1"; pokazde kdyz existuje file_exists($file) a neexistuje $_SESSION['error'] tak vypsat echo "script 2"; diky |
||
Jarko Profil * |
#8 · Zasláno: 20. 3. 2009, 18:36:39
doplneni
jinak vypsat echo "script 3"; |
||
Jarko Profil * |
#9 · Zasláno: 20. 3. 2009, 18:39:11
podle me by tohle melo byt spolu v jednom elseif..
} elseif (file_exists($file) AND (empty($_SESSION['error'])) { ale to prave zlobi.. |
||
Majkl578 Profil |
#10 · Zasláno: 20. 3. 2009, 18:40:03
mas tam o ( vic, pred empty :)
|
||
AM_ Profil |
#11 · Zasláno: 20. 3. 2009, 18:40:32 · Upravil/a: AM_
Aha, musíš "doslova" zapsat do kódu to, co říkáš:
if (empty($_GET['page'])) { ... echo "script 1"; ... } elseif (file_exists($file) && !isset($_SESSION['error'])) { ... echo "script 2"; ... } else { ... echo "script 3"; ... } |
||
Jarko Profil * |
#12 · Zasláno: 20. 3. 2009, 18:46:43
Porad to stejny, proste $_SESSION['error'] existuje ale script 3 se neprovede..
|
||
Majkl578 Profil |
#13 · Zasláno: 20. 3. 2009, 18:48:46
AM_
Jarko protoze je negace pred isset, popr neni negace pred empty |
||
AM_ Profil |
#14 · Zasláno: 20. 3. 2009, 18:50:12
Pokud máš ve skriptu přesně tohle, existuje ti $_SESSION['error'] a provede se "script 2", tak je to zřejmě něco mezi nebem a zemí.
|
||
Jarko Profil * |
#15 · Zasláno: 20. 3. 2009, 18:50:31
jeste je tady vypis jak to vypada
[error] => 1 ale to by melo byt ok |
||
Jarko Profil * |
#16 · Zasláno: 20. 3. 2009, 18:51:20
„AM_“
„Jarko“ „protoze je negace pred isset, popr neni negace pred empty“ no a co s tim? „Pokud máš ve skriptu přesně tohle, existuje ti $_SESSION['error'] a provede se "script 2", tak je to zřejmě něco mezi nebem a zemí.“ ano provadi se porad script 2 |
||
AM_ Profil |
#17 · Zasláno: 20. 3. 2009, 18:53:15
Majkl578
Ta negace je tam naprosto správně, Jarko chce provést script 2, pokud soubor existuje a NEexistuje session error Předpokládám, že pokud není zadán $_GET['page'], chce zobrazit nějakou úvodní stránku (script 1), pokud je zadán a odkazovaný soubor existuje a nedošlo k chybě (doufám, že tam někde správně tvoří proměnnou $file), zobrazí nějakou sekci (script 2), pokud došlo k chybě nebo odkazovaná sekce neexistuje, zobrazí skript 3. Je to tak? |
||
Jarko Profil * |
#18 · Zasláno: 20. 3. 2009, 18:56:18
„Majkl578“
„Ta negace je tam naprosto správně, Jarko chce provést script 2, pokud soubor existuje a NEexistuje session error“ „Předpokládám, že pokud není zadán $_GET['page'], chce zobrazit nějakou úvodní stránku (script 1), pokud je zadán a odkazovaný soubor existuje a nedošlo k chybě (doufám, že tam někde správně tvoří proměnnou $file), zobrazí nějakou sekci (script 2), pokud došlo k chybě nebo odkazovaná sekce neexistuje, zobrazí skript 3. Je to tak?“ je to presne tak.. bez te kontroly session to chodi bez problemu.. i kdyz jsou ty podminky oddelene viz 1 prispevek.. ale spolu to proste nejde.. |
||
AM_ Profil |
#19 · Zasláno: 20. 3. 2009, 19:17:14
Zkus pastnout celý kód, chyba bude jinde.
|
||
Jarko Profil * |
#20 · Zasláno: 20. 3. 2009, 19:31:40
„Zkus pastnout celý kód, chyba bude jinde.“
no ono neni co pastnout :-( vcera jsem to zacal resit a narazil jsem na tento problem, tak ze tohle je jen ve fazi testovani, neni tam nic krome toho co jsem poslal a vypadat to bude jak psal Majkl578 teda pokud se mi to podari.. zadne nacitani souboru tam zatim nemam.. jen ty echa.. |
||
AM_ Profil |
#21 · Zasláno: 20. 3. 2009, 20:51:56
Myslíš jak jsem psal já 18:53?
Chyba musí být opravdu jinde, pokud máš $_SESSION['error'] == 1, nemůže to projít podmínkou !isset($_SESSION['error']). Nebo něco špatně říkáš. |
||
Jarko Profil * |
#22 · Zasláno: 20. 3. 2009, 21:06:51
„Myslíš jak jsem psal já 18:53?“
„Chyba musí být opravdu jinde, pokud máš $_SESSION['error'] == 1, nemůže to projít podmínkou !isset($_SESSION['error']). Nebo něco špatně říkáš.“ Jejda, omlovam se! to jsi psal ty, ne Majkl578.. promin ;) uklepl jsem se.. mam to ted takto, ale vysledek je porad stejny.. fakt nevim, nechapu to.. kdyz existuje promenna page a existuje soubor a session error se nerovna 1 tak se provede script 2 kdyz existuje promenna page a existuje soubor a session error se rovna 1 tak se taky provede script 2 if (empty($_GET['page'])) { echo "script 1"; } elseif (file_exists($file) and ($_SESSION['error']!=1)) { echo "script 2"; } else { echo "script 3"; } |
||
Jarko Profil * |
#23 · Zasláno: 20. 3. 2009, 21:30:22
Nechal bych to i takhle, jelikoz to takhle funguje OK, jenze v tomto pripade se ten "script 3" pak zbytecne zpracovava 2x
if (empty($_GET['page'])) { echo "script 1"; } elseif (file_exists($file)) { echo "script 2"; } else { echo "script 3"; } if(!empty($_SESSION['error'])){ echo "script 3"; } |
||
Jarko Profil * |
#24 · Zasláno: 20. 3. 2009, 21:32:48
oprava uz jsem uplne dopleteny, ne 2x ale script 2 se provede zbytecne kdyz neni potreba, kdyz existuje $_SESSION['error'] tak se ma provest jen script 3..
|
||
AM_ Profil |
#25 · Zasláno: 20. 3. 2009, 23:03:45
a kde třeba plníš proměnnou $file ? Ukaž CELÝ skript.
|
||
Jarko Profil * |
#26 · Zasláno: 20. 3. 2009, 23:19:47
„a kde třeba plníš proměnnou $file ? Ukaž CELÝ skript.“
promenou $file plnim jen testovacim suborem hned nad prvni podminkou.. $file = dirname(__FILE__)."/".$_GET['page'].".php"; if (empty($_GET['page'])) { echo "script 1"; } elseif (file_exists($file)) { echo "script 2"; } else { echo "script 3"; } if(!empty($_SESSION['error'])){ echo "script 3"; } |
||
Jarko Profil * |
#27 · Zasláno: 20. 3. 2009, 23:21:32
a uplne nahore mam jeste
<?php session_start(); $_SESSION['error'] = true; |
||
AM_ Profil |
#28 · Zasláno: 21. 3. 2009, 10:03:11
Pastni úplně celý soubor (s tou variantou, která ti nefunguje, je na nic posílat skript, který funguje).
|
||
fuckin Profil * |
#29 · Zasláno: 22. 3. 2009, 08:39:45
a proc to musi byt vsechno v jedne podmince? Co takhle to rozdelit do samostatnych podminek?
Jinak jak se na to divam tak ten script je v poradku, problem bude jinde... |
||
AM_ Profil |
#30 · Zasláno: 22. 3. 2009, 12:51:46
„a proc to musi byt vsechno v jedne podmince?“
Zřejmě proto, aby si program zachoval požadovanou logiku. Spíš nevidím důvod to dělit na více podmínek. |
||
Časová prodleva: 15 let
|
0