"onClick = \"unsetSelectedValuesFromPreviousPage();\""
Menu jest tworzone po stronie php. Ta metoda w js ma nastepujaca postac:
function unsetSelectedValuesFromPreviousPage(){ $.ajax({ url : 'ajax_unset_value_from_session.php', cache : false, type : "POST", data : { unsetSelectedValues : 'true' } }); }
Jej zadaniem jest wyczyszczenie tego co bylo w sesji w poprzedniej stronie. (Nie moge czyscic sesji za kazdym razem gdy wyswietlam str, poniewaz jak bede odswiezac albo submitem wykonywac akcje na tej samej str - to bede tracic rzeczy z sesji. A sa one mi potrzebne "per strona"). Czyszczenie sesji ma sie odbywac na zmiane zakladki (strony). Ok, w skrypcie ajax_unset.. mam tak:
<?php if ($_POST['unsetSelectedValues'] == 'true') { $_SESSION['field_1'] = ''; $_SESSION['field_2'] = ''; $_SESSION['field_3'] = ''; $_SESSION['field_4'] = ''; } ?>
I teraz to co najgorsze - to sie raz wykonuje, a raz nie! Tzn przy wejsciu na zakladke nowa wypisuje sobie var_dump te wartosci ($_SESSION['field_1'], $_SESSION['field_2']..) i raz sa '' czyli tak jak powinno byc, a raz na pare razy zawieraja poprzednie wartosci! Wiem ze to wrozenie z fusow, ale totalnie nie przychodzi mi do glowy co ja moge miec zle. Robie session_start bo tego wymaga to by to zadzialalo, myslalam ze moze tworzy sie przez to jaka druga sesja i no jakos nie zawsze wspolgra z ta 1sza. Probowalam niszczyc sesje na koncu skryptu ajax_unset.. ale wtedy mnie wylogowywuje.. Czy ktos z Was ma moze jakis pomysl?
pzdr,
misty