![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 695 Pomógł: 65 Dołączył: 27.07.2009 Skąd: Y Ostrzeżenie: (0%) ![]() ![]() |
witam mam takie pytanie/problem a dokładniej ... chciałbym pewien fragment kodu wrzucić do funkcji i zapisać to w pliku funkcje.pl - tak też zrobiłem . ALE pojawił się problem otoż.. funkcja x jest includowana z pliku funkcje.pl następnie jest wywoływana i chciałbym aby zwracała wartości pewnych zmiennych lecz zauważyłem że zasięg zmiennych ogranicza się do pliku funkcje.php . mam racje czy się mylę (IMG:style_emoticons/default/questionmark.gif) pytam bo wywala mi NOTICE -> Notice: Undefined variable: ogol_sila in E:\VertrigoServ\www\gra\test.php on line 12 a zmienna ogol_sila jest stworzona w funkcje.php ma wartosc i jest includowana w test.php
|
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 309 Pomógł: 56 Dołączył: 3.11.2006 Skąd: Gliwice Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 695 Pomógł: 65 Dołączył: 27.07.2009 Skąd: Y Ostrzeżenie: (0%) ![]() ![]() |
global czyli register globals (IMG:style_emoticons/default/questionmark.gif) mam to wył i nie mam zamiaru wł (IMG:style_emoticons/default/smile.gif) hmm czyli jeśli chce aby dany kod został wykonany i zwrócił kilka/kilkanaście zmiennych musze dać zwykły kod w include bo zmienne w funkcji działają tylko w niej ?
|
|
|
![]()
Post
#4
|
|
Grupa: Moderatorzy Postów: 6 072 Pomógł: 861 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza ![]() |
global czyli register globals (IMG:style_emoticons/default/questionmark.gif) mam to wył i nie mam zamiaru wł (IMG:style_emoticons/default/smile.gif) global nie ma nic wspólnego z register_globals. Oznaczenie zmiennej w funkcji jako global spowoduje, że będzie to zmienna spoza funkcji. |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 695 Pomógł: 65 Dołączył: 27.07.2009 Skąd: Y Ostrzeżenie: (0%) ![]() ![]() |
chciałem to zrobić tak :
test.php
do funkcji są przekazywane 3 parametry id usera, 2 usera i ilosc wywolan petli funkcja oblicza 'cos' na podstawie tych danych i chciałbym aby zmienną $ogol_sila (ktora pochodzi z zawartości funkcji) wyświetlić , lub dalej przetwarzać w pliku test.php funkcja jest wywoływaa |
|
|
![]()
Post
#6
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Przeczytaj dokladnie to:
http://pl.php.net/manual/pl/language.variables.scope.php |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 2 Dołączył: 25.06.2010 Ostrzeżenie: (0%) ![]() ![]() |
To zastosuj global tak jak podpowiedział Ci kolega muk4.
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 695 Pomógł: 65 Dołączył: 27.07.2009 Skąd: Y Ostrzeżenie: (0%) ![]() ![]() |
hmmm dla testu zrobiłem:
plik inc_features.php
i plik test.php
niestety w pliku test.php nic mi nie wyświetla.. |
|
|
![]()
Post
#9
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
jejkus... a jak masz w linku co dostales?
tak: $test = 1; global $test; czy moze jednak tak: global $test; $test = 1; ? |
|
|
![]()
Post
#10
|
|
Grupa: Moderatorzy Postów: 4 069 Pomógł: 497 Dołączył: 11.05.2007 Skąd: Warszawa ![]() |
|
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 695 Pomógł: 65 Dołączył: 27.07.2009 Skąd: Y Ostrzeżenie: (0%) ![]() ![]() |
aha czyli wpierw deklaruje że dana zmienna jest zmienną globalna , następnie przypisuje jej wartość (IMG:style_emoticons/default/questionmark.gif) i jeszcze takie pytanie czy jest bezpiecznie używanie tego GLOBAL ?(IMG:style_emoticons/default/smile.gif)
|
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 2 Dołączył: 25.06.2010 Ostrzeżenie: (0%) ![]() ![]() |
Cytat(phpion) global nie ma nic wspólnego z register_globals. Oznaczenie zmiennej w funkcji jako global spowoduje, że będzie to zmienna spoza funkcji. Tak, bezpieczne |
|
|
![]()
Post
#13
|
|
Grupa: Moderatorzy Postów: 6 072 Pomógł: 861 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza ![]() |
|
|
|
![]()
Post
#14
|
|
Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
To zrób inaczej. Globali nie powinno się używać z powodów bezpieczeństwa danych i tego co jest tutaj powodem tematu -> zasięg zmiennych. Nie wiesz nigdy, czy nie przesłonisz globalem jakiejś innej zmiennej o tej samej nazwie. Lepiej daną zmienną wrzucić jako parametr a zwrócić poprzez return. Ewentualnie, jeśli wiesz co robisz, użyć referencji.
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 25.08.2025 - 05:34 |