Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php]zapamiętanie i odczyt kilku include
Forum PHP.pl > Forum > Przedszkole
pijanyadmin
przykladowo strona wyglada tak:



czarny i czerowny div jeden pod drugim,

div czarny a w nim menu, linki i kolejny div [biale pole] odczytujacy konkretna zawartość po kliknięciu w menu:


  1. <?php
  2.  
  3. if($_GET["jeden"] == "start") { include("start.php");}
  4. else if($_GET["jeden"] == "mail") { include("mail.php");}
  5. else if($_GET["jeden"] == "edit") { include("edycja.php");}
  6. else if(!isset($_GET["jeden"])) { include("start.php");}
  7. else { include("404.php");}
  8. ?>


i link do tego wygląda przykładowo tak:

Kod
<a <?php if ($_GET["jeden"] == "mail") {echo("id=\"active\"");}?> href='panel.php?jeden=mail'>Mail</a>


taka sama sytuacja jest w divie czerownym jednak do odczytu innych stron:

  1. <?php
  2.  
  3. if($_GET["dwa"] == "start2") { include("start2.php");}
  4. else if($_GET["dwa"] == "mail2") { include("mai2l.php");}
  5. else if($_GET["dwa"] == "edit2") { include("edycja2.php");}
  6. else if(!isset($_GET["dwa"])) { include("start2.php");}
  7. else { include("404.php");}
  8. ?>


Kod
<a <?php if ($_GET["dwa"] == "mail2") {echo("id=\"active\"");}?> href='panel.php?dwa=mail2'>Mail</a>


i teraz... chciałbym zrobić tak:

jeśli w div czarnym klikne i wybiore jakaś pozycje np. "edycja" a potem klikne w divie czeronym na "mail2" to chciałbym aby w divie czarnym zawartość pozostała bez zmian, w takiej postaci jakiej jest teraz przy zmianach w którymś divie zawartośći przechodzą do "stron startowych" np.
Kod
else if(!isset($_GET["dwa"])) { include("start2.php");}


Można taki efekt uzyskać przez PHP? [ wiem że można przy pomocy JS ale taki efekt mi nie odpowiada]

hmm nikt nie wie?
nitek
jeśli dobrze kumam, to jeśli chcesz zachować zawartości obu divów, to musisz skorzystać z pewnej sztuczki. W chwili obecnej w linkach w pierwszym divie gubisz wogóle wartość zmiennej 'dwa' (nie ma jej w tych linkach), więc jak to możliwe, by była ona pamiętana? W drugim divie jest odwrotnie - gubisz wartość zmiennej 'jeden' - również nie ma jej w linkach...

Dlatego musisz zrobić to mniej więcej w ten sposób:

Kod
<?php

//linki pierwszego diva
echo "<a href='index.php?jeden=start&amp;dwa=".$_GET['dwa']."'>link 1</a>";
echo "<a href='index.php?jeden=mail&amp;dwa=".$_GET['dwa']."'>link 2</a>";

//linki drugiego diva
echo "<a href='index.php?jeden=".$_GET['jeden']."&amp;dwa=start1'>link 3</a>";
echo "<a href='index.php?jeden=".$_GET['jeden']."&amp;dwa=mail1'>link 4</a>";

?>


W przypadku pierwszego diva 'recznie' nadajesz wartosci dla zmiennej 'jeden', a dla zmiennej dwa musisz odczytać bieżącą wartość,
a dla diva nr 2, odwrotnie - odczytujesz bieżącą wartość zmiennej 'jeden', a 'ręcznie' nadajesz wartość zmiennym dwa...

Jak dobrze zrozumiałem, posta, to z tym własnie masz problem...?
pijanyadmin
Tak o to właśnie chodzi, tylko nie zrozumiałem jednej rzeczy... mianowicie skąd mam pobierać

Kod
$_GET['jeden']
$_GET['dwa']


poza tym jeśli zrobie tak jak to opisałeś to nizbyt ten motyw działa...
nitek
Ten $_GET['jeden'] pobiera ci aktualną wartość zmiennej jeden z linka strony wyświetlonego w przeglądarce..
Załóżmy że masz adres twojej strony:

www.twojastrona.pl/index.php?jeden=start&dwa=mail

to zmienna $_GET['jeden'] będzie równa "start" i według tego co napisałem wyżej:

Kod
echo "<a href='index.php?jeden=".$_GET['jeden']."&amp;dwa=start1'>link 3</a>";


pliczek index.php wygeneruje taki link:

index.php?jeden=start&dwa=start1

nie wiem jak jaśniej mogę to napisać smile.gif Ale jak coś, to pytaj, to dojdziemy do rozwiązania cool.gif
pijanyadmin
emm mam mały zgryz z tym $_GET

Wszytko jest ok tak jak podałeś tylko problem pojawia się przy jeszcze jednym linku prowadzącym do 3 pola które jest includowane

Kod
index.php?jeden=mail&dwa=rodzaj


i ale załóżmy że w "jeden" jest jeszcze jeden div który się includuje i trzeba do niego osobne zapytanie który wyglada tak:

Kod
index.php?jeden=mail&trzy=dzielnica&dwa=status


wczytanie tego getem nie stanowi problemu bo działa to na tej samej zasadzie co poprzednie przykłady, ale jeśli chce przełączyć się też w "dwa" to już mam problem

Kod
index.php?jeden=mail[b]&trzy=dzielnica[/b]&dwa=status


nie wiem jak zrobić aby "trzy" był "opcjonalny" pobierany w GET
nitek
moim zdaniem powinno wystarczyć coś takiego.

  1. <?php
  2. //linki pierwszego diva
  3. echo "<a href='index.php?jeden=start&dwa=".$_GET['dwa']."&trzy=".$_GET['trzy']'."'>link 1</a>";
  4. echo "<a href='index.php?jeden=mail&dwa=".$_GET['dwa']."&trzy=".$_GET['trzy']'."'>link 2</a>";
  5.  
  6. //linki drugiego diva
  7. echo "<a href='index.php?jeden=".$_GET['jeden']."&dwa=start1&trzy=".$_GET['trzy']'."'>link 3</a>";
  8. echo "<a href='index.php?jeden=".$_GET['jeden']."&dwa=mail1&trzy=".$_GET['trzy']'."'>link 4</a>";
  9.  
  10. //linki trzeciego diva
  11. echo "<a href='index.php?jeden=".$_GET['jeden']."&dwa=".$_GET['dwa']."&trzy=dzielnica1'>link 5</a>";
  12. echo "<a href='index.php?jeden=".$_GET['jeden']."&dwa=".$_GET['dwa']."&trzy=dzielnica2>link 6</a>";
  13. ?>



Jeśli mam do tematu złe podejście, proszę, by ktoś mnie poprawił... dry.gif
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.