Atrybuty ogólne kontrolek formularza w HTML i PHP

Tematy dotyczące webowych języków programowania.
Awatar użytkownika
steo
Posty: 173
Rejestracja: 30 kwie 2015, 15:05
Lokalizacja: Universe

Atrybuty ogólne kontrolek formularza w HTML i PHP

Post autor: steo »

Powitał,
jedziemy z tematem, bez zbędnej paplaniny. ;)

Atrybuty ogólne kontrolek formularza

Większość kontrolek zawartych w formularzu ma atrybut name (wyjątkami są przyciski zatwierdzające
i resetujące formularz, opcje i grupy opcji option oraz optgroup, a także elementy fieldset, legend i label).
Atrybut ten ustala nazwę kontrolki, jaka będzie przekazana do skryptu.
Jeśli wewnątrz następującej kontrolki input:

Kod: Zaznacz cały

<input name="email" />
wprowadzimy napis steo@mistrz.com,(:)) wówczas do skryptu przetwarzanego po stronie serwera zostanie
przekazana zmienna:

Kod: Zaznacz cały

email=steo@mistrz.com
W języku PHP powyższa zmienna będzie dostępna (w zależności od atrybutu method elementu form)
w jednej z tablic $_POST lub $_GET, np.:

Kod: Zaznacz cały

$_GET['email'] === 'steo@mistrz.com'
$_POST['email'] === 'steo@mistrz.com'
Następnym atrybutem, który będziemy dołączać do większości kontrolek, jest atrybut value.
W zależności od kontrolki atrybut ten ustala bieżącą wartość zmiennej lub etykietę kontrolki.
Również atrybuty readonly, disabled, accesskey oraz tabindex znajdują zastosowanie w odniesieniu do
wielu kontrolek formularza. Atrybuty readonly oraz disabled są atrybutami logicznymi, których wartość
ustalamy następująco:

Kod: Zaznacz cały

<input name="imie" readonly="readonly" disabled=" disabled " />
Atrybut readonly uniemożliwia modyfikację wartości kontrolki. Kontrolka taka jest widoczna i może
stać się aktywna (tj. możemy, korzystając na przykład z tabulatora, umieścić kursor wewnątrz kontrolki).
Nie możemy jednak zmieniać jej wartości. Po zatwierdzeniu formularza kontrolka taka jest przesyłana
do skryptu przetwarzającego formularz.

Natomiast kontrolki mające atrybut disabled są niedostępne. Nie możemy zmieniać ich wartości ani
ich uaktywniać. Co więcej, po przesłaniu formularza wartości kontrolek oznaczonych atrybutem disabled
nie są przesyłane do skryptu.

Jedynym sposobem na odblokowanie kontrolek readonly oraz disabled jest odpowiednie oprogramo-
wanie zdarzeń formularza lub kontrolek w JavaScript. W przeciwnym razie kontrolki takie będą przez cały
czas niedostępne.

Atrybut accesskey ustala skrót klawiszowy dla danej kontrolki.
Ostatni z atrybutów ogólnych, tabindex, umożliwia ustalenie kolejności, w jakiej kontrolki formularza
będą aktywowane tabulatorem. Wartością atrybutu jest liczba całkowita ustalająca pozycję kontrolki na
liście.

Inspirowane książką Włodzimierza Gajdy.
Obrazek
Obrazek
Jak to się mówi... Z debilami nie dyskutuję. Ale trzeba z kimś rozmawiać? ~steo
Kenjin
Ekipa HEP
Posty: 122
Rejestracja: 04 sty 2016, 22:10

Re: Atrybuty ogólne kontrolek formularza

Post autor: Kenjin »

Nie jest to do końca prawda. To zależy od programisty i struktury strony jakich atrybutów używa do przesyłania informacji skryptom. Zazwyczaj są to pary value/name (w przypadku inputów) ale równie dobrze mogą to być pary value/ID czy nawet custom_attr/value. Najlepiej zawsze spojrzeć w kod i ustalić co jest przesyłane do skryptu, javascriptu nie da się ukryć, więc dokładnie wiadomo co, jaka metodą i gdzie jest przesyłane.
Jeżeli chodzi o możliwości zmiany atrybutów, to używając .js lub jquery (w zaleznosci od servera) można je dowolnie modyfikować, dlatego zabezpiecznia typu "disabled" powstrzymają tylko laika. To samo tyczy się atrybutu hidden, często słabi webmasterzy próbuja ukryć jakieś treści na stronie w ten sposób, wystarczy wtedy odpalić konsole i zmienic atrybut danego obiektu na hidden=false.
Awatar użytkownika
F3nix
Posty: 332
Rejestracja: 28 kwie 2015, 20:51

Re: Atrybuty ogólne kontrolek formularza

Post autor: F3nix »

To jest dedykowane chyba bardziej dla początkujących więc nie ma czego się czepiać. Oni nie rozgraniczają takich niuansów na początku nauki. Widać @Kenjin że masz doświadczenie w PHP.

To się zgadza, ale sprawdzanie po stronie klienta i zabezpieczanie na różne sposoby formularza po jego stronie głownie ma inny cel. Odciążenie serwera. Kiedyś dawno temu analizowaliśmy nowy trend aplikacji typu Gmail, Fejsbuki i okazuje się że olbrzymia część logiki dzisiaj przenoszona jest na komputer klienta (oczywiście weryfikowane jest wiele rzeczy). BTW: Okazuje się, że na tak gigantycznych stronach z wykorzystania procesora komputera użytkownika czerpie się olbrzymie oszczędności głównie finansowe (energia, zużywanie fizyczne sprzętu). Do tego sama płynność z asynchroniczności komunikacji wpływa pozytywnie też na wrażenia samego użytkownika.

Kiedyś dla mnie było śmieszne powiedzenie nieco metaforyczne że masz tak słaby komputer, że Internet Ci nie chodzi (utożsamiając go ze stronami WWW). Dzisiaj już to widać, że możliwości technologii webowych są tak duże że starsze maszyny mogą ledwo zipać.

Co do JS to pewne sprostowanie na dzień dzisiejszy. Istnieje javascript wykonywany server side. Np: Node.js, SilkJS i serwery do tego przystosowane typu Aptana Jaxer. Można też zaciemniać kod JS co wielkie giganty robią (obfuskacja) ale wiadomo, że spece wprawni w JS i tak sobie to przetłumaczą z biegiem czasu.
Kenjin
Ekipa HEP
Posty: 122
Rejestracja: 04 sty 2016, 22:10

Re: Atrybuty ogólne kontrolek formularza

Post autor: Kenjin »

Chciłaem poprostu podgrzać dyskusję, oczywiście nie czepiam się autora :).

Jeśli chodzi o odciążanie serwerów to również masz racje. Wystarczy wejść na facebooka i właczyć w friebuga(ff)/tryb programisty(chrome) a nastepnie zobaczyc ile ciasteczek jest zapisywanych lokalnie!!! Tu niestety bardzo nieuczciwie twórcy wykorzystują tzw. 3rd party cookies czyli "wszczepianie" na inną stronę obrazków ze swoim linkiem aby zbierać informacje o poczynaniach użytkowników.
Ma to też swoje plusy tak jak napisałeś strona funkcjonuje szybciej bo nie musi rozważać każdego requesta asynchronicznie.

Co do ostatnie to jestem świadom istnienia node.js czy SilkJS ale nigdy nie zauważyłem ich przewagi nad starym dobrym PHP.
Awatar użytkownika
F3nix
Posty: 332
Rejestracja: 28 kwie 2015, 20:51

Re: Atrybuty ogólne kontrolek formularza

Post autor: F3nix »

Podgrzewasz dyskusje forum, które umarło zanim się urodziło. :lol: :lol: :lol:
Ja nie mam nic do PHP. Nie wiem tylko czemu całe studia wmawiano nam na pół serio, że PHP to nie jest język programowania... :lol:

BTW: Może się orientujesz c do ciasteczek Facebooka. Nie badałem tego ostatnio ale nadal jeśli w jakiś sposób się je przechwyci z sesyjnymi i wprowadzi do swojej przeglądarki WWW wraz z ustawieniem takiego samego user-agenta to będziemy zalogowani na dane konto (do momentu wygaśnięcia sesji/wylogowania się go)? Czy teraz Facebook może w końcu wprowadził jakieś wykrywanie identycznego adresu IP lub lokalizacji (chociaż w sieci LAN to wiadomo że z IP problemu nie ma do przetestowania tego)? Jestem za leniwy by mi się chciało to sprawdzić.

Może też wiesz czy jest już jakaś porządna wtyczka do automatycznego eksportu wszystkich ciastek z danej domeny, aby sobie zaimportować go w drugiej przeglądarce (lub nawet w tej samej po wyczyszczeniu)?
Awatar użytkownika
steo
Posty: 173
Rejestracja: 30 kwie 2015, 15:05
Lokalizacja: Universe

Re: Atrybuty ogólne kontrolek formularza w HTML i PHP

Post autor: steo »

Skoro wszędzie mówiono, że PHP, to nie język, to spróbujcie znaleźć informatyka zajmującego się PHP, który nie ma pracy. :)
Obrazek
Obrazek
Jak to się mówi... Z debilami nie dyskutuję. Ale trzeba z kimś rozmawiać? ~steo
Kenjin
Ekipa HEP
Posty: 122
Rejestracja: 04 sty 2016, 22:10

Re: Atrybuty ogólne kontrolek formularza w HTML i PHP

Post autor: Kenjin »

Zarówno PHP jak i ASP a ostatnio też python i django to przyszłość :). Obecnie wszystko kręci się wokół internetu a to są najlepsze technologie.
Awatar użytkownika
F3nix
Posty: 332
Rejestracja: 28 kwie 2015, 20:51

Re: Atrybuty ogólne kontrolek formularza w HTML i PHP

Post autor: F3nix »

Mam takie samo zdanie. Teraz wszystko przenosi się do internetu. Łącznie z tak zaawansowanymi pakietami biurowymi jak Word/Google Doc. W sumie świadczy to o tym, że być może w przyszłości biurkowe komputery nie będą musiały być tak mocne (nie mówie o grach/grafice) bo wszystkie obliczenia będą w mocnych chmurach zewnętrznych wykonywane a użytkownik tego na pierwszy rzut oka nie będzie widział (patrz: chromebook). Niestety czar pryska gdy jest awaria Internetu lub nie ma dostępnej sieci WiFi w pobliżu.... :lol:
Awatar użytkownika
steo
Posty: 173
Rejestracja: 30 kwie 2015, 15:05
Lokalizacja: Universe

Re: Atrybuty ogólne kontrolek formularza w HTML i PHP

Post autor: steo »

Na podobnej zasadzie: wszystko obsługuje jakiś serwer intranetowy w firmie i dane zapisywane w czasie rzeczywistym. To jest ciekawa rzecz!
Obrazek
Obrazek
Jak to się mówi... Z debilami nie dyskutuję. Ale trzeba z kimś rozmawiać? ~steo
Mariazeway
Posty: 1
Rejestracja: 12 sie 2019, 22:25

Atrybuty ogólne kontrolek formularza w HTML i PHP

Post autor: Mariazeway »

Przymierzam się do skończenia prostego checkera plików php tylko do wglądu dla głównego administratora, założyciela forum. Napisałem taki o to prosty skrypt. Jednak jest mały problem. Szablon się zapętla tak jak na zrzucie. Czy zrobiłem jakiś błąd w pętli? Może ktoś spojrzy trzeźwym okiem, wydaje mi się, że foreach

Obrazek
:)
ODPOWIEDZ