Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> array i XHTML(HTML)
wallace
post
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?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
hubertsk
post
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)
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 11.10.2025 - 10:00