![]() |
![]() ![]() |
![]() |
-ptm- |
![]()
Post
#1
|
Goście ![]() |
Witam
Jestem poczatkujacy w php i mam spory choc dosc prymitywny problem... Jak zrobic w php odpowiednik zmiennej static z C ? Chodzi o to ze funkcja tworzy formularz ktory jest przekazywany przez POST do pliku php, ten nastepnie wywoluje nowa funkcje z tego samego pliku co funkcje poprzednia. w tej funkcji na poczatku deklaruje jakas zmienna np $i=0 i nastepnie ja zmieniam. Wracam wtedy do pierwszej funcji i tak w kolku. Problem w tym ze jak wracam do 2giej funkcji to chce zeby operacja zostala wykonana na wczesniej obliczonej warotsci, czyli zeby nie byla ponownie definiowana jako $i=0. uhmmm mam nadzieje ze to w miare wyjasnilem... nie bede ladowal kodu bo troche za duzo by bylo probowalem juz funkcji static tak jak to sie robi w C, zmiennej globalnej ale ona tez jakos znika (robie to w php4 i wiem ze sa jakies problemy ze zmiennymi superglobalnymi ale za bardzo nie wiem jakie), przekazywanie tej zmiennej miedzy funkcjami to moze i skuteczny ale wyjatkowo oblesny sposob, probowalem tez sztuczki w stylu isset ale tez za bardzo nie dziala bo wydaje mi sie ze ta zmienna moze byc kasowana po wyjsciu z funckji, jesli tak to jak sobie z tym poradzic? bardzo prosze o pomoc bo sie z tym mecze juz kilka godzin a wiem ze to prymitywna sprawa |
|
|
![]()
Post
#2
|
|
![]() Grupa: Przyjaciele php.pl Postów: 5 724 Pomógł: 259 Dołączył: 13.04.2004 Skąd: N/A Ostrzeżenie: (0%) ![]() ![]() |
Wywolanie dwoch stron w php (skryptow) to jak dwa razy uruchomienie programu napisanego w C -- zmienne nie sa miedzy nimi przekazywane, mozesz je zapisac w pliku/DB/sesji/$_GET/$cookie, itd i odczytac w drugim WYWOLANIU SKRYPTU (choc w obu wywolaniach korzystasz z tego samego KODU SKRYPTU).
-------------------- Nie lubię jednorożców.
|
|
|
-Guest- |
![]()
Post
#3
|
Goście ![]() |
problem w tym ze wywolujac formularz metoda POST kasowane sa zmienne sesji i global....
ale domyslam sie ze to juz osobny problem, pewnie wielokrotnie poruszany... wiec nie zabieram wam juz czasu |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 190 Pomógł: 0 Dołączył: 12.02.2004 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Nie wiem czy dobrze zrozumiałem, ale chyba chodzi tutaj o zmienne globalne. Jeśli zmienną $i zmieniasz za pomocą funkcji wywoływanej n razy to na początku funkcji umieść linijkę "global $i;", która sprawi, że zmienna $i wewnątrz funkcji nadpisze wartość zmiennej $i poza funkcją (w całym skrypcie).
-------------------- |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 31.07.2025 - 07:53 |