Obsah fóra
PravidláRegistrovaťPrihlásenie




Odpovedať na tému [ Príspevkov: 16 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 21.06.09
Prihlásený: 28.05.11
Príspevky: 179
Témy: 41
Príspevok NapísalOffline : 23.01.2011 11:38

Ahojte chcel by som sa Vas opytat ci sa daju ziskat nejakou jednoduchou cestou vsetky premenne $_SERVER, $GLOBALS, $_COOKIE... v jednom array aj s pomenovanim. Alebo si to musim vytvorit sam.

Predstavoval by som si to tak ako je to vytvorene pri chybe.Vo vlastnom error_handler sa da nastavit piaty nepovynny parameter error_context, ktory vypise vsetky premenne z casu kedy doslo k chybe.

Takze to vyzera takto:

Kód:
Array
(
    [GLOBALS] => Array
 *RECURSION*
    [_POST] => Array
        (
        )

    [HTTP_POST_VARS] => Array
        (
        )

    [_GET] => Array
        (
        )

    [HTTP_GET_VARS] => Array
        (
        )

    [_COOKIE] => Array
        (
            [PHPSESSID] => rc07bh88ld8jt0po4go7vng606
            [__utmc] => 96992031
        )

    [HTTP_COOKIE_VARS] => Array
        (
            [PHPSESSID] => rc07bh88ld8jt0po4go7vng606
            [__utmc] => 96992031
        )

    [_SERVER] => Array
        (
           _SERVER
                (
                )

            [argc] => 0
        )

    [HTTP_SERVER_VARS] => Array
        (
           HTTP_SERVER_VARS
                (
                )

            [argc] => 0
        )

    [_ENV] => Array
        (
        )

    [HTTP_ENV_VARS] => Array
        (
        )

    [_FILES] => Array
        (
        )

    [HTTP_POST_FILES] => Array
        (
        )

    [_REQUEST] => Array
        (
        )

)


Offline

Čestný člen
Čestný člen
ako ziskat vsetky premenne

Registrovaný: 11.08.07
Príspevky: 4088
Témy: 34
Bydlisko: Brno
Príspevok NapísalOffline : 23.01.2011 11:41

http://sk2.php.net/get_defined_vars
Ale ukazat navstevnikovi vsetky zadefinovane premenne moze byt velke bezpecnostne riziko. Odporucam pouzivat na debugovanie a potom odstranit.


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 21.06.09
Prihlásený: 28.05.11
Príspevky: 179
Témy: 41
Príspevok Napísal autor témyOffline : 23.01.2011 11:45

potrebujem to len pre svoju osobnu potrebu keby doslo k nejakej neocakavanej chybe, aby som vedel lepsie analyzovat :D

Inak teraz som skusal
Kód:
print_r ($GLOBALS);
a taktiez mi to fungovalo :?


Offline

Čestný člen
Čestný člen
ako ziskat vsetky premenne

Registrovaný: 11.08.07
Príspevky: 4088
Témy: 34
Bydlisko: Brno
Príspevok NapísalOffline : 23.01.2011 11:52

Jasne. Rozdiel je v tom, ze get_defined_vars() vracia premenne z aktualneho scope.
Kód:
$a = 1;
function f()
{
   $b = 1;
   print_r($GLOBALS);
}
f();
V tomto kode sa ti vo vypise neobjavi nic o premennej $b. Keby si miesto $GLOBALS pouzil get_defined_vars(), zasa sa nic nedozvies o $a.


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 21.06.09
Prihlásený: 28.05.11
Príspevky: 179
Témy: 41
Príspevok Napísal autor témyOffline : 23.01.2011 12:01

A existuje nejaky kompromis? :D Alebo pouzit naraz $GLOBALS aj get_defined_vars()? :oops:


Offline

Užívateľ
Užívateľ
ako ziskat vsetky premenne

Registrovaný: 26.12.06
Prihlásený: 16.11.19
Príspevky: 3971
Témy: 181
Bydlisko: Nitra / Bra...
Príspevok NapísalOffline : 23.01.2011 12:01

Kód:
array_merge($GLOBALS, get_defined_vars())


ale to ti nevrati premenne pouzivane vo funkciach, ak to volas mimo funkcie.. ako duri pisal







_________________
Sorry za prelkepy
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 21.06.09
Prihlásený: 28.05.11
Príspevky: 179
Témy: 41
Príspevok Napísal autor témyOffline : 23.01.2011 12:06

Tak sa ai budem musiet zmierit s tym ze nebudem vediet o vsetkom :D A ten piaty parameter v hlaseni chyb je tiez asi len $GLOBALS :oops:


Offline

Užívateľ
Užívateľ
ako ziskat vsetky premenne

Registrovaný: 26.11.06
Prihlásený: 22.01.24
Príspevky: 4118
Témy: 319
Bydlisko: HE/BA
Príspevok NapísalOffline : 23.01.2011 12:56

Nepotrebuješ vedieť premenné zo všetkých fcií. Premenné vo fciach máš len na ich internú potrebu. Ak zistíš že ti nejde skript kvôli nejakej chybe vo fcií tak si dáš vypísať len premenné tejto fcie počas jej behu.

Inak, toto som sa chcel viackrát spýtať aj ja len som sa na to stále vykašľal, dík, že si to spravil za mňa :D


Offline

Užívateľ
Užívateľ
ako ziskat vsetky premenne

Registrovaný: 26.12.06
Prihlásený: 16.11.19
Príspevky: 3971
Témy: 181
Bydlisko: Nitra / Bra...
Príspevok NapísalOffline : 23.01.2011 13:13

btw, mozno ti aj toto pomoze

http://php.net/manual/en/function.debug-backtrace.php







_________________
Sorry za prelkepy
Offline

Užívateľ
Užívateľ
ako ziskat vsetky premenne

Registrovaný: 03.01.11
Prihlásený: 21.02.11
Príspevky: 54
Témy: 1
Príspevok NapísalOffline : 24.01.2011 15:26

php30 píše:
A existuje nejaky kompromis? :D Alebo pouzit naraz $GLOBALS aj get_defined_vars()? :oops:
a aku hodnotu by v tvojom kompromise mala premenna $a z mojho prikladu?
Kód:
$a = 1;
function foobar{
    $a = 2;
    //sem pride zavolanie tvojho "kompromisu"
}
foobar();


Offline

Užívateľ
Užívateľ
ako ziskat vsetky premenne

Registrovaný: 26.12.06
Prihlásený: 16.11.19
Príspevky: 3971
Témy: 181
Bydlisko: Nitra / Bra...
Príspevok NapísalOffline : 24.01.2011 15:44

prohibit, 2?







_________________
Sorry za prelkepy
Offline

Užívateľ
Užívateľ
ako ziskat vsetky premenne

Registrovaný: 03.01.11
Prihlásený: 21.02.11
Príspevky: 54
Témy: 1
Príspevok NapísalOffline : 24.01.2011 15:59

na tu svoju otazku som necakal odpoved, skor ta mala nasmerovat k uvaham preco nic take nie je. Ale tak odpoviem ti ked sa uz pytas. Nie, nenapise 2 a ani 1. Ono totiz nic take ako "kompromis" nie je, lebo neexistuje kompromis medzi dvoma vecami ktore sa rovnako volaju. Na zaklade coho by ich vybralo? Keby taka funkcia ako si si ju vysnival existovala, musela by pouzivat strukturovane pole a vypisovat aj globalne, aj lokalne premenne. Potom by tu premennu vypisalo dvakrat pre oba jej vyskyty a obe hodnoty. Tym padom by to bola funkcia ktora robi to iste co ti bolo napisane, a sice get_defined_vars()


Offline

Užívateľ
Užívateľ
ako ziskat vsetky premenne

Registrovaný: 26.12.06
Prihlásený: 16.11.19
Príspevky: 3971
Témy: 181
Bydlisko: Nitra / Bra...
Príspevok NapísalOffline : 24.01.2011 16:07

no ver tomu, ze

Kód:
array_merge($GLOBALS, get_defined_vars())


by 2 vypisalo. preco by si taky kompromis spravit nemohol? kludne mozes, zistis, ktore prvky sa nachadzaju tam aj tam, pridas prefix a hotovo.. nevidim v tom problem.







_________________
Sorry za prelkepy
Offline

Užívateľ
Užívateľ
ako ziskat vsetky premenne

Registrovaný: 03.01.11
Prihlásený: 21.02.11
Príspevky: 54
Témy: 1
Príspevok NapísalOffline : 24.01.2011 16:27

emer píše:
no ver tomu, ze

Kód:
array_merge($GLOBALS, get_defined_vars())


by 2 vypisalo. preco by si taky kompromis spravit nemohol? kludne mozes, zistis, ktore prvky sa nachadzaju tam aj tam, pridas prefix a hotovo.. nevidim v tom problem.
pretoze v mojom priklade to neboli dve hodnoty tej istej premennej, ale dve rozne premenne co sa rovnako volali ale existovali v jednom momente obe naraz (len v inych registroch). Tebe vsak vypisalo iba jednu, prave kvoli rovnakemu nazvu


Offline

Čestný člen
Čestný člen
ako ziskat vsetky premenne

Registrovaný: 11.08.07
Príspevky: 4088
Témy: 34
Bydlisko: Brno
Príspevok NapísalOffline : 24.01.2011 16:32

emer píše:
no ver tomu, ze

Kód:
array_merge($GLOBALS, get_defined_vars())


by 2 vypisalo. preco by si taky kompromis spravit nemohol? kludne mozes, zistis, ktore prvky sa nachadzaju tam aj tam, pridas prefix a hotovo.. nevidim v tom problem.
Prehod argumenty a vypise 1.


Offline

Užívateľ
Užívateľ
ako ziskat vsetky premenne

Registrovaný: 26.12.06
Prihlásený: 16.11.19
Príspevky: 3971
Témy: 181
Bydlisko: Nitra / Bra...
Príspevok NapísalOffline : 24.01.2011 16:59

Ďuri píše:
Prehod argumenty a vypise 1.

ja viem, som to pisal kvoli tomu, ze ako sa moj kompromis zachova

prohibit píše:
pretoze v mojom priklade to neboli dve hodnoty tej istej premennej, ale dve rozne premenne co sa rovnako volali ale existovali v jednom momente obe naraz (len v inych registroch). Tebe vsak vypisalo iba jednu, prave kvoli rovnakemu nazvu

no ved preto si tam pridas prefixy a mas aj jednu aj druhu, hoc sa rovnako volaju







_________________
Sorry za prelkepy
Odpovedať na tému [ Príspevkov: 16 ] 


Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy. Ako ziskat certifikaty

v Internetový marketing, SEO, reklama

0

698

16.01.2011 14:08

beks Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Ako získať IP

v Sieťové a internetové programy

4

859

22.08.2010 12:02

Mego Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Ako ziskat data spat

v Operačné systémy Microsoft

3

683

26.04.2008 17:51

Tonyc Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Ako získat kontakt na majitela domény

v Domény

3

787

14.03.2023 8:20

shiro Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Ako získať dáta z poškodeného HDD

v Pevné disky a radiče

4

5749

24.02.2013 11:03

michalesku Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Ako získať zdrojový kód vzdialeného súboru

v PHP, ASP

8

926

04.11.2011 17:03

camo Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Ako získať data z nefunkćného HDD?

v Pevné disky a radiče

7

1084

26.09.2015 21:14

tatko Tom Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. ako ziskat kod videa na stranku

v HTML, XHTML, XML, CSS

6

1302

24.07.2009 23:12

wotan Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Ako získať identifikátor SK-NIC po novom

v Domény

1

740

31.08.2019 11:51

JanoF Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Youtube- ako ziskať veľa videní za krátky čas

v Služby a webstránky

9

676

07.01.2015 23:09

ac.milan Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Ako zapnut vsetky funkcie

v Ovládače

0

620

02.10.2008 13:00

jot Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Označiť všetky témy ako prečítané

v Správy pre vedenie fóra

4

1065

21.10.2007 10:41

Baracuda Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. vie niekto ako ziskat suradnice pinov z "google maps widgetu"?

v JavaScript, VBScript, Ajax

5

556

17.01.2015 4:37

Vlad Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Ako sprístupniť všetky funkcie Adb va2111

v Siete

1

754

17.11.2018 21:13

patro16 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Internet explorer ako vymazat uplne vsetky udaje ???

v Sieťové a internetové programy

11

3430

31.12.2008 12:41

uniqat Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Ako dostat vsetky linky z danej stranky ?

v PHP, ASP

1

576

03.12.2011 17:31

BX Zobrazenie posledných príspevkov


Nemôžete zakladať nové témy v tomto fóre
Nemôžete odpovedať na témy v tomto fóre
Nemôžete upravovať svoje príspevky v tomto fóre
Nemôžete mazať svoje príspevky v tomto fóre

Skočiť na:  

Powered by phpBB Jarvis © 2005 - 2024 PCforum, webhosting by WebSupport, secured by GeoTrust, edited by JanoF
Ako väčšina webových stránok aj my používame cookies. Zotrvaním na webovej stránke súhlasíte, že ich môžeme používať.
Všeobecné podmienky, spracovanie osobných údajov a pravidlá fóra