![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 65 Pomógł: 0 Dołączył: 12.06.2002 Skąd: Kraków / Będzin Ostrzeżenie: (0%) ![]() ![]() |
mam formularz, a w nim takie coś:
Kod <input name="tablica[klucz]" id="tablica[klucz]" type="text" />
nastepnie przesylam go, i wykonywany jest taki kod: [php:1:ef8c841b08]<?php echo $_POST['tablica']['klucz']; ?>[/php:1:ef8c841b08] i oczywiscie wszystko działa, natomiast z manuala http://www.php.net/manual/pl/language.types.array.php w akapicie "Co wolno, a czego nie w tablicach?" wynika jasno i wyraznie, że konstrukcja tablica[klucz] nie jest poprawna. I moje pytanie, czy to odnosi się też do formularzy w XHTML'u (HTML'u) ? hmmm ... chyba nie, w koncu do tego potrzebna inna specyfikacja. Niestety na W3C znalazłem coś takiego, odnośnie atrybutów id i name tagu input: Cytat ID and NAME tokens must begin with a letter ([A-Za-z]) and may be followed by any number of letters, digits ([0-9]), hyphens ("-"), underscores ("_"), colons (":"), and periods (".").
Wynika z tego, że tego typu nazwy zmiennej nie są zgodne ze specyfikacją. Zastanowilo mnie to dlatego że początkowo użyłem w tagu INPUT nazwy zmiennej tablica['klucz'] i okazało się, że kluczem tablicy tablica w odwołaniu do zmniennej zawartej w powyższym kodzie jest nie klucz tylko 'klucz', a wiec kod musiałby wyglądać tak: [php:1:ef8c841b08]<?php echo $_POST['tablica']["'klucz'"]; ?>[/php:1:ef8c841b08] Co wy o tym myślicie? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 8.01.2004 Skąd: 3miasto Ostrzeżenie: (0%) ![]() ![]() |
witaj.
w manualu php napisali ze skladnia $tablica[klucz] jest nieprawidlowa, bo ciag znakow -> klucz <- nie jest traktowany jako string, dla php string to cos, co znajduje się wewwnątrz cuczysłowó. - pojedyńczych ('string'), wtedy, jest interprwtowany doslownie - podwójnych ("strong", wtedy następue tzw interpolacja zmiennych (gdzieś to przeczytałem 8) ) , tzn zmnienne które są w takim cudzysłowie, zamieniane są na ich wartości. jeżeli chodzi o HTML, to tam coś, co wpiszesz pomiędzy '[' i ']' jest jakby automatycznie traktowane jako string, tak więc jak wpiszesz tablica['klucz'] to jak się już zorientowałes, kluczem będzie ->'klucz'<- a nie ->klucz<- to chyba bylo by wszystko. jeżeli popełniłem jakis błąd, to wybaczcie, ale to mój pierwszy post na tym forum. (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) |
|
|
![]() ![]() |
![]() |
Aktualny czas: 11.10.2025 - 10:00 |