Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php]Include traci zmienne
swist666
post 9.03.2008, 01:07:55
Post #1





Grupa: Zarejestrowani
Postów: 152
Pomógł: 1
Dołączył: 14.05.2004
Skąd: Wrocław

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


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??
Powód edycji: dodalem tag (cysiaczek)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
PawelC
post 9.03.2008, 01:27:22
Post #2





Grupa: Zarejestrowani
Postów: 1 173
Pomógł: 121
Dołączył: 24.09.2007
Skąd: Toruń

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


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
Go to the top of the page
+Quote Post
b4x
post 9.03.2008, 01:56:00
Post #3





Grupa: Zarejestrowani
Postów: 658
Pomógł: 95
Dołączył: 20.12.2005
Skąd: N54,35° E18,63° (Gdańsk)

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


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);

Ten post edytował b4x 9.03.2008, 01:57:47


--------------------
Go to the top of the page
+Quote Post
dr_bonzo
post 9.03.2008, 01:56:14
Post #4





Grupa: Przyjaciele php.pl
Postów: 5 724
Pomógł: 259
Dołączył: 13.04.2004
Skąd: N/A

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


Require to w praktyce to samo co include.

jestes pewien ze nie robisz echo $l;?


--------------------
Nie lubię jednorożców.
Go to the top of the page
+Quote Post
swist666
post 9.03.2008, 02:24:11
Post #5





Grupa: Zarejestrowani
Postów: 152
Pomógł: 1
Dołączył: 14.05.2004
Skąd: Wrocław

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


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

Ten post edytował swist666 9.03.2008, 02:29:36
Go to the top of the page
+Quote Post
PawelC
post 9.03.2008, 02:36:28
Post #6





Grupa: Zarejestrowani
Postów: 1 173
Pomógł: 121
Dołączył: 24.09.2007
Skąd: Toruń

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


// 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

Ten post edytował ExPlOiT 9.03.2008, 02:33:15
Go to the top of the page
+Quote Post
swist666
post 9.03.2008, 03:08:46
Post #7





Grupa: Zarejestrowani
Postów: 152
Pomógł: 1
Dołączył: 14.05.2004
Skąd: Wrocław

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


dzieki wielkie juz porobilem to z globalami.. moim zdanie nie fachowo wyglada ale dziala przynjmniej tongue.gifsmile.gif
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 19.07.2025 - 17:25