Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Nie chce przekazywać tablic i zmiennych
Forum PHP.pl > Forum > PHP
Joachim Peters
Mój skrypt głównie opiera się na pliku index.php, jeżeli chce otworzyć inną stronę to przekazuję $_GET nazwę modułu jaki chce otworzyć (np. index.php?m=page).
Jak strona istnieje to skrypt za pomocą include_once otwiera plik modułu podstron.
Na początku pliku index.php jest tworzona tablica $userdata, przy pomocy klasy do obsługi sesji.
Przekazywanie i odczytywanie tablicy $userdata działa tylko jak chce ją odczytać bezpośrednio z pliku index.php, a nie pliku modułu, gdy mam w pliku modułu np. echo $userdata['name'] to w ogóle nic nie pokazuje, a jak dam takie coś na początku index.php to działa.
Dla próby dałem w pliku modułu global $userdata i okazało się, że teraz działa, ale czy nie ma innego wyjścia?
kriqs
sypnij trochę kodem to się zobaczy bo tak na wróżkę to trudno będzie coś poradzić smile.gif

pozdrawiam
Joachim Peters
mam coś takiego
  1. <?php
  2. // rozpoczęcie sesji itd.
  3. $userdata = $Session->Userdata();
  4.  
  5. echo $userdata['name']; // to pokazuje
  6.  
  7. if(file_exists($_GET['m']))
  8. {
  9. include_once('./sc/' . $_GET['m'] . '.php'); // tu wczytuje ten modul
  10. }
  11.  
  12. // i dalej zbędny kod
  13. ?>
cadavre
A w tych modułach masz kod strukturalny, funkcje po prostu czy klasy?
Joachim Peters
Kod strukturalny.

Daje np. jak to u mnie działa:


w pliku index.php robie
  1. <?php
  2. $var = 'jest zmienna';
  3. include('./folder/test.php');
  4. ?>


i w test.php nie działa coś takiego chociaż otwieram go w index.php, gdzie zmienna jest utworzona;/
  1. <?php
  2. echo $var;
  3. ?>

treść zmiennej pokazuje się dopiero wtedy, gdy dam
  1. <?php
  2. global $var;
  3. echo $var;
  4. ?>
cadavre
Zgodnie z http://pl.php.net/manual/pl/function.include.php musi dziedziczyć zmienne...
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.