Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php]Include traci zmienne
Forum PHP.pl > Forum > Przedszkole
swist666
Mam plik a.php
  1. <?php
  2. // a.php
  3. $l = array('abc' => '123');
  4. echo $l['abc'];
  5. ?>

który zwraca "123"

a plik b.php
  1. <?php
  2. // b.php
  3. include 'a.php';
  4. echo $l['abc'];
  5. ?>

zwraca ciąg "Array" - plik jest napewno dobrze includowany bo jak z niego f-cje wyprowadzam to nie ma problemu.. Zna ktoś rozwiązanie tego problemu??
PawelC
U mnie wszystko działa dobrze:
to wyświetla plik a.php:
Cytat
123

A to plik b.php
Cytat
123123

Sprawdź zamiast include to require
b4x
Logiczne chyba
Jeśli plik który wyświetla includujesz w pliku w którym to samo wyświetlasz to Ci wyświetli 2x

Zobacz co ci da print_r($l);
dr_bonzo
Require to w praktyce to samo co include.

jestes pewien ze nie robisz echo $l;?
swist666
array mi wyskoczyło z innego powodu..
nastąpiła pomyłka tongue.gif źle przepisałem kod php powinno ty wyglądać tak:

  1. <?php
  2. // a.php
  3. $l = array('abc' => '123');
  4. ?>

i
  1. <?php
  2. // b.php
  3. include 'a.php';
  4. function pok()
  5. {
  6. echo $l['abc'];
  7. }
  8. pok();
  9. ?>


b.php nic nie zwraca :/

tutaj mam rozwiązanie ale mnie ono nie satysfakcjonuje (do każdej f-cji mam tak dodawać??)

  1. <?php
  2. // b.php
  3. function pok()
  4. {
  5. include 'a.php';
  6. echo $l['abc'];
  7. }
  8. pok();
  9. ?>


lub

  1. <?php
  2. // b.php
  3. include 'a.php';
  4. function pok()
  5. {
  6. global $l;
  7. echo $l['abc'];
  8. }
  9. pok();
  10. ?>


nie da się tego jakoś ustawić dla wszystkich funkcji od razu smile.gifquestionmark.gif
PawelC
// Wyprzedziłeś mnie biggrin.gif

Możesz to dać do jednego pliku:
  1. <?php
  2. // b.php
  3.  
  4. function pok()
  5. {
  6.  
  7. $l = array('abc' => '123');
  8. echo $l['abc'];
  9. }
  10. pok();
  11. ?>

I pózniej w każdej funkcji dasz tylko include tego pliku i tyle
swist666
dzieki wielkie juz porobilem to z globalami.. moim zdanie nie fachowo wyglada ale dziala przynjmniej tongue.gifsmile.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.