Nevite nekdo cim by mohlo byt to ze se mi nepredavaji promenne z formulare nejakemu skriptu?
Neni chyba nekde v nastaveni apache? nebo v nastaveni php.ini?
dik
ahoj , tusim sme mali podobny problem , premnenne v novsich php sa nepredavaju ako v starsich verziach ale troska inak.pozri si to na stranke www.php.net , da sa to zapnut aby sa to spravalo ako v starych.neviem ale ci sa to ale odporuca:(
Co je to za verzi PHP?
Jestliže používáte sessions, liší se přístup k sessions proměnným u verzí 4.0.x a >=4.1.x. V prvním případě vám proměnna z formuláře nepřepíše obsah proměnné ze session stejného jména (v závislosti na nastavení variables_order) Ovšem nejdříve se mrkněte, máte-li verzi nižší, než 4.0.3, zdali máte enable_track_vars On, v novějších verzích je tato volba trvale zapnuta.
Máte volbu register_globals = On?
Tohle je jenom plácání naslepo, popište problém podrobněji.
Problem bude urcite v register_global = Off
pozri sa do php.ini a pokial tam najdes Off, tak to prepis na on.
restartni Apache a uz to pojde.
Ale inak k premennym sa dostanes aj pri vypnutom register_globals a to takto:
1. $_POST["menopremennejbezdolara"] (ked je to GET tak pouzijes $_GET[])
2. $HTTP_POST_VARS["nazovpremennejbezdolara"] (pri GET pouzijes $HTTP_GET_VARS[])
Já bych dokonce tu radu formuloval spíš: nech register_globals vypnuté a nauč se používat $_GET a $_POST. injekce globálních php proměnných pomocí GET/POST je častý zdroj děr a chyb.
Suhlasim s tebou, ale nechcelo sa mi brutalne rozpisovat. Kazdopadne v dokumentacii je tato VELMI uzitocna rada podchytena. A na Zend.com je aj celko pekny clanok o secure programovani v PHP.