Stránka: 1 z 1
| [ Príspevkov: 10 ] | |
Autor | Správa |
---|
Registrovaný: 09.07.08 Prihlásený: 17.01.15 Príspevky: 1585 Témy: 96 | 96 |
Zdravím po nejakej dobe...
Taký problém sa mi vyskytol. Sú dva súbory: subor1.php a subor2.php. V jednotke je form s action smerujúcim na subor2. Na začiatku subor1 si nastavujem $_SESSION na náhodnú hodnotu, napríklad podľa aktuálneho microtime(). Problém spočíva v tom, že pri odoslaní sa tá hodnota zmení tak, ako keby sa znova vykonal kód $_SESSION['blablabla']=microtime().
Čím to je? Čo robím zle? Je to tou hmlou, čo je vonku, že sa mi presunula pred oči?
subor1 Kód: if(!session_id()){session_start();} $_SESSION['hodnota']=microtime(); echo $_SESSION['hodnota']; vráti napr. 0.24644000 1223928876 subor2 Kód: if(!session_id()){session_start();} echo $_SESSION['hodnota'];
vráti napr. 0.49655800 1223929749
|
|
Registrovaný: 02.09.08 Prihlásený: 23.01.13 Príspevky: 81 Témy: 17 | 17 |
neviem, ci je chyba v tom, ale kazdy skript vyuzivajuci session ma zacinat takto:
Kód: session_start();
tvoje zacinaju s if...
if(!session_id()... odstran
|
|
Registrovaný: 24.01.08 Prihlásený: 13.09.17 Príspevky: 14572 Témy: 66 | 66 Bydlisko: Žilina |
rooobertek
načo tam máš tie ify ? veď pokiaľ nie je vytvorená session, tak on pri príkaze session_start() vytvorí novú.. aký zmysel má teda testovanie ? ono pokiaľ vytvoríš v súbore1 session, v druhom súbore tá podmienka už neprebehne a to je chyba.. v každom súbore, v ktorom chceš používať session, musíš mať hneď na začiatku session_start() aby pokračoval tam kde skončil na predchádzajúcej stránke odkiaľ došiel
_________________ C#, PHP, ... |
|
Registrovaný: 09.07.08 Prihlásený: 17.01.15 Príspevky: 1585 Témy: 96 | 96 |
Problém spočíva v tom, že keď máš session autostart či jak sa tomu hovorí, tak ti to vyhodí chybu (ja bežím pod E_ALL|E_STRICT, samozrejme nie na verejnom serveri). Sa mi to osvedčilo, tak to aj používam.
S tým nie sú žiadne problémy. A tá podmienka prebehne v obidvoch súboroch, pretože nejde o includovanie. Problém sa nachádza niekde úplne inde.
ten spôsob je dosť používaný:
http://www.google.com/codesearch?q=if+session_id+session_start&hl=en&btnG=Search+Code
_________________ neříkejte, že něco nejde udělat, protože se vždycky najde nějaký blbec, co neví, že to nejde – a udělá to! |
|
Registrovaný: 27.07.07 Príspevky: 3948 Témy: 51 | 51 Bydlisko: Bratislava |
mne ten tvoj kod funguje ako ma
_________________ NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE |
|
Registrovaný: 09.07.08 Prihlásený: 17.01.15 Príspevky: 1585 Témy: 96 | 96 |
môže to byť verziou php alebo apache alebo čo?
_________________ neříkejte, že něco nejde udělat, protože se vždycky najde nějaký blbec, co neví, že to nejde – a udělá to! |
|
Registrovaný: 27.07.07 Príspevky: 3948 Témy: 51 | 51 Bydlisko: Bratislava |
s takymto problemom som sa este nestretol, tak ti neviem s urcitostou povedat, cim to moze byt... ale nezda sa mi, ze by to ovplyvnovala verzia php alebo apache... skus si vypnut direktivu session.auto_start (ak ju mas zapnutu) a tak skusit ten kod...
_________________ NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE |
|
Registrovaný: 09.07.08 Prihlásený: 17.01.15 Príspevky: 1585 Témy: 96 | 96 |
nemám to zapnuté, tým to určite nie je. Ono sa to chová ako keby som nenastavil napevno premennú, ale priradil funkciu, ktorá sa pokaždé vykoná, jak prejdem na inú stránku alebo čo... Aj tak som si istý, že nakoniec zistím, že chyba je na stoličke, nie v compe.
_________________ neříkejte, že něco nejde udělat, protože se vždycky najde nějaký blbec, co neví, že to nejde – a udělá to! |
|
Registrovaný: 27.07.07 Príspevky: 3948 Témy: 51 | 51 Bydlisko: Bratislava |
je to mozne lebo ja som len skopcil ten kod, co si sem dal a slo to bez problemov... aj s formularom, aj bez...
_________________ NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE |
|
Registrovaný: 09.07.08 Prihlásený: 17.01.15 Príspevky: 1585 Témy: 96 | 96 |
Takže problém vyriešený.
Určite poznáte googlovský skript http://www.google-analytics.com/urchin.js . Potom si nastavíte _uacct na svoju hodnotu a vykonáte funkciu urchinTracker().
Problém je v tom, že pracujem offline (na notebooku zatial nemám net) a tým pádom sa mi nenačíta ten googlácky súbor so skriptom. Keďže sa mi nenačíta googlácky skript, neexistuje funkcia urchinTracker().
Tu zohral úlohu FireBug, ktorý keď zistil, že nastala chyba - neexistujúca funkcia - asi sa snažil načítať stránku znova, či sa neudeje zmena. Tým pádom sa regenerovala tá session premenná, ale ja som videl stále len starú hodnotu premennej.
Takže problém bol skutočne na stoličke, ale tentokrát pre zmenu nie celkom moja blbosť, ale skôr neskúsenosť.
_________________ neříkejte, že něco nejde udělat, protože se vždycky najde nějaký blbec, co neví, že to nejde – a udělá to! |
|
Stránka: 1 z 1
| [ Príspevkov: 10 ] | |
Podobné témy | Témy | Odpovede | Zobrazenia | Posledný príspevok |
---|
| [ Choď na stránku: 1, 2 ] v PHP, ASP | 32 | 1654 | 14.06.2009 18:23 sedlák | | v PHP, ASP | 16 | 1163 | 02.06.2008 14:20 Tominator | | v PHP, ASP | 17 | 732 | 18.02.2008 15:38 Blackshadow | | v PHP, ASP | 3 | 477 | 08.12.2009 21:32 pilná lama glama | | v PHP, ASP | 10 | 524 | 20.10.2010 10:07 davider137 | | v PHP, ASP | 14 | 1472 | 21.11.2007 15:07 Blackshadow | | v PHP, ASP | 26 | 950 | 29.01.2010 19:34 M1rcO_o | | v PHP, ASP | 10 | 448 | 01.12.2011 12:34 Bajzik | | v PHP, ASP | 2 | 449 | 10.01.2009 13:02 blackman545 | | v PHP, ASP | 0 | 342 | 20.03.2010 18:21 M1rcO_o | | v PHP, ASP | 7 | 530 | 26.08.2011 11:49 kruzin99 | | v Databázy | 19 | 2696 | 09.05.2008 19:34 capricorn7 | | v PHP, ASP | 11 | 1078 | 27.03.2008 10:39 neopagan | | v PHP, ASP | 2 | 548 | 30.03.2009 19:02 martin90 | | [ Choď na stránku: 1, 2 ] v Operačné systémy Microsoft | 54 | 1671 | 23.08.2006 23:12 Shit | | v Novinky | 11 | 540 | 13.06.2012 17:13 Fry |
|