Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Multi dimenzijalni niz u $_SESSION varijabli - ne radi

[es] :: PHP :: Multi dimenzijalni niz u $_SESSION varijabli - ne radi

[ Pregleda: 2950 | Odgovora: 10 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

vatri
Banja Luka, RS

Član broj: 68697
Poruke: 1006
*.dynamic.dsl.t-2.net.



+18 Profil

icon Multi dimenzijalni niz u $_SESSION varijabli - ne radi12.08.2009. u 12:43 - pre 178 meseci
Da li je uopste moguce u PHP 5 cuvati multi dim. niz u sessiju?

Kod mene je slucaj ovako:

imam index.php na kojoj imam Ajax skriptu koja zove stranu rezultati.php sa sledecim formatom "query string-a"

rezultati.php?pitanje=3&vrijeme=5&daljina=14

Zatim taj query uzimam:
Code:

$pitanje = $_GET['pitanje'];
$vrijeme = $_GET['vrijeme'];
$daljine = $_GET['daljina'];


i onda trebam to sacuvat u sesiju, a to sam ovako pokusao:

Code:

$_SESSION[$pitanje]['vrijeme'] = $vrijeme;
$_SESSION[$pitanje]['daljina'] = $daljina;


Kad uradim var_dump $_SESSION varijable na index.php strani, ispise array(0) (ili kako vec).

Pokusao sam sacuvati podatke u klasicni niz $_SESSION['vrijeme'] = $vrijeme; i tada mi var_dump vrati pravilan niz.

Molim vas za pomoc i ako nisam nesto jasno napisao recite da objasnim bolje.

Hvala unapred!

 
Odgovor na temu

Man-Wolf
Mihailo Joksimovic
Beograd

Član broj: 17016
Poruke: 873
91.148.88.*



+13 Profil

icon Re: Multi dimenzijalni niz u $_SESSION varijabli - ne radi12.08.2009. u 13:27 - pre 178 meseci
Citat:
vatri: Da li je uopste moguce u PHP 5 cuvati multi dim. niz u sessiju?


Naravno. $_SESSION i jeste najobicniji niz, samo sto je svuda vidljiv (Super-Global) ...

Elem:

Code:

$pitanje = 1;
$vrijeme = 2;
$daljina = 3;

$_SESSION[$pitanje]['vrijeme'] = $vrijeme;
$_SESSION[$pitanje]['daljina'] = $daljina;

print_r($_SESSION);

//Array
//(
//    [1] => Array
//        (
//            [vrijeme] => 2
//            [daljina] => 
//        )
//)


Btw, primeti da si definisao promenljivu:
Code:

$daljine = ....; // daljinE


A onda si pisao:

Code:

$_SESSION[$pitanje]['daljina'] = $daljina; // daljinA

 
Odgovor na temu

Nikola Poša
Backend (PHP) developer
Beograd

Član broj: 173839
Poruke: 1616
*.adsl-a-3.sezampro.rs.



+33 Profil

icon Re: Multi dimenzijalni niz u $_SESSION varijabli - ne radi12.08.2009. u 13:56 - pre 178 meseci
Citat:
vatri: Da li je uopste moguce u PHP 5 cuvati multi dim. niz u sessiju?

Čak je i preporučljivo, jer na taj način možeš da praviš neke svoje namespace-ove u okviru sesije, kako bi izbegao moguće kolizije.
 
Odgovor na temu

Miroslav Ćurčić
ex mVeliki
Novi Sad

Član broj: 19034
Poruke: 1118
..2.252.195.static.beotel.net.



+19 Profil

icon Re: Multi dimenzijalni niz u $_SESSION varijabli - ne radi12.08.2009. u 14:11 - pre 178 meseci
Možda će ti biti lakše da ga spakuješ sa serialize() pre toga ?
"The quieter you become, the more you are able to hear."
Blog | PowerCMS
 
Odgovor na temu

Nikola Poša
Backend (PHP) developer
Beograd

Član broj: 173839
Poruke: 1616
*.adsl-a-3.sezampro.rs.



+33 Profil

icon Re: Multi dimenzijalni niz u $_SESSION varijabli - ne radi12.08.2009. u 14:31 - pre 178 meseci
Proveri i da slučajno za metod slanja tog AJAX zahteva nisi stavio POST, jer bi onda te promenljive u handler-u dohvatao iz $_POST, a ne iz $_GET.

A i nadam se da si negde startovao sesiju (session_start()), jer i to ljudi često zaboravljaju...
 
Odgovor na temu

vatri
Banja Luka, RS

Član broj: 68697
Poruke: 1006
*.dynamic.dsl.t-2.net.



+18 Profil

icon Re: Multi dimenzijalni niz u $_SESSION varijabli - ne radi12.08.2009. u 15:06 - pre 178 meseci
Sa Ajaxom i imenom varijabli je 100% u redu. session_start() se nalazi na pocetku i index.php i rezultati.php.

Nakon koda gdje se pune varijable
Code:

$_SESSION[$pitanje]['vrijeme'] = $vrijeme 
....


... sam stavio var_dump($_SESSION) i tu se pravilno ispise. To se izvrsava znaci u okviru ajax-a u skripti rezultati.php i taj var dump se ispisuje u index.php.
Medjutim nize tog div-a gdje se prikazuje ajax responsetext sam isto stavio taj var_dump, ali tu je samo prazan array.

Kao da mi ne radi na indexu sesija..

Miroslav: prije cega da uradim serialize, prije var_dump? Sta mi to znaci?
 
Odgovor na temu

japan

Član broj: 34328
Poruke: 480
87.250.50.*



+13 Profil

icon Re: Multi dimenzijalni niz u $_SESSION varijabli - ne radi12.08.2009. u 15:23 - pre 178 meseci
ako sam dobro shvatio, ti ocekujes da ti var_dump ispise sadrzaj varijable na strani koja se renderuje pre nego sto se pozove ajax, koji puni varijablu?
 
Odgovor na temu

vatri
Banja Luka, RS

Član broj: 68697
Poruke: 1006
*.dynamic.dsl.t-2.net.



+18 Profil

icon Re: Multi dimenzijalni niz u $_SESSION varijabli - ne radi12.08.2009. u 16:19 - pre 178 meseci
Tako nekako...
U pitanju je neki kviz: na prvom pitanju je normalno da ispise prazan array jer nije jos 'popunjena' sesija. Kada se odgovori na pitanje ajax salje podatke u rezultati.php koji treba to sacuvat u sesiju. Na sledecem pitanju ne bi trebalo da je prazan array.

Kao sto sam vec rekao, kada radim sa normalnim (jednodimenzionalnim) nizom radi dobro, ali kad pokusam multi dim, ne.
 
Odgovor na temu

vatri
Banja Luka, RS

Član broj: 68697
Poruke: 1006
*.dynamic.dsl.t-2.net.



+18 Profil

icon Re: Multi dimenzijalni niz u $_SESSION varijabli - ne radi12.08.2009. u 16:40 - pre 178 meseci
Evo sad sam testirao samo stranu rezultati.php, a evo koda da ne pricamo napamet:

Code:


<?php
session_start();
$referer = $_SERVER['HTTP_REFERER'];
$host = $_SERVER['HTTP_HOST'];

$pitanje_br = $_GET['pitanje'];
$vrijeme = $_GET['vrijeme'];
$daljina = $_GET['daljina'];

if(isset($pitanje_br,$vrijeme,$daljina)){
    $_SESSION[$pitanje_br] = array('vrijeme'=> "$vrijeme", 'daljina'=> "$daljina");
}
var_dump($_SESSION);
?>



Evo recimo u ovom slucaju:
ako upisem u url:

rezultati.php?pitanje=1&vrijeme=3&daljina=10

ispise sledece:

array(1) { [1]=> array(2) { ["vrijeme"]=> string(1) "3" ["daljina"]=> string(2) "10" } }

I nakon toga upisem samo rezultati.php vrati: array(0) { }

Znaci uopste ne sacuva sesiju
 
Odgovor na temu

Tudfa
Jovicevic Vladimir

Član broj: 152699
Poruke: 384
*.dynamic.sbb.rs.



+3 Profil

icon Re: Multi dimenzijalni niz u $_SESSION varijabli - ne radi12.08.2009. u 17:30 - pre 178 meseci
Probaj ovako da stavis:

Code:
<?php
session_start();
$referer = $_SERVER['HTTP_REFERER'];
$host = $_SERVER['HTTP_HOST'];

$pitanje_br = $_GET['pitanje'];
$vrijeme = $_GET['vrijeme'];
$daljina = $_GET['daljina'];

if(isset($pitanje_br,$vrijeme,$daljina)){
 //ovaj red sam izmenio da ti kljuc bude 'q1' umesto '1'
    $_SESSION['q'.$pitanje_br] = array('vrijeme'=> "$vrijeme", 'daljina'=> "$daljina");
}
var_dump($_SESSION);
?>


A jel si ukljucio error_reporting, jel se tu buni ? Ako nisi, stavi error_reporting(E_ALL | E_STRICT) dok traje razvojna faza.
 
Odgovor na temu

vatri
Banja Luka, RS

Član broj: 68697
Poruke: 1006
*.dynamic.dsl.t-2.net.



+18 Profil

icon Re: Multi dimenzijalni niz u $_SESSION varijabli - ne radi12.08.2009. u 17:56 - pre 178 meseci
Tudfa svaka cast, upravo to je rjesilo problem. Ocigledno se broj ne moze stavit kao kljuc :s

Kad sam ukljucio error reporting, ispisalo je ovo:

"Notice: Unknown: Skipping numeric key 1. in Unknown on line 0"

Hvala puno svima na trudu!
 
Odgovor na temu

[es] :: PHP :: Multi dimenzijalni niz u $_SESSION varijabli - ne radi

[ Pregleda: 2950 | Odgovora: 10 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.