Autor | Zpráva | ||
---|---|---|---|
Broněk Profil * |
#1 · Zasláno: 27. 7. 2011, 03:44:00
Zdravím,
mám nějaké stránky v php a do index.php úplně na začátek jsem vložil tento kód. <?php session_start(); $_SESSION['cap'] = $_SESSION['cap'] + 1; mrknu do session a mám tam Array ( [cap] => 491 ) stisknu v prohlížeči F5 (reload stránky) a v session mám Array ( [cap] => 503 ) Očekával bych tam spíše hodnotu 492, nebo ne? Je tohle normální? žádné přesměrování tam nemam, tak proč se načítá stránka 12x? Poradí někdo? Díky za pomoc |
||
panther Profil |
#2 · Zasláno: 27. 7. 2011, 06:55:01 · Upravil/a: panther
Broněk:
musíš mít chybu někde jinde, v tomto kousku kódu není. <?php session_start(); $_SESSION['cap'] = isset($_SESSION['cap']) ? $_SESSION['cap'] + 1 : 1; var_dump($_SESSION['cap']); ?> |
||
Broněk Profil * |
#3 · Zasláno: 27. 7. 2011, 11:56:05
Tak to nemůžu vůbec najít, nemá někdo napsanou nějakou funkci, která by uložila třeba do session každou požadovanou adresu do pole a mohl se s ní zde podělit? To by mi asi hodně napovědělo .. Díky
|
||
panther Profil |
#4 · Zasláno: 27. 7. 2011, 11:59:40
Broněk:
nevymýšlej zbytečné (nějaké pole s hodnotami session nepotřebuješ, session je samo o sobě pole), spíš ukaž, co tam konkrétně máš ty. Chybu musíš najít a opravit ve svém kódu, ne se j snažit zamaskovat nebo jí hledat tam, kde není. Mnou uvedený kód v [#2] je funkční, dělá přesně to, co chceš. Teď už chybí jen najít chybu, kde se ti to násobí. To víš jen ty, zatím ses s námi o kód nepodělil. Doporučuji ti odmazávat postupně jednotlivé funkční bloky a zkoumat, jestli se stále přičítá po více než jedné, nebo ne. Tak nejdeš snadno místo, kde k chybě dochází. |
||
Časová prodleva: 13 let
|
0