Podstrony na podstronie

0

Hej,
Do tej pory wszystko było ok - dopóki nie zacząłem pobierać wartości z $_GET.
Mianowicie aktualnie mój główny plik to index.php do którego ładuję wszelkie podstrony z folderu pages.
Przy stronie z profilem użytkowników musiałem dodać kolejne podstrony. Wygląda to tak: index.php <- profile.php(folder pages) <- profile.news.php(folder external)
Podstrony do pliku index.php ładuję przez $_GET['id'], natomiast do pliku profile.php przez skrypt, który podmienia wartość interesującego mnie diva na kod z zewnętrznego pliku dzięki $('#profile-content-page').load('external/profile.news.php');. Jednak przy takiej metodzie kod znajdujący się w profile.news.php nie widzi w ogóle wartości w $_GET ani zmiennych z profile.php. Czy jest jakiś sposób na uporanie się z tym lub co bardziej bym wolał - czy mogę plik profile.php podzielić na sekcję, które będą wyświetlane na stronie dzięki np. takiemu kodowi w stylu:

	if(isset($_GET['tab']) == 'news'){
		echo 'test';
	}elseif(isset($_GET['tab']) == 'settings'){
		echo 'test2';
	}else{
		echo 'pusto';
	}

I czy w ogóle takie rozwiązanie jest dobre?

1

Load jako parametr może przyjmować także dane do przesłania więc możesz sobie przesłać tam jakieś informacje potrzebne do obliczeń.
Ogólnie to load działa tak jakbyś wywoływał zapytanie o wygenerowanie nowej strony na przykład w nowej karcie. Jest odseparowana od poprzednich kart. Możesz np zapisać sobie odpowiednie zmienne do sesji / ciastka i je odczytać.

Poza tym jeżeli tych danych nie ma dużo to możesz pobierać wszystkie sekcje na raz w ramach pojedynczego ładowania strony a potem jeżeli zależy Ci na przejściach to za pomocą js ukrywać i pokazywać odpowiednie elementy lub przygotować kod tych sekcji tak, aby na podstawie jakiegoś przesłanego parametru sobie sam wygenerował resztę (po prostu przesyłać do tego formularz).

BTW, jeżeli chcesz robić tak jak w podanym przez Ciebie przykładowym kodzie to ja bym to zmodyfikował tak, żeby skrypt sprawdzał czy istnieje plik o nazwie podanej w jakimś $_GET['tab'] i go ładował zamiast robić gigantyczne sprawdzanie jeżeli tab == a lub tab == b lub tab == c (gdzie swoją drogą zamiast if nadałby się lepiej switch)

0

uzywasz sesji np:
if(isset($_GET['tab']) == 'news'){
Session['dane'][0]=$_Get['dane z get'];
}elseif(isset($_GET['tab']) == 'settings'){
Session['dane'][1]=$Get['dane z get'];
}else{
echo "brak danych";
}

1 użytkowników online, w tym zalogowanych: 0, gości: 1