Prenosenje varijable putem sessiona

Bok,
prenosenje varijabli iz jednog phpa u drugi putem sessiona mi radi jedino ako su u browseru ukljuceni cookiesi.
citala sam da se moze i putem urla prenositi no ne znam kak :frowning:
neka pomoc oko prenosenja varijabli iz jednog u drugi phpa a da ne ovisi o tome dal korisnik ima ili nema ukljucenje kukije u browseru??

hvala

[quote=“galatea”]Bok,
prenosenje varijabli iz jednog phpa u drugi putem sessiona mi radi jedino ako su u browseru ukljuceni cookiesi.
citala sam da se moze i putem urla prenositi no ne znam kak :frowning:
neka pomoc oko prenosenja varijabli iz jednog u drugi phpa a da ne ovisi o tome dal korisnik ima ili nema ukljucenje kukije u browseru??

hvala[/quote]

Po kukiju se prepoznaje da je isti korisnik u pitanju (PHP session id - jedinstvena kombinacija brojeva i slova preko koje je identificira korisnik). Osim kukija, session id se moze prenjeti i preko url-a (get metoda), medjutim, to nije najbolje rjesenje (sigurnosni razlozi). Tako da, ako netko nema ukljucene kukije, po mom misljenju, najbolje mu je ne onemoguciti autentifikaciju i obavijestiti korisnika da si ukljuci kukije (bar za trenutni session).

PHP session varijable se u biti ne prenose, one se cuvaju na serveru i klijentska strana nema doticaja s njima. Kako PHP zna da su session varijable od nekog konkretnog korisnika? - pa po session id-ju (koji se cuva u kukiju ili se prenosi preko url-a). Klijentska strana u HTTP requestu (browser[klijent] — HTTP request —> server ----> HTTP response —> browser) salje i kukije, PHP provjerava da li je poslan PHP session id prilikom pokretanja sessiona, i onda trazi session podatke ukoliko postoje i deserializira ih u superglobalno polje $_SESSION (slicno kao sta ih serializira na kraju requesta, zajedno sa slanjem kukija klijentskoj strani).

Preko url-a se PHP varijable mogu prenositi na nacin da se dodaju kao dio query stringa, npr. ako u jednoj skripti imas:

A u drugoj skripti (druga_skripta.php) vrijednost mozes dobiti preko $_GET superglobalnog polja (uvjet je da korisnik klikne na link, odnosno da je url pozivanja skripte:
http://www.nesto.hr?druga_skripta?var1=Test):

Primjeti kako se mapira query string (iza “?” u url-u) u $_GET. Npr.

...?var1=val1&var2=val2

ce se mapirati u:

Osim toga, mozes i polje prenjeti:

?var1[]=val1&var1[]=val2

Prilikom prenosenja varijabli preko get parametra bi trebala obratiti pozornost na duljinu (postoji maksimalan broj znakova koji se mogu prenjeti, ne znam tocno koliko, moze se na guglu nac) i na pravilno kodiranje url parametra (nisu svi znakovi dopusteni, vidi urlencode PHP funkciju).
Osim toga, podatke bi trebalo validirati (kao bilo sta, sta dolazi izvana).

Moje mišljenje je da se ne trebaš zamarati glupostima, 99,99% ljudi ima uključene cookie, a ovih 0,01 posto nisu zavrijedili da imaju internet :smiley:

ee sef tak oce(on ima iskljucene kukije :))…samo me brine da nisam zakomplicirala stvar s time :frowning:
radi se o tome da se txt datoteka uploada na server, nad njom izvrse neke operacije i onda se korisniku vrati link sa koje moze downloadirati novonastalu txt datoteku :slight_smile:

problem mi je nastao u tome, jer ja u jednom phpu stvorim path do izlazne datoteke cije je ime varijabilno, tj ovisi o ulaznoj datoteci. tipa korisnik posalje ulaznu datoteku imena “nesto.txt”, vratila bi mu se datoteka imena “out_nesto.txt”.

kazem probala sam u sa urlom, no ne znam kako u taj jquery staviti php varijablu. obratno, tipa u javascript varijablu iz phpa znam…GET ili POST, a ovak se petljam samo :frowning:
evo ovak to zgleda:

Koristim jquery i imam kod:

var options = {
beforeSubmit: showRequest,
success: showResponse,
url: ‘dizanje.php’, // your upload script
dataType: ‘html’

};

i u “dizanje.php” mi se nalazi varijabla koju trebam prenjeti u “download.php” koji se poziva u fji showResponse.

Ovako nekako?

iz dizanje.php trebam varijablu koju cu prenjeti download.php

evo ovdje nesto no ni mi bas jasno, pa ak neko ima vise iskustva u tom podrucju…biblioteka jquery

Ne znam sta tocno radis u skripti “dizanje.php” … jel ispisujes link za download ili?

tak je, tocnije path za download…uglavnom uspjela sam rjesit…ako nekog zanima, rjesih to ovako:

u scripti sam dodala fju:

$.get(“dizanje.php”, {}, function(data){
});

koja u data trpa ono kaj joj vrati “dizanje.php”, a vrati joj ono sto joj da echo
(echo $path_out;)

I onda u link za downloadanej putem urla dodah ovo:

download

a taj data sam pokupila u download.php-u sa GETom. eto, end of story…dela i sa iskljucenim kukijima :lula:

Hvala na pomoci! nadam se da bu ovaj post isto nekom pomogao ko zapne na istoj stvari, pozz


Copyright © 2020 WM Forum - AboutContact - Sponsored by: Mydataknox & Webmaster.Ninja