NOVINKA - Online rekvalifikační kurz Java programátor. Oblíbená a studenty ověřená rekvalifikace - nyní i online.
NOVINKA – Víkendový online kurz Software tester, který tě posune dál. Zjisti, jak na to!

Diskuze: pomalé zapsání session

V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.

Aktivity
Avatar
Mario Brunmayr:10.5.2017 1:49

Ahoj, mám tento kod.

$_SESSION['uzivatel'] = $uzivatel;
header("Location: http://www.spokus.9e.cz/");

Kod funguje ale přesměrování se mi provede dříve než se zapíše hodnota do session a díky tomu se špatně načte přesměrovaná stránka, protože hodnota session je prázdná a stránku musim ručně refreshnout.

Předem děkuji za pomoc.

 
Odpovědět
10.5.2017 1:49
Avatar
Mario Brunmayr:10.5.2017 1:56

Dodávám že když mezi session a header vložim

sleep(2);

tak se stránka vykreslí správně ale myslim si že toto řešení spíše jen obchází problém než že ho řeši :-) .

 
Nahoru Odpovědět
10.5.2017 1:56
Avatar
David Hynek
Tvůrce
Avatar
David Hynek:10.5.2017 7:23

Tak mě napadá. Máš hned na začátku programu toto?

<?php
session_start();
Nahoru Odpovědět
10.5.2017 7:23
Čím víc vím, tím víc věcí nevím.
Avatar
Jiří Fencl
Člen
Avatar
Jiří Fencl:10.5.2017 8:29

Hlavne pred tim presmerovanim ma byt session_write_close

Akceptované řešení
+20 Zkušeností
+2,50 Kč
Řešení problému
 
Nahoru Odpovědět
10.5.2017 8:29
Avatar
Lasvit
Člen
Avatar
Odpovídá na Jiří Fencl
Lasvit:10.5.2017 8:32

Neplatí tohle pravidlo pro starší php? Pokud vím, tak se to dneska dělá automaticky.

 
Nahoru Odpovědět
10.5.2017 8:32
Avatar
Jiří Fencl
Člen
Avatar
Odpovídá na Lasvit
Jiří Fencl:10.5.2017 8:44

Jo? Mas na to nejake zdroje? Posli...
Taky mi rovnou pribal tu vesteckou kouli co mas, kdyz jsi si jisty i tim, co ma kolega za PHP, ale pochybuju, ze by tu funkci zrusili a na strankach php i na prvnich 4 strankach hledani strejdy google by nebyla ani zminka

 
Nahoru Odpovědět
10.5.2017 8:44
Avatar
Lasvit
Člen
Avatar
Odpovídá na Jiří Fencl
Lasvit:10.5.2017 10:06

Nečekal jsem takovou reakci, ale :
http://php.net/…te-close.php

A nwm k čemu vešteckou kouli, kdyz reaguji jenom na použití session_write_clo­se();

Jinak můj dotaz nebyl myslen nějak zle :) ,ale asi špatně napsáno.

 
Nahoru Odpovědět
10.5.2017 10:06
Avatar
Jiří Fencl
Člen
Avatar
Odpovídá na Lasvit
Jiří Fencl:10.5.2017 10:22

Taky sorry jestli to vyznelo utocne - rad se poucim, kdyz je neco noveho, ale nic prevratneho se v te veci od php4 nestalo - proste kdyz potrebujes data v session hned, tak musis pouzit tu funkci.

Autor vlakna hned po zapisu do session opousti skript presmerovanim a tak nutne potrebuje ty data ulozit hned a ne cekat az k tomu dojde automaticky za par sekund

 
Nahoru Odpovědět
10.5.2017 10:22
Avatar
Lasvit
Člen
Avatar
Odpovídá na Jiří Fencl
Lasvit:10.5.2017 11:10

Dobře, myslel jsem, že se ten session uloží hned, nehledě na tom co nasleduje.

Ale taky je pravda, že myslet znamená ....

 
Nahoru Odpovědět
10.5.2017 11:10
Avatar
David Hynek
Tvůrce
Avatar
Odpovídá na Jiří Fencl
David Hynek:10.5.2017 12:01

Nemá smysl chtít na jednom řádku zapisovat Session a na druhém jí číst...

Nahoru Odpovědět
10.5.2017 12:01
Čím víc vím, tím víc věcí nevím.
Avatar
Jiří Fencl
Člen
Avatar
Odpovídá na David Hynek
Jiří Fencl:10.5.2017 12:24

A kde pisu o nejakem cteni? Dnesni uplnek zrejme spustil vestecke schopnosti u vice lidi, jen u me to nejak nefunguje, kdyz z uvodniho prispevku a 2radku kodu nepoznam, co je zamerem ulozeni do session. Chyba je ale popsana jasne - do session zapsano, ale

protože hodnota session je prázdná

celkem jednoznacne ukazuje, ze je potreba tu funkci zavolat aby se data ulozily driv nez je chce pouzit na te strance, kam se presmerovava

 
Nahoru Odpovědět
10.5.2017 12:24
Avatar
Odpovídá na Jiří Fencl
Mario Brunmayr:10.5.2017 16:57

Děkuji za pomoc, jak jsi již psal session se bez příkazu session_write_close nestačilo uložit :-) .

 
Nahoru Odpovědět
10.5.2017 16:57
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 12 zpráv z 12.