Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Sesja z linku
Forum PHP.pl > Forum > PHP
slash^
Witam

Mam problem, ktorego rozwiazanie dla mnie jest bardzo wazne, otoz:

mam strone 1.php

a w niej 2 linki:
link1
link2

jak zrobic, aby np. kazdy z nich przekazywal inne dane poprzez SESJE;

np.
linki1: link do strony page.php + sesja np. A = 3
linki2: link rowniez do page.php + sesja np. A = 6

czy da sie takie cos w ogole zrobic? I problem w tym, ze metody cookie, post i get odpadaja =/
rzseattle
No coz, logicznie rzecz biorac to sesja zostanie stworzona zanim uzytkownik wybierze link wiec niemozliwa jest zmiana wartosci zmiennej sesyjnej w czasie kiedy uzytkownik go naciska.

Zamiast tego (jesli boisz sie o wyplyw danych) mozesz zastosowac flage ktora powie jakie wartosci dla zmiennych musza byc przyjete na stronie page.php
slash^
Flagi? =P A mozna prosic o drobny przyklad prezentujacy te metode... ?
rzseattle
ej no nic prostszego

page.php?f=1
pafe.php?f=2

[php:1:7aef716068]<?php
if( $_GET['f'] == 1 ){
$zmienna = 1111;
}elseif( $_GET['f'] == 2 ){
$zmienna = 5678;
}
?>[/php:1:7aef716068]
slash^
Niestety, jak juz napisalem wczesniej metoda get, post i cookie - nie dzialaja (gdyz chce dodac do istniejacego juz "kombajnu" opcje wlasnie z czyms takim i jedyne zmienne jakie sa akceptowane to sesja =/)

Wiec jezeli nie mozna uzyc sesji, to czy jest jakas inna mozliwosc na przekaz danych?
rzseattle
jasli skrypt interpretuje tylko podane zmienne sesyjne to robisz dokladnie tak jak ci powiedzialem tylko ze wykorzystujesz tablice $_SESSION

[php:1:397ec68a60]<?php
if( $_GET['f'] == 1 ){
$_SESSION['a'] = 1111;
}elseif( $_GET['f'] == 2 ){
$_SESSION['a']= 5678;
}
?>[/php:1:397ec68a60]

wstawiasz na poczatek pliku i dalej juz sa widziane jako dane sesyjne winksmiley.jpg
slash^
Niestety nie zrozumielismy sie :(

Ten "kombajn" to jakis (nawet nie wiem jaki dokladnie) nuker, jest oparty o 1 strone index.php i kazde menulink (oryginalnie przez niego zrobiony w administracji) jest miej wiecej w takiej postaci: http://...../index.php?page=02/04/50

Jezeli do powyzszego linku dodam jakikolwiek argument np. &f=1 to w moim skrypcie go nie widac - tak jakby w ogole nie byl ustawiony =/ (jak wrzucam inna strone i odpalam ja sama to zmienne $_GET dzialaja - wiec to nie jest przyczyna wersji ani ustawien php). Tak wiec podany przez Ciebie sposob odpada :(
rzseattle
heh wyglada na to ze ten systemik zczytuje inputa a puzniej niszczy tablice get, post i cookie - jak wyczaisz gdzie sa one zczytywane to bedziesz mogl sie dostac do swoich zmiennych
slash^
Tak... 450 kb =P zdeka duzo tego jest, a kazdy otwierany plik to include do innego w ktorym jest jakis fragment kodu i include =]

Moze sprubuje inaczej, pamietam, ze gdzies czytalem o funkcji, ktora "zczytuje" z linka dane tzn bylo tak:

$a = jakasfunkcja();
$link = explode ("?", $a);

potem $zmienne = explode ("&", $link[1]);

tylko jaka to byla funkcja, moze wiesz? help :P
rzseattle
Jesli zastosujesz metode ktora wyzej podalem na samym poczatku strony do ktorej prowadzi link(przed wszystkimi include itd) to zmienne powiny zostac przeniesine do sesji

a co do funkcji zczytujacej to [php:1:474de02d98]<?php
$a = $_SERVER['REQUEST_URI'];
$b = explode("?", $a );
$arrZmienne = explode("&", $b[1] );
print_r( $arrZmienne );
?>[/php:1:474de02d98]
tylko zmiene piszesz w postaci index.php?zmienna1&zmienna2&zmiena3...
slash^
no wlasnie o to chodzilo, big TNX :*
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.