![]() |
![]() |
![]()
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
|
|
Administrator planeta/IRC Grupa: Przyjaciele php.pl Postów: 385 Pomógł: 0 Dołączył: 19.04.2003 Skąd: Zabrze Ostrzeżenie: (0%) ![]() ![]() |
Cytat 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ó. (...) jeżeli popełniłem jakis błąd, to wybaczcie, ale to mój pierwszy post na tym forum. :) Masz racje, php potraktuje klucz nie zamknięty cudzyłowami/apostrafami jaką stałą. Jednak jeśli nie będzie zdefiniowanej stałej o tej nazwe php potraktuje ten ciąg znaków jako string, i wyrzuci notice'a. Ps. Witamy na forum (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) |
|
|
![]() ![]() |
![]() |
Aktualny czas: 11.10.2025 - 17:20 |