Autor | Zpráva | ||
---|---|---|---|
TomasJ Profil |
#1 · Zasláno: 21. 4. 2010, 17:46:20
Dobrý den.
Všiml jsem si, že zde již několik lidí má problémy s Endorou a její správnou funkcí PHP... Mám taky jeden takový problém. Jakmile nastavím nějakou proměnnou pomocí adresy (/index.php?c=2), tak mi dokument píše že obsah je 0, i když normálně nastavím proměnnou. Proměnná jako by měla hodnotu 0. Na IC mi to běží úplně nádherně, ale Endora toto odmítá. Nevíte čím to může být? |
||
mckay Profil |
#2 · Zasláno: 21. 4. 2010, 17:51:41
TomasJ:
Ukažte kód. |
||
TomasJ Profil |
#3 · Zasláno: 21. 4. 2010, 18:07:25 · Upravil/a: TomasJ
odkaz je třeba www.neco.cz/index.php?c=2
PHP kód (jen to s čím je problém): include('soubor.php'); $val = $a[$c]; echo $val; Obsah souboru soubor.php: $a = Array("a","b","c"); Toto úplně stačí na to, aby šlo poznat o co mi jde. Tento kód na Endoře nevypsal nic, na IC vypsal "c". edit: Problém v includování nebude, protože při echo $a[2]; se i na Endoře vypsalo "c" |
||
mckay Profil |
#4 · Zasláno: 21. 4. 2010, 18:14:41
TomasJ:
include('soubor.php'); $val = $a[$_GET["c"]]; echo $val; Myslím, že by tam nemělo být jen $c ale přímo to z $_GET. |
||
Chamurappi Profil |
#5 · Zasláno: 21. 4. 2010, 18:16:02
Reaguji na TomaseJ:
Problém se netýká hostingu, ale PHP, přesunu tě do patřičné kategorie. V ní bys ho našel ve FAQ. |
||
TomasJ Profil |
#6 · Zasláno: 21. 4. 2010, 18:17:30
Reaguji na Chamurappiho:
No právě nejsem si jistý zda se ten problém týká PHP... |
||
mckay Profil |
#7 · Zasláno: 21. 4. 2010, 18:22:17
TomasJ:
Ano týká. Řešení jsem ti ukázal... (alespoň v to pevně doufám). |
||
TomasJ Profil |
#8 · Zasláno: 21. 4. 2010, 18:32:34
Reaguji na mckaye:
Ó děkuji, funguje to, nevěděl jsem že se má použít $_GET když dávám proměnnou přes odkaz. Akorát mám menší problém ještě a to s headerem: $setmin = 1; $setmax= 5; $page= "http://".$_SERVER["HTTP_HOST"]."/index.php"; if($c<$setmin){header('Location:'.$page.'?c='.$setmin);} if($c>$setmax){header('Location:'.$page.'?c='.$setmax);} Na Endoře se mi ukáže "Smyčka při přesměrování" jakože se do nekonečna přesměrovává. Na IC tyto problémy s absolutně stejným kódem nemám. |
||
mckay Profil |
#9 · Zasláno: 21. 4. 2010, 18:53:13
TomasJ:
Odesíláš prohlížeč na stejnou url jako je ta, ze které odesíláš - a k tomu je to ještě nějak prapodivně napsané, takže nepobírám pravý význam toho skriptu. Přibliž, k čemu to má být a třeba se bude ostatním i mně lépe pomáhat. |
||
TomasJ Profil |
#10 · Zasláno: 21. 4. 2010, 20:08:26
Reaguji na mckaye:
No tak script je v podstatě na hudbu, ale je obsáhlejší a s jinými proměnnými... viz.: www.free-mp3.own.cz - nekomentovat design... ty headery tam jsou proto, když uživatel zadá na té stránce manuálně do adresy proměnnou větší než je $setmax, tak se proměnná nastaví (přesměruje) na $setmax. V případě že je menší tak na $setmin. |
||
mckay Profil |
#11 · Zasláno: 21. 4. 2010, 21:14:52
TomasJ:
To by se dalo evidentně řešit i elegantněji :). Zamysli se nad tím, jak to děláš teď a jak by to šlo snadněji a třeba přijdeš na jednodušší metody ;-). |
||
TomasJ Profil |
#12 · Zasláno: 21. 4. 2010, 21:28:22
Reaguji na mckaye:
„třeba přijdeš na jednodušší metody“ Poradíš mi prosím jaké? Nenapadá mě právě jiná a potřebuji to tak, aby bylo možné ten odkaz zkopírovat a pak na něj později přejít a spustit tak přímo tu písničku, která je v adrese. (tak dlouhé souvětí jsem ještě neudělal :D ) Jednoduše řečeno, možnost, absolutně odkazovat na danou skladbu. |
||
mckay Profil |
#13 · Zasláno: 21. 4. 2010, 21:41:34
TomasJ:
Třeba tak, že si podmínkou otestuješ, jestli je $_GET["c"] větší než $setmax, pokud ano, $_GET["c"] = $setmax; a máš vystaráno, adresu nemusíš měnit ... Tímhle způsobem uvažuj nad celým skriptem. |
||
TomasJ Profil |
#14 · Zasláno: 21. 4. 2010, 22:03:05 · Upravil/a: TomasJ
Reaguji na mckaye:
No zkoušel jsem to tak jak jsi psal a výsledek byl takový, že to prostě nenačetlo odkaz hudby a ani nezjistilo velikost. Po kliknutí na "Další" se načetla teprve první skladba. EDIT: Čím to tedy je? Je to hostingem, že to neustále přesměrovává, když na IC to běží v poho? |
||
endora Profil |
#15 · Zasláno: 22. 4. 2010, 15:38:11
a neni to tim ze zde
if($c<$setmin) nepouzivate ten GET? :) jinak se to jmenuje register_globals a je dlouhodobe doporuceno je nepouzivat |
||
TomasJ Profil |
#16 · Zasláno: 22. 4. 2010, 16:00:49 · Upravil/a: TomasJ
Reaguji na endoru:
Tuto funkci (register_globals) jsem nepoužíval, to až od té doby, co mi to poradil mckay. Ovšem přesměrovávalo se to předtím bez register_globals i teď. |
||
endora Profil |
#17 · Zasláno: 22. 4. 2010, 17:05:49
chapete to ale obracene - pouziti register_globals znamena ten vas puvodni zapis.
Myslel jsem tim ze musite pracovat s promennou ve stylu if($_GET_['c]'<$setmin) a funkci register globals si muzete zapnout pres htaccess ... |
||
TomasJ Profil |
#18 · Zasláno: 24. 4. 2010, 19:13:26
Reaguji na endoru:
No ale já to používal s $_GET['c'] a dělalo to úplně to samé jako když jsem použil $c |
||
Časová prodleva: 5 měsíců
|
|||
marek094 Profil |
#19 · Zasláno: 22. 9. 2010, 15:49:50
endora:
„if($_GET_['c]'<$setmin)“ Tohle nomůže fungovat... ['c]' apíš takhle ['c'] |
||
Časová prodleva: 14 let
|
0