Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][HTML]Zasięg zmiennych [$_GET]
jenova
post
Post #1





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 27.05.2009

Ostrzeżenie: (0%)
-----


Witam.
Pytanie możliwe, że banalne, jakkolwiek nie znalazłem na nie odpowiedzi. Mój problem polega na 'zerowaniu zagnieżdżonej' macierzy. Wyświetlam menu, po kliknięciu przesyłam wartość np. ?id=1 do "index.php" i w <div> wyświetlam kod z "graphics.php" [ <- generuje w nim listę z linkami do stron w podanym katalogu].
Kod: index.php.
  1. <!-- menu -->
  2. <ul class="main_menu">
  3. <li><a href="?id=1">Graphics</a></li>
  4. </ul>
  5. <!-- end menu-->

  1. <div>
  2. <?php
  3. $idg = $_GET['idg']; //graphics.php linki do artykułów
  4. $id = $_GET['id']; //linki do 'generatorów' stron
  5.    $fileList = array();
  6.    switch($id){
  7.        case"1":include("graphics.php");break;
  8.    }    
  9.    if($fileList[$idg] != null){
  10.        include 'articles/'.$fileList[$idg];
  11.    }
  12.    var_dump($fileList); //dla testu
  13. ?></div>


Listuje katalog i generuje listę z linkami do artykułów [pliki .php] w podanym katalogu. Dla każdego pliku wygenerowany jest ?idg=$l (np. ?idg=0).
Kod: graphics.php.
  1. <?php
  2.  global $fileList; //nazwy plików z artami
  3.  ...
  4.  if($line == 3) echo '<li><a href="?idg='.$l.'">'.$buffer.'</a></li>'; // generuje linki dla plików
  5. ?>

W tym momencie mam w "index.php" -> <div> include graphics.php</div> i po kliknięciu na link z tego <div'a> chcę "includować" w nim daną stronę, o odpowiednim $idg (np. <div> include artykul1.php</div>). Niestety w momencie gdy klikam na link macierz $fileList się zeruje.
Robię to w tak 'zagmatwany sposób' ponieważ chcę automatycznie generować listę tych linków na bazie ilości plików (artykułów) w danym katalogu.
Testując var_dump($fileList) macierz jest zerowa w "index.php", po kliknięciu na link do "graphics.php" zostaje wypełniona, po kliknięciu na linka z <div'a> znowu zeruje się (include oczywiście zwraca błąd, że dany 'plik' 'articles/' nie może zostać otworzony).

Z góry dziękuję za wszelkie sugestie, linki itp.
Z poważaniem

Ten post edytował jenova 27.05.2009, 17:17:46
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
jenova
post
Post #2





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 27.05.2009

Ostrzeżenie: (0%)
-----


Witam.
Cytat
Jakiego div'a ? Div'a z menu, czy diva z listą generowaną przez graphic.php?

Wygląda to tak:
1. id - link od menu, do 'glownych' podstron
2. idg - link do konkretnych artow. Po kliknieciu chce aby zawartosc tej strony wyswietlila sie w miejscu gdzie obecnie jest lista linkow [czyli <div>]
(IMG:http://img29.imageshack.us/img29/223/85214805.jpg)

Całość kodu do "includowania" trzymam w "index.php" w owym div'ie gdzie chcę odpowiednie strony wyświetlić.
Kod który podałeś w poprzednim poście nie działa w ten sposób jak chciałbym. Tzn. dalej pozostaje lista z np. "graphics.php" a zawartość poszczególnych artykułów jest dodawana do <div'a>.

Dziękuję za wsparcie z Twojej strony.
Pozdrowienia

[EDIT]
Znalazłem błąd w moim rozumowaniu [odrobina snu i posty vokiel'a w głównej mierze przyczyniły się do tego (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) ]. Powinienem od razu zapytać [lub, co jest oczywiste, w pierwszej kolejności przeczytać] o czas życia zmiennych w php (nie mam pojęcia jak coś tak oczywistego umknęło mej uwadze ^^'''). A mój "problem" wynika z tego, iż zmienne odpowiedzialne za generowania url'i do artykułów generowane są dla $id=1/2 [include graphics.php] więc oczywiście są one zerowe jeśli ich nie wywołam.
Eh... bycie początkującym [ekhm... noobem (IMG:http://forum.php.pl/style_emoticons/default/dry.gif) ] zawsze jest ciężkie. Jeszcze raz dziękuję.
Temat można zamknąć.

Ten post edytował jenova 28.05.2009, 06:48:16
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 15.10.2025 - 16:38