PHP sesja jak to zrobić?


(Przemek186) #1

Chcę aby strona ktorą robie działała następująco: posiada 2 menu jedno do galeri, drugie do treści w środku. Gdy kliknę na menu galeria1 to wyswietla sie galeria w divie psrodek, gdy wlacze hiperlacze z drugiego menu np about me to wyswietli sie about me, ale poprzednia galeria dalej bedize sie wyswietlac. Teraz jest tak: gdy klikam na galeria jest ok ale nastepnie gdy uzywam drugiego menu to wyswietla sie samo drugie. Probowałem zrobić to z sesją jednak albo cos sobie nie radze albo nie dziala jak trzeba. Pomoże ktoś?

Narazie to wygląda tak:

galeria 1galeria 2

<?php $galery=$_GET['site']; switch($galery){ case 1:include('home.html'); break; case 2:include('about.html'); break; case 3:include('news.html'); break; case 4:include('contact.html'); break; } ?>

<?php $galery=$_GET['galery']; switch($galery){ case 1:include('1.html'); break; case 2:include('2.html'); break; } ?>
[/code]


(kalamita) #2
start_session();

zaraz na początku skryptu PHP i wszystkich innych w których będziesz odbierał zmienne sesyjne. Następnie tak gdzie chcesz zapisać coś do zmiennej sesyjnej użyj

$_SESSION['nazwa_zmiennej'] = 'wartosc';

a w skrypcie w którym odbierasz zmienne sesyjne :

$nazwa_zmiennej = $_SESSION['nazwa_zmiennej_sesyjnej']

(Przemek186) #3

(Sitemaster) #4

Ale po co tu sesje?

Masz zwyczajnie nieprzemyślana konstrukcję kodu.

Po pierwsze, obie zmienne $_GET przypisujesz do tej samej zmiennej $galery nadpisując ją sobie :expressionless:

Po wtóre, w linku przekazujesz tylko jedną zmienną, albo site albo galery -tak jak byś nie mógł obu.

<?php

if(isset($_GET['site'])) $param='site='.$_GET['site'].'&'; else $param='';

echo 'galeria 1';

echo 'galeria 2
';

?>[/code]

(Przemek186) #5

Szydera ;d dzieki teraz get zawsze dziala ale jak na początku wybiore to drugie menu - galerie to jest tylko 1 zmienna i probowalem przerobic ten twoj kod w drugim menu i nic wtedy nie dziala ;p Sorki za brak inteligencji w tych tematach

strona glownastrona glowna
[/code]