Čtení proměnné session v nette uloženou v javascriptu

Karel Chramosil
Člen | 105
+
0
-

Dobrý den,

potřeboval bych poradit ja číst proměnnou session uloženou v javasctiptu v nette.

<script>
    function ulozImgSession(){
        // Získejte objekt session
        const session = window.sessionStorage;
        // Uložte proměnnou do session
        session.setItem('data', "Karel");
        // Přečtěte proměnnou ze session
        const data = session.getItem('data');
        console.log('data = ' + data)
    }
</script>

nedaří se mne session(‚data‘) přečíst v nette.

    public function ulozObrazekFormSubmitted(Form $form) {
        $this->fldeletetext = false;

        // Uložte proměnnou do proměnné $this->section_data
        $this->section_data = $_SESSION['data'];
        $this->section_data = "pokus";
        $string_output = var_export($this->section_data, true);
        Debugger::dump("section_data = ".$string_output);

        $this->redirect('Home:default', ['id' => $this->id]);

    }

Zkoušel jsem vytvořit session podle návodu se sekcema, ale nedaří se mne přečíst proměnnou uloženou v javascirptu.

Děkuji za nějaký nápad.

Karel Chramosil

nightfish
Člen | 474
+
+3
-

@KarelChramosil window.sessionStorage je úložiště, které existuje jen v rámci prohlížeče. Je dostupné jen Javascriptem. Přes PHP není přímo dostupné. S PHP $_SESSION ani s Nette session nemá nic společného.

Předání sessionStorage do PHP (Nette) by šlo pravděpodobně řešit napsáním Javascriptu, který by data ze sessionStorage přes AJAX poslal do Nette – ale je otázka, jestli by to bylo (nejlepší) řešení tvého problému, protože nevíme, čeho se snažíš dosáhnout.