Przeglądarki mobilne nie obsługują zmiennych sesji?
Mam przeglądarkową wersję mojej aplikacji internetowej i mam pewne wartości zapisane w plikach cookie. Teraz tworzę wersję mobilną i wydaje się, że moje pliki cookie nie działają. Czy można korzystać z plików cookie na urządzeniach mobilnych?
Próbuję wykonać ten kod i mój php podaje mi pustą wartość:
$(document).ready(function() {
var session_lang= '<?php if(isset($_SESSION['SESS_LANGUAGE']))
echo $_SESSION['SESS_LANGUAGE'];?>';
if (session_lang!='')
{
check_and_change(session_lang);
}
});
Czy istnieje inny sposób przechowywania danych w pamięci wewnętrznej, aby mógł działać jako plik cookie? Czy urządzenia mobilne obsługują zmienne sesji? Patrzę na firebug i widzę, że mogę utworzyć zmienną sesji, ale gdy chcę ją przeczytać, jest ona zerowa. Co może być problemem i jak go rozwiązać?
EDYCJA: Umieszczę ci prawie cały kod, żebyś mógł zobaczyć, co robię ... btw. ten kod działa normalnie w przeglądarce PC.
Plik JavaScript:
$(document).ready(function() {
function languageChange()
{
var lang = $('#websites1 option:selected').val();
return lang;
}
$('#websites1').change(function(e) {
var lang = languageChange();
var dataString = 'lang=' + lang;
$.ajax({
type: "POST",
url: "pass_value.php",
data: dataString,
dataType: 'json',
cache: false,
success: function(response) {
check_and_change(response.message);
}
});
return false;
});
} );
function check_and_change(lang)
{
switch (lang)
{ //do something
}
}
Następnie ta pierwsza część, którą umieściłem powyżej, znajduje się na właściwej stronie php, którą szukam i która się otwiera:
Ostatnią rzeczą jest pass_value.php:
<?php
session_start();
$_SESSION['SESS_LANGUAGE'] = $_POST['lang'];
print json_encode(array('message' => $_SESSION['SESS_LANGUAGE']));
die();
?>
Naprawdę nie wiem, dlaczego ten kod nie działa w telefonach komórkowych.