Kurs jQuery – wybieranie elementów z DOM

Prostota jQuery to jedna z najpopularniejszych bibliotek JS. Jednym (choć nie jedynym) z powodów jej popularności jest prostota z jaką umożliwia wybieranie elementów na naszej stronie, na których chcemy wykonać jakieś operacje. Do dyspozycji mamy mnóstwo selektorów i metod pomocniczych, które powodują, że operacje na elementach DOM stają się szybkie i przyjemne. Dzięki bibliotece zaoszczędzimy wiele linii kodu, który musieli byśmy napisać w czystym JS, aby osiągnąć to samo.

Dodatkowe korzyści

Używanie jQuery poza uproszczonym wybieraniem elementów ma co najmniej dwie powiązane z tym zalety. Po pierwsze nie musimy się martwić o kompatybilność z przeglądarkami – jQuery dba o to za nas. Druga sprawa to automatyczne iteracje, które jQuery wykonuje za nas. Chodzi o to, że jeśli wybierzemy za pomocą jQuery elementy o określonej klasie, to niezależnie czy taki obiekt jest jeden czy dziesięć, my wywołujemy określoną metodę (np dodanie klasy) na obiekcie jQuery raz, a jQuery wykona niejawną iterację po wszystkich elementach DOM. Przykład: Czytaj wpis

Apache, PHP i wirtualne hosty

Jakiś czas temu napisałem sobie prosty skrypt w PHP. który służy do dodawania wirtualnych hostów w Windowsie do Apacha. Podzielę się, może komuś się przyda.
Uprzedzam z góry, że jest to skrypt napisany tylko do osobistych zastosowań, więc i jego struktura jest prosta. Był pisany pod natchnieniem chwili i w kilka chwil, więc może zawierać jakieś mało eleganckie rozwiązania :)

Jak działa

Po graniu plików do katalogu ze stronami dla naszego Apacha, wywołujemy jego adres w przeglądarce (np http://localhost/add_domain/). Naszym oczom ukaże się poniższy obrazek:

Na górze podajemy katalog z plikami naszej nowej strony/aplikacji www, niżej nazwę jakiej chcemy używać w przeglądarce. I w zasadzie tyle.Klikamy „Dodaj domenę” i cieszymy się, że zamiast pisać http:://localhost/moja_strona/wersja2 możemy wpisywać http://moja_strona.
Takie rozwiązanie niesie za sobą kilka innych korzyści, ale to nie temat tego wpisu.

Czytaj wpis

AJAX i jQuery (cz. 2)

Witam w drugiej części wpisu o AJAX’ie i jQuery. Jeśli ktoś jeszcze nie miał okazji zapraszam do lektury części 1. Tym razem, tak jak obiecałem, prześlemy dane w obie strony. Zrobimy to na przykładzie formularza kontaktowego. Po wypełnieniu go przez użytkownika, wyślemy zawartość na serwer, sprawdzimy tam, czy pola zostały poprawnie wypełnione i jeśli tak wyślemy maila, a do przeglądarki odpowiedź o tym czy udało się wysłać maila, czy nie. Jeśli mail zostanie wysłany wyczyścimy formularz. Wszystko to zrobimy bez przeładowywania strony.

W związku z tym, że mamy do wykonania jakieś operacje po stronie serwera wykorzystamy w przykładnie PHP.

Czytaj wpis

AJAX i jQuery (cz. 1)

W tym wpisie przedstawię jak załadować dane na stronę internetową bez jej przeładowywania. Wykorzystam w tym celu popularną bibliotekę JS o nazwie jQuery. Upraszcza ona operacje pobierania i wyświetlania danych na stronie i zapewnia działanie we wszystkich popularnych przeglądarkach.

Dzięki zastosowaniu AJAX’a możemy osiągnąć mnóstwo ciekawych rzeczy, ale przede wszystkim możemy przyspieszyć wyświetlanie informacji na stronie.

Czytaj wpis

Obsługa daty i czasu w PHP

O czym będzie

Każdy programista PHP zapewne zna funkcje date(), time() itp. Każdy kto ich używał wie też, że często ich użycie jest niewygodne i osiągniecie niektórych rzeczy jest trudne (np. policzenie różnicy w dniach miedzy określonymi datami). Dzisiaj chciałbym Wam przybliżyć wprowadzoną w PHP 5.2 klasę DateTime, która moim zdaniem upraszcza zadanie związane z obsługą czasu.

Konstruktor

Konstruktor klasy DateTime wygląda następująco:

public DateTime::__construct() ([string $time="now" [,DateTimeZone $timezone=NULL]])

Czytaj wpis

Narzędzia przydatne webmasterom

Słowo wstępu. W dzisiejszym wpisie przedstawię wam kilka narzędzi, które mogą ułatwić pracę nad stronami i aplikacjami internetowymi. Zaletą (pewnie i wadą jednocześnie) tych narzędzi jest to, że dostępne są online i działają w przeglądarce. Zachęcam każdego zainteresowanego do wypróbowania narzędzi. Część oszczędzi nam sporo czasu, część pozwoli nam tworzyć lepsze aplikacje.

Dobór kolorów

http://www.colorschemer.com/online.html
Jeśli ktoś ma problem z doborem pasujących do siebie kolorów może skorzystać z automatów, które podpowiedzą jakie kolory pasują do wybranego koloru bazowego.

 

Kolor bazowy możemy wybrać z lity lub wpisać ręcznie RGB lub lepiej znane webmasterom wartość HEX. Strona wygeneruje nam 16 kolorów, które wspólnie z wybranym powinny się dobrze komponować. Wynik co prawda nie zawsze jest idealny, ale często uda nam się wybrać 3-4 kolory na stronę. Ze strony można pobrać też bardziej rozbudowaną wersje programu działające na komputerze. Czytaj wpis

Prawa Murphy’ego cz III

Dziś kolejny wpis z Prawami Murphy’ego. Miałem założenie, że będą co niedzielę, ale w ostatni weekend była taka pogoda, że szkoda było czasu na siedzenie przed ekranem. Dziś będą prawa różne, z różnych dziedzin. Zapraszam też (jeśli ktoś jeszcze nie czytał) do części I i części II wpisu.
Zaczynamy.

Obserwacja Farnsdicka

Po tym, jak wpadniesz z deszczu pod rynnę, cykl się powtórzy

Prawo Lyncha

Kiedy zaczyna się robić gorąco, wszyscy nagle wychodzą

Prawo Evansa i Bjorna

Niezależnie od tego co się nie uda, zawsze znajdzie się ktoś, kto wiedział, że tak będzie

Prawa Langsama

  • Wszystko zależy
  • Nic nie jest zawsze
  • Wszystko jest czasami Czytaj wpis

Prawa Murphy’ego cz II

Witam.
Przy kolejnej niedzieli postanowiłem kontynuować wpis dotyczący tytułowych praw. Jeśli ktoś jest zainteresowany zapraszam do części pierwszej, w której krótko wyjaśniam czym są prawa i cytuję pierwszą partię: Prawa Murphy’ego cz I
Bez zbędnych wstępów cytuję:

Uwagi o opóźnionym błędzie

  • Decydujący błąd odkryjesz dopiero wtedy, kiedy program działa 6 miesięcy bez zastrzeżeń
  • Błąd ten zafałszuje albo zniszczy dokładnie te dane, które nie są w żaden sposób do odtworzenia i które są najistotniejsze dla funkcjonowania systemu
  • Kod źródłowy zniknął w międzyczasie i jest nie do odnalezienia

Czytaj wpis

Sprawdzanie zmiennych w PHP

O czym będzie

Piszemy sobie różne rzeczy w PHP i czasem coś nie działa jak tego byśmy oczekiwali. Co robimy? Szukamy błędu. Często najtrudniejszymi błędami do znalezienia są błędy w algorytmach i logice programu, a nie te w składni. Błędy w nazwach funkcji, brak przecinka czy średnika wyrzuci nam samo PHP – może nie dokładnie, ale wiemy mniej więcej czego szukać. Gorzej, jeśli program działa, tylko wyniki są błędne.
W tym wpisie podam trzy proste i szybkie w zastosowaniu metody szukania błędów w tym co przechowują nasze zmienne w czasie działania skryptu.

Najprościej

Czasami najprostsze rozwiązania są najskuteczniejsze. Wielu programistów PHP zapomina, że zwykła funkcja (a w zasadzie konstrukcja języka) echo() może świetnie się sprawdzić przy kontroli tego co przechowują zmienne.
Wystarczy w kilku kolejnych miejscach wystąpienia danej zmiennej ją wydrukować na ekranie i już wiemy co się dzieje.
Oczywiście takie rozwiązanie sprawdzi się tylko w sytuacjach najprostszych, kiedy w zmiennych zapisany jest tekst, albo cyfry.

Więcej informacji, ale mało czytelnie

Ciekawą funkcją dostępna w PHP jest funkcja

void var_dump(mixed zmienna[, mixed zmienna2[,...mixed zmiennaN]])

Czytaj wpis

Polskie znaki w temacie maila wysyłanego funkcją mail()

Jeśli wysyłacie maile funkcją mail() w PHP być może natknęliście się na problem polskich znaków. W samej treści maila z problemem radzimy sobie dodając dodatkowy nagłówek – na co pozwala funkcja mail() np:

$naglowek ="Content-type: text/html; charset=utf-8";

Niestety dodanie nagłówka nie ma wpływu na kodowanie znaków w temacie maila. Aby poradzić sobie z tym problemem musimy zakodować base64 temat i dodać do tematu odpowiednie informacje o kodowaniu:

$temat= "=?UTF-8?B?".base64_encode("Temat z ogonkami ęóąśłżźćń")."?=";

Po pierwszym znaku zapytania dajemy informacje o kodowaniu znaków, po następnym o kodowaniu base64 (literka „B”).
Cytując manual PHP o base64:

Ten sposób kodowania został zaprojektowany, aby móc bezpiecznie przesyłać dane binarne, poprzez warstwy transportujące nie zaprojektowane do obsługi 8 bitowego przesyłania informacji, np. treść emaila.

Starsze posty «