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 (1 - 8)
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
spenalzo
post
Post #3





Grupa: Zarejestrowani
Postów: 2 064
Pomógł: 1
Dołączył: 22.01.2003
Skąd: Poznań

Ostrzeżenie: (0%)
-----


Sam sobie odpowiedziałeś (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
W HTML poprawne jest chyba bez 'apostrofów' ... Tym bardziej, że odczyt w php jest udziwniony.
Go to the top of the page
+Quote Post
Cudi
post
Post #4


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)
Go to the top of the page
+Quote Post
hubertsk
post
Post #5





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 8.01.2004
Skąd: 3miasto

Ostrzeżenie: (0%)
-----


dokladnie to chcialem napisac..
hehe (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
wallace
post
Post #6





Grupa: Zarejestrowani
Postów: 65
Pomógł: 0
Dołączył: 12.06.2002
Skąd: Kraków / Będzin

Ostrzeżenie: (0%)
-----


jaaaa ... tego się nie spodziewałem, że ktoś jeszcze zajrzy do mojego posta po takim czasie odsyłania w kąt ;-) , nie mówiąc o odpowiedzi (IMG:http://forum.php.pl/style_emoticons/default/snitch.gif)
dzieki :-)
pozdrawiam :-)
Go to the top of the page
+Quote Post
DeyV
post
Post #7





Grupa: Zarząd
Postów: 2 277
Pomógł: 6
Dołączył: 27.12.2002
Skąd: Wołów/Wrocław




Ale sie nam ludzie rozbestwili (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) Czas odpowiedzi - 10 dni uznają za odstawienie w kąt... I pomyśleć, że na niektórych forach/listach byłoby to uznane za całkiem dobry czas (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)
Go to the top of the page
+Quote Post
Cudi
post
Post #8


Administrator planeta/IRC


Grupa: Przyjaciele php.pl
Postów: 385
Pomógł: 0
Dołączył: 19.04.2003
Skąd: Zabrze

Ostrzeżenie: (0%)
-----


Ale przy średniej tego forum 10 dni to naprawde długi okres, do niektórych postów po 5 minutach jest kilka odpowiedzi (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) I to pewnie przynosi temu forum coraz większą popularność (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
wallace
post
Post #9





Grupa: Zarejestrowani
Postów: 65
Pomógł: 0
Dołączył: 12.06.2002
Skąd: Kraków / Będzin

Ostrzeżenie: (0%)
-----


wlasnie ;-) jak to 10 dni musialo wplynac na moja psychike ... porzucony, niechiany ;-) hyhy .. oke ... koniec ... bo sie bardzo OT robi :-)
Go to the top of the page
+Quote Post

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: 23.08.2025 - 15:45