使用JavaScript将localStorage-var从浏览器中获取到PHP-var中

时间:2019-05-16 09:26:14

标签: javascript php local-storage

我有一个PHP脚本,我想在其中使用localStorage变量(“语言”),该变量在加载脚本时已在浏览器中设置。 我已经尝试存储它,但是在我的PHP变量中,即使我在网站上选择了将localstorage变量设置为例如的另一种语言,也仅存储了“ null”值。 “ 2”(我在浏览器中检查过)。

我已经尝试使用inval函数将PHP变量转换为整数,但这无济于事。 我知道我必须使用POST或GET方法将变量从客户端发送到服务器,但是我不知道如何。

<?php
$Sprache = "<script>document.write(localStorage.getItem('language'))</script>";

echo "$Sprache<br>";
if($Sprache == 2)
{
    echo "localStorage -> 2";   //german
    $language = 1;
}
elseif($Sprache == 1)
{
    echo "localStorage -> 1";   //english
    $language = 0;
}
elseif($Sprache == 0)
{
    echo "localStorage -> 0";   //default
    $language = 1;
}
?>

在另一个网站上使用的languageHandler.js文件如下所示:

function languageHandler() {
this.actLanguage = storageHandler.getItem('language') || 0;//Wenn die 
Variable 'language' im LocalStorage undefined ist, wird der lokalen 
Variablen this.actlanguage der Deafult-Wert 0 übergeben 
storageHandler.setItem('language', this.actLanguage );//Der Default-Wert 
wird anschließend in den Local Storage ('language') geschrieben. 
}

languageHandler.prototype.setActLanguage = function(lang) {
    this.actLanguage = lang;
    storageHandler.setItem('language', lang);
};

languageHandler.prototype.getActLanguage = function() {
    return this.actLanguage;
};

languageHandler.prototype.initLanguages = function() {
    jQuery.each(config.languages, function(index, language) {
        jQuery('#languages').append('<span     onclick="languageHandler.switchLanguage(\'' + language.id + '\');"><img     lang="' + language.id + '" src="' + language.flag + '"></span>');
    });

    jQuery('#languages img[lang="' + this.actLanguage +     '"]').addClass('active');

    storageHandler.setItem('language', this.actLanguage);

//    this.sendLanguageToWs();
};

languageHandler.prototype.switchLanguage = function(lang) {
    this.setActLanguage(lang);

    jQuery('#languages img').removeClass('active');
    jQuery('#languages img[lang="' + lang + '"]').addClass('active');

    alpacaFormsHandler.refreshAllAlpacaForms();

//    this.sendLanguageToWs();
};

languageHandler.prototype.sendLanguageToWs = function() {
    wsHandler.sendToWs({
        type: 'setLanguage',
        data: this.actLanguage
    });
};

这是我的输出:

localStorage-> 0

我认为我的连接是问题。

0 个答案:

没有答案