Actiune "A to B"

Ai o întrebare legată de PHP? Incercăm să îi găsim soluţie. Sau poate doar vrei să publici un cod interesant.

Moderatori: Zamolxe, Moderatori

leonte
PHPRomania Supporter
Mesaje: 10
Membru din: Dum Mar 14, 2010 10:25 pm

Actiune "A to B"

Mesajde leonte » Mie Sep 16, 2015 1:13 pm

Salutare,
Am urmatoarea problema de rezolvat:
Vizitatorul intra pe pagina A si este redirectionat pe pagina B.
Pagina B, verifica de unde vine vizitatorul:
1. Daca vine de pe pagina A, il trimite la pagina C
2. Daca vine direct sau din alta parte, il trimite pe pagina D.

Pot spune ca problema este partial rezolvata, am scris cateva linii in care am folosit

Cod: Selectaţi tot

$referer = $_SERVER['HTTP_REFERER'];
.
Problema este cu browsere ca Opera si Safari care nu trimit informatia despre referal.

Ma poate ajuta cineva cu o completare a codului? (nu cod direct, doar ideea e ok)
Va multumesc!



Avatar utilizator
vectorialpx
Senior Member
Mesaje: 4832
Membru din: Mar Mar 01, 2005 9:48 am
Localitate: Bucuresti
Contact:

Re: Actiune "A to B"

Mesajde vectorialpx » Mie Sep 16, 2015 1:20 pm

leonte scrie:Ma poate ajuta cineva cu o completare a codului? (nu cod direct, doar ideea e ok)

In primul rand, nu inteleg de ce atat du-te-vino.
Poti lua decizia de redirect direct in A, daca sa-l duci la C sau D
Ne poti zice exact use-case-ul pentru ca este posibil sa existe o solutie mai eleganta.

Ca si implementare, eu nu m-as baza pe referer, as pune un parametru la URL-ul curent.
Deci, ai asa:
in A link catre b.php?from=a
in B if(isset($_GET['from']) && $_GET['from'] == a) goto C; else goto D;

O alta varianta este cu o variabila de sesiune, pe care trebuie sa ai grija sa o resetezi
cand ajunge userul la "destinatie" (adica, atat in pagina C cat si in pagina D)

leonte
PHPRomania Supporter
Mesaje: 10
Membru din: Dum Mar 14, 2010 10:25 pm

Re: Actiune "A to B"

Mesajde leonte » Mie Sep 16, 2015 1:32 pm

Multumesc pentru raspuns.
1. Conditia IMPUSA este A redirect la B. (ulterior B ia decizia catre C sau D)
2. URL-ul lui A nu suporta modificari gen "?form=a", ci doar forma initiala.

Avatar utilizator
vectorialpx
Senior Member
Mesaje: 4832
Membru din: Mar Mar 01, 2005 9:48 am
Localitate: Bucuresti
Contact:

Re: Actiune "A to B"

Mesajde vectorialpx » Mie Sep 16, 2015 2:11 pm

In acesta caz, te bazezi pe referer.
Cand vine... cand nu vine, sanatate ;)

http://php.net/manual/ro/reserved.variables.server.php
The address of the page (if any) which referred the user agent to the current page.
This is set by the user agent.
Not all user agents will set this, and some provide the ability to modify HTTP_REFERER as a feature.
In short, it cannot really be trusted.


Sau... ii ceri lui A sa suporte parametru ;) pentru ca asa functioneaza internetul.

Avatar utilizator
fabby
Senior Member
Mesaje: 1071
Membru din: Lun Aug 30, 2004 11:51 pm
Localitate: Bucuresti
Contact:

Re: Actiune "A to B"

Mesajde fabby » Mie Oct 28, 2015 9:15 am

atunci joaca-te cu sesiunile. si in functie de sesiunea creata pe pagina initiala il redirectionezi unde vrei
Today is a good day for... php
www.anunturi-utile.ro - anunturi gratuite


Înapoi la “Cod PHP”

Cine este conectat

Utilizatori ce ce navighează pe acest forum: Niciun utilizator înregistrat și 33 vizitatori