Autor Zpráva
SwimX
Profil
Dobrý den,
mám $_SESSION['filtr] = array();
a postupně do něj zapisuji
$_SESSION['filtr']['jmeno'] = $_POST['jmeno'] atd.
dokonce i
foreach($_POST['sport'] as $key => $val){
  $_SESSION['filtr']['sport'][$key] = $val
}


Teď mi kolega v práci řekl, že do sessiony se nesmí dávat pole? Co vy nat to?

Můj filtr mi normálně funguje takže nemám v plánu to měnit, ale zaratilo mě to, prý je třeba vždy serializovat pole než se zapíše do sessiony. Je to mýtus, nebo to má nějaké opodstatnění?
Radek9
Profil
SwimX:
Pokud to funguje, tak nechápu proč by se to nemohlo. Nemůžu třeba doskočit 10km, ale můžu do sessions ukládat pole.
SwimX
Profil
Radek9:
Díky, ale stejně tak můžu pracovat s neinicializovanými proměnnými, stejně tak můžu udělat switch($a) { case abc: break;}
a php z abc udělákonstatu do níž vloží abc a fuunguje to, ale je to řekněme "nečisté"
fuckin
Profil
ne, vypise to notice.

Pri vlozeni pole do session ti to neco takoveho taky vyhodi? Nebo z jakeho duvodu je to neciste? Je to naprosto normalni a dela to tak kazdy.
Jestli mas dukaz ukaz ho!

Vyraz "sessiony" slysim poprve v zivote. Session popr sessions.
tiso
Profil
SwimX: hlavne by si mal so $_SESSION robiť niečo užitočné... Načo tam kopíruješ celý formulár?
fuckin
Profil
tiso
Ja to taky nekdy delam abych zamezil znovu odeslani stejneho formulare. Ted to spis ale resim pres unikatni ID.
DoubleThink
Profil *
Teď mi kolega v práci řekl, že do sessiony se nesmí dávat pole? Co vy nat to?
Kolega je hloupý. Session je pole a jeho prvky můžou obsahovat totéž co normální pole.
SwimX
Profil
Děkuji za názory
DoubleThink:
Kolega je hloupý
no tak to určitě není :) nevím co ho k tomuto vedlo.

fuckin:
Nebo z jakeho duvodu je to neciste?
to netvrdím, na to se právě ptám. Notici mám vyplé, nečtu neřeším :)

Jestli mas dukaz ukaz ho!
Ale vždyť na něj se tu právě ptám, zjevně si nepochytil dotaz.

Vyraz "sessiony" slysim poprve v zivote. Session popr sessions.
sessiony mi vyhovují. Jsem čech, tak skloňuji, až budu něco psát anglicky, pak jistě použiji adekvátní výraz.

tiso:
Načo tam kopíruješ celý formulár?
je to filtr. Vybereš si kraj, okres, sporty atd. -> vyfiltruješ společnosti.
pak si na nákou klikneš, rozevřeš její detail, vrátíš se -> a v tuto chvíli neexistují POSTy takže se zruší filtry a ty si můžeš znovu pracně nastavovat všechny filtry. Takle to tam drží, jak přišité :)
tiso
Profil
SwimX: v tom prípade môže byť...
Majkl578
Profil
do session jde ulozit i instance objektu

<?php

session_start();

if(!isset($_SESSION['test'])) {
	$_SESSION['test'] = new stdClass();
}

var_dump($_SESSION['test']);

$_SESSION['test']->temp = uniqid();


co se tyce slova "sessiony", videl jsem i "php sešny", coz mi prijde opravdu priserne
Mastodont
Profil
SwimX
Řekni tomu svému kolegovi, ať se laskavě podívá, jak vlastně uložená session vypadá :-))) Ona se totiž jako serializované pole ukládá automaticky.
Například pro tento kód:
session_start();
$_SESSION['jedna'] = Array(0,2);

se ti uloží sešna v této podobě:
jedna|a:2:{i:0;i:0;i:1;i:2;}


sessiony mi vyhovují. Jsem čech, tak skloňuji
Tak skloňuj slovo "relace", to je překlad :) Hlavně ne "sezení", to se taky občas vyskytuje.
SwimX
Profil
Majkl578:
co se tyce slova "sessiony", videl jsem i "php sešny", coz mi prijde opravdu priserne
já viděl i sejšny ;)
Mastodont
Profil
SwimX
Je to tak, koneckonců je to napsáno i v manuálu - http://cz.php.net/manual/en/intro.session.php
Ale třeba měl kolega jen špatnej den, nemusíš mu to dávat moc sežrat (pokud samozřejmě něco podobného nedává k lepšímu každý týden).
SwimX
Profil
Mastodont:
nedává, naopak si k němu rád chodím pro radu. Většinou má pravdu, todle mu prostě ulítlo :) Ostatně odkaz na tuto diskusi jsem mu poslal, moná i teď čte :))
fuckin
Profil
SwimX
Kazdy se muze splect. Ten kdo rika ze se nikdy nespletl je jen sprosty lhar :-), nejlepsim ucitelem je zivot, konkretne pouceni z chyb.
Mastodont
Profil
SwimX
Tvůj kolega má ale určitě pravdu v tom, že arrays - především větší - je vhodné ukládat serializovaně, výrazně se totiž zrychluje načítání.
Majkl578
Profil
Mastodont
heh, presne to me taky napadlo kdyz jsem to prvne cetl...
SwimX
Profil
fuckin:
pěkný citát :) autor?
DoubleThink
Profil *
Tvůj kolega má ale určitě pravdu v tom, že arrays - především větší - je vhodné ukládat serializovaně, výrazně se totiž zrychluje načítání.

Prozraď mi prosím, jak jinak (než nějakou formou serializace) bys chtěl ukládat vícerozměrné objekty do (jednorozměrného) souboru?
PHP sessions do souborů ukládá - myslíš, že tato implicitní serializace nebude nejlepší možná? Těžko.
Mastodont
Profil
DoubleThink
Jsou lidi, co namísto serialize -> zápis -> načtení -> unserialize používají var_export -> zápis -> include. A u konfigurací se velmi často používá třeba soubor XML nebo YAML, jehož obsah parser převede na pole.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0