[#1] [php] znikające zmienne
Mam taki kawałek kodu:
'.$b_off[1].'<';
  ?>


To wszystko jest wstawione na samym początku pliku, jeszcze przed otwierającym tagiem HTML, ale to chyba nieistotne w przypadku PHP.

Tak wygląda wynik wykonania tego kodu:
on on on on on off off off off off ><

Pomiędzy znakami >< spodziewałem się stringa "off", a jak widać zmienna tablicowa $b_off[1] okazuje się być pusta. Sprawdziłem w ten sposób obie tablice inicjowane i wypełniane w dwóch pętlach na początku kodu i obie mają puste elementy.
Najdziwniejsze jest to, że gdy zamiast odwoływać się do nich poprzez podawanie indexu na sztywno tak jak w tym przykładzie z indexem 1, tylko poprzez zmienną a, to elementy tablic okazują się zawierać stringi, tak jak zostały ustawione na początku.
Nie rozumiem dlaczego PHP widzi te elementy jako puste, gdy odwołuję sie do nich poprzez bezpośrednie podanie indexu tablicy.
[#2] Re: [php] znikające zmienne

@R-Tea, post #1

Polecam włączenie debug w php.ini od razu zobaczysz co jest nie tak :)
Na początku nadajesz wartości zmiennej $a, a później jako indeksu używasz STAŁEJ a (brak znaku $).

pozdrawiam
Szymon Zygmański
[#3] Re: [php] znikające zmienne

@zyga64, post #2

Dzięki! Teraz działa. Nie dałem znaków $ do indexów, bo zmyliło mnie to, że same elementy tablicy mają już te znaki. Całe $b_on[a] ma już znak $ jako zmienna, więc po co jeszcze jeden $ w środku? ;)
Przy okazji zauważyłem, że index tablicy GET mam też bez $ i w dodatku w cudzysłowie (nie wiem czy skądś ten cudzysłów podpatrzyłem, czy sam mi wpadł do głowy).
$page = $_GET['p'];

Ale w tej części wszystko akurat mi działa tak jak chcę dlatego nie zwróciłem na to uwagi. Zaopatrzyć index p w znak $ i usunąć apostrofy tak profilaktycznie? :)
[#4] Re: [php] znikające zmienne

@R-Tea, post #3

Nie usuwaj apostrofów i nie dodawaj $. odwołanie $_GET['p'] jest odwołaniem po nazwie komórki tablicy (przekazanej z nazwy obiektu formularza), a nie po indeksie i jest poprawne.

Na stronie www.PPA.pl, podobnie jak na wielu innych stronach internetowych, wykorzystywane są tzw. cookies (ciasteczka). Służą ona m.in. do tego, aby zalogować się na swoje konto, czy brać udział w ankietach. Ze względu na nowe regulacje prawne jesteśmy zobowiązani do poinformowania Cię o tym w wyraźniejszy niż dotychczas sposób. Dalsze korzystanie z naszej strony bez zmiany ustawień przeglądarki internetowej będzie oznaczać, że zgadzasz się na ich wykorzystywanie.
OK, rozumiem