Tworzenie stron internetowych

Jak stworzyć sklep internetowy

Zakładanie sklepu internetowego może wydawać się trudnym przedsięwzięciem. Może tak kiedyś było, ale dziś mamy do wyboru wiele rozwiązań, które pozwalają nam w prosty sposób założyć sklep internetowy.
Jeżeli zależy nam na czasie i nie wymagamy wielu zmian w kodzie lub personalizacji, to polecam sklepy „one-click”.

Oferta sklepów „one-click” polega na tym, że rejestrujemy konto w serwisie udostępniającym usługę i podczas rejestracji tworzony jest sklep internetowy. Najczęściej wymagana konfiguracja to podanie danych do serwisów płatniczych, allegro stworzenie własnych kategorii oraz co najważniejsze dodanie produktów.

Takie sklepy oferują minimalną funkcjonalność, która dla przeciętnego klienta jest wystarczająca. Przykładami takich sklepów są:

iai-shop,
home click shop.

Jednakże dla bardziej wymagających klientów polecam skorzystanie z sklepów, które należy samemu zainstalować na serwerze.

[…]

Autor |Grudzień 23rd, 2013|Tworzenie stron internetowych|0 komentarzy

Obserwator w PHP

Jak pisałem w poprzednich postach, programowanie obiektowe wiąże się ściśle z pewnymi praktykami i wzorcami, które ułatwiają rozwiązywanie problemów napotykanych przez programistów. W poprzednich wpisach opisywałem wzorce kreacyjne, czyli takie, które odpowiadały za tworzenie obiektów. W tym wpisie opiszę wzorzec behawioralny. Wzorce behawioralne opisują relację pomiędzy obiektami oraz ich zachowania.
Wzorzec obserwator w PHP
Wzorzec obserwatora(ang. Observer pattern) odpowiedzialny jest za powiadamianie obiektu A o zmianie stanu obiektu B. Mówiąc ludzkim językiem, gdy coś się wydarzy w obiekcie A to informuje on obiekt B o tym, a obiekt B reaguje odpowiednio na to wydarzenie. Obiekt A jest nazywany „obserwowanym”, a obiekt B jest „obserwatorem”.

Na diagramie wygląda to tak:

W przykładzie, który przedstawię Subject to obiekt obserwowany, a ConreteObserver to klasy implementujące interfejs Observer.
interface Observer{
public function update(Observable $observable);
}
Zawiera deklarację metody update, która jest wywoływana w obiekcie obserwującym podczas zmiany stanu obserwatora.

[…]

Autor |Grudzień 20th, 2013|PHP, Tworzenie stron internetowych, Wzorce projektowe|2 komentarze

Wzorzec Fabryka(Factory) w PHP

Fabryka jest bardzo popularnym kreacyjnym wzorcem projektowania aplikacji. W tym wzorcu klasa odpowiada, za tworzenie obiektu, który chcesz użyć. Wyobraźmy sobie to na przykładzie fabryki samochodów. Jesteśmy sprzedawcą i składamy zamówienie na Mercedesa klasy C i taka fabryka nam wyprodukuje taki samochód.

Prześledźmy poniższy kod obrazujący powyżej opisane przeze mnie zdarzenie.
<?php

interface […]

Autor |Grudzień 19th, 2013|PHP, Tworzenie stron internetowych, Wzorce projektowe|0 komentarzy

Dlaczego warto używać JQuery

JQuery to biblioteka, dzięki której pisanie skryptów w JavaScript okazało się przyjemne i proste. Nie musisz już zwracać uwagi na kompatibilność kodu JavaScript oraz pisać bardzo długich lini kodu aby uzyskać zamierzony efekt. JQuery jest bardzo intuicyjnym i jednocześnie potężnym narzędziem, które pozwala nam tworzyć zaawansowane strony internetowe.
Dlaczego warto używać JQuery?
Weźmy kilka przykładów kodu, […]

Autor |Grudzień 19th, 2013|JavaScript, Tworzenie stron internetowych|0 komentarzy

Canvas w HTML5

Element Canvas jest nowym znacznikiem w HTML5. Znacznik ten wprowadził do HTML obsługę renderowania grafiki 2D oraz 3D. Dzięki niemu za pomocą skryptów JavaScript możemy tworzyć zaawansowane aplikacje graficzne oraz np gry bez konieczności instalowania dodatkowych wtyczek takich jak flash lub Silverlight.

Canvas w prosty sposób umożliwia nam rysowanie elementów.

Prześledzmy kilka przykładów przygotowanych przeze mnie:

Jest […]

Autor |Grudzień 16th, 2013|JavaScript, Tworzenie stron internetowych|0 komentarzy

Wzorzec Singleton w PHP

Wzorzec singleton-a przez wiele osób uważany jest jako antywzorzec ponieważ bardzo często jest nadużywany i niektórym osobom zastępuje użycie zmiennych globalnych. Jednakże są sytuacje, w których warto użyć singletona. Na przykład gdy chcemy pobrać połączenie z bazą danych w ciele funkcji, a nie chcemy dodawać kolejnego argumentu do funkcji.

Przykład singletona dla bazy danych:
<?php

class Database
{
private static $instance;

public static function getInstance()
{
if(self::$instance == null) self::$instance = new Database();

return self::$instance;
}

private function __construct Database(){
//polacz z bazą tutaj

}

}
Pierwszą rzeczą która powinna się rzucić w oczy jest prywatny konstruktor. W programowaniu prywatny konstruktor może być użyty tylko wewnątrz klasy, czyli tworzymy obiekt klasy w niej samej. Następnie zwróć uwagę na obiekt $instance oraz na metodę getInstance();

Obiekt $instance służy nam do przechowywania instancji klasy, natomiast metoda getInstance() w przypadku gdy nie ma instancji to tworzy ją, a jeżeli jest to ją zwraca. Słowo static gwarantuje nam to, że w czasie trwania programu/aplikacji będziemy mieli utworzoną wyłącznie jedną instancję klasy Database.

Przykład użycia: […]

Autor |Grudzień 13th, 2013|PHP, Tworzenie stron internetowych, Wzorce projektowe|0 komentarzy

Walidacja adresu e-mail w PHP

Jednym z często występujących problemów wśród webmasterów jest walidacja adresu e-mail. W PHP do walidacji danych używana jest funkcja preg_match. Funkcja ta przyjmuje jako pierwszy parametr wyrażenie regularne, natomiast drugi parametr to tekst, który ma zostać sprawdzony. Do większości potrzeb wystarczą proste wyrażenia regularne, jednak jeżeli chcemy być w 100% zgodni ze standardem powinniśmy użyć wyrażenia regularnego, które jest zgodne z RFC

[…]

Autor |Grudzień 10th, 2013|PHP, Tworzenie stron internetowych|0 komentarzy

Jak zrobić button w CSS3 wraz z gradientami i efektami

Większość programistów tworzy buttony w programach graficznych. Jednakże, można zrobić to o wiele łatwiej bez konieczności umieszczania grafiki na serwerze. Jak wiadomo im szybciej strona się ładuje tym lepiej; krótki czas ładowania strony ma ogromne znaczenie dla wyszukiwarek i każdy specjalista SEO powinien o tym wiedzieć. Poza tym strona obładowana grafiką nie łąduje się szybko na wolnych łączach internetowych.

Aby stworzyć button skorzystam z kilku efektów CCS3 takich jak text-shadow, box-shadow, linear gradient oraz border-radius.

text-shadow – odpowiada za cieniowanie tekstu
box-shadow odpowiada za cieniowanie pojemnika(kontenera, warstwy itp)
border-radius – jest to efekt, który zaokrągli nam warstwę.

[…]

Problem plecakowy czyli jak zoptymalizować pakowanie

Podczas pisania stron internetowych, a szczególnie w przypadku pisania sklepu internetowego prędzej czy później trafisz na problem Plecakowy. Czyli jak zoptymalizować pakowanie paczek do jakiegoś pojemnika. Wyobraźmy sobie sytuacje, że tworzymy list przewozowy dla kuriera. Klient w sklepie zamówił towary, które mają różną wagę. Naszym zadaniem jest tak spakować produkty by klient zapłacił jak najmniej za przesyłkę.

Problem plecakowy(ang. discrete knapsack problem) jest jednym z najczęściej występujących problemów optymalizacyjnych, przy którym należy wykorzystać algorytmy zachłanne.

Problem plecakowy czyli jak zoptymalizować pakowanie:

 Przy podanym zbiorze elementów o podanej wadze i wartości, należy wybrać taki podzbiór by suma wartości była możliwie jak największa, a suma wag była nie większa od danej pojemności plecaka.

Jak to zrobić? 

Najlepszym rozwiązaniem jest posortowanie paczek po wadze i pakowanie ich do plecaka od najcięzszej do najlżejszej. W przypadku braku miejsca, bierzemy nowy plecak.

 

Rozwiązanie problemu w PHP – kod obiektowy

[…]

Autor |Grudzień 5th, 2013|Algorytmy, PHP, Tworzenie stron internetowych|0 komentarzy

Odliczanie czasu w Jquery

Kolejny wpis poświęcę na napisanie prostego skryptu do odliczania czasu w Jquery. Często takie skrypty wykorzystywane są w stronach i aplikacjach www np. do odliczania czasu pozostałego do automatycznego wylogowania się z aplikacji.

Do tego celu wykorzystam dwie bardzo ciekawe funkcje w JavaScript mianowicie setInterval() oraz clearInterval().

Funkcja setInterval przyjmuje dwa argumenty pierwszym z nich jest […]

Autor |Grudzień 5th, 2013|Tworzenie stron internetowych|0 komentarzy

Tworzenie stron internetowych w modelu MVC

MVC jest to model programistyczny dzielący aplikację na trzy warstwy: model, widok(view) oraz kontroler(controller).

Model jest to warstwa odpowiadająca za obliczenia. Dzięki plikom modelów, możemy pobrać informacje z plików, bazy danych oraz odpowiednio je przetworzyć.

Widok jest warstwą prezentacji, dzięki której użytkownik może zobaczyć efekt działania aplikacji. W przypadku stron internetowych są to zazwyczaj pliki html.

Kontroler jest to warstwa, która łączy widok z modelem. Kontroler ma akcje, które są wywoływane na podstawie odpowiednich parametrów podanych przez użytkownika np. adres strony internetowej.
Praktyczne użycie wzorca MVC
Wyobraźmy sobie sytuacje, gdzie użytkownik wchodzi na stronę internetową pod adresem „http://rpodwika.pl/pliki/pobierzplik/id/3” co się wtedy dzieje?

Podczas wywołania tego adresu kontroller wie, że musi przekazać działanie kontrolerowi „pliki” a następnie wywołać akcje „pobierzplik” i przekazać parametr „id” o wartości „3”. Następnie w tej akcji tworzymy nowy obiekt modelu, który na podstawie wartości 3 zwróci odpowiednie dane, które zostaną wyświetlone za pomocą widoku „pliki/pobierzplik.html”

[…]

Autor |Grudzień 2nd, 2013|PHP, Tworzenie stron internetowych|2 komentarze

Jquery prosty skrypt zakładek

W poprzedniej części omawiałem animacje, tym razem przyszedł czas na prosty skrypt zakładek napisany w JQuery. W poprzednich częściach omawiałem obsługę zdarzeń i kilka funkcji, które w zupełności wystarczają do napisania takiego skryptu.

Pisanie skryptów w JQuery powinniśmy zacząć od poprawnej struktury kodu HTML. W zakładkach będziemy potrzebować elementów, które możemy kilknąć by przejść do […]

Autor |Listopad 29th, 2013|Tworzenie stron internetowych|0 komentarzy

Jquery – podstawy animacji

W poprzednim wpisie przedstawiłem obsługę zdarzeń oraz selektory. W tym wpisie pokażę gotowy przykład, który wykorzystuje animacje. Do zrozumienia tego przykładu będzie potrzebna podstawowa wiedza z CSS, JavyScript oraz HTML.

Potrzebne nam będą 3 warstwy html, jako obiekt warstwy możemy użyć znacznika DIV
<div class="pudelko"></div>
<div class="pudelko zaaograglone"></div>
<div class="pudelko wypasione"></div>
Warstwy te zawierają 3 pudelka, które posłużą nam do zaprezentowania animacji JQuery.

Aby te „pudełka” nabrały wyglądu należy je odpowiednio wystylować, użyję do tego CSS
div.pudelko{width:100px; height:100px; margin:5px; float:left; background-color:red;}
div.pudelko.zaaograglone{border-radius:25px;}
div.pudelko.wypasione{border: 4px solid black;}
Ogólnie każde pudełko ma rozmiar 100×100 px w ogół margines 5px. Pudełka układane są od lewej strony oraz mają czerwony kolor tła. Pudełko zaaokrąglone posiada zaokrąglenie 25px a pudełko wypasione posiada obramowanie o szerokości 4px w kolorze czarnym.

Czas na JQuery.  […]

Autor |Listopad 28th, 2013|Tworzenie stron internetowych|0 komentarzy

Jak zapobiec SQL Injection w PHP

Czym jest SQL Injection?
Z języka angielskiego jest to wstrzyknięcie kodu SQL do programu/skryptu/aplikacji. Program, skrypt, strona, które nie są odporne na ataki SQL Injection stwarzają ogromne ryzko dla użytkownika oraz dla samego systemu. Poprzez SQL Injection atakujący może uzyskać dostęp do naszej bazy danych, modyfikować ją, a nawet usunąć.
Jak wygląda atak SQL injection?
Prześledzmy poniższy kod PHP
$name = $_GET['name'];
mysql_query("SELECT * FROM `uzytkownicy` WHERE `imie` = $name");
parametr $name pobierany jest bezpośrednio z adresu URL, programista zakłada, że użytkownik zawsze wprowadzi imię. Jest to błędne podejście! Co w przypadku gdy ktoś wprowadzi poniższy ciąg znaków?
'Robert'; DELETE * FROM uzytkownicy
Wtedy zapytanie MySQL będzie wyglądało tak:
SELECT * FROM `uzytkownicy` WHERE `imie` = 'Robert'; DELETE * FROM uzytkownicy
Czyli po wykonaniu zapytania SELECT zostaną usunięte wszystkie rekordy z tabeli uzytkownicy!
[…]

Autor |Listopad 28th, 2013|PHP, Tworzenie stron internetowych|0 komentarzy

Jquery dla początkujących zdarzenie ready() oraz click()

Zapewne interesujesz się programowaniem stron internetowych i chciałbyś dodać do nich trochę dynamiki, ale nie wiesz jak. Artykuł przeznaczony jest dla początkujących, którzy chcą zacząć swoją przygodę z JQuery Do tego celu wykorzystywany jest język JavaScript. Czym zatem jest Jquery?

Jquery jest to bliblioteka, która znacznie ułatwia korzystanie z języka JavaScript. Jquery zajmuje bardzo mało […]

Autor |Listopad 27th, 2013|Tworzenie stron internetowych|0 komentarzy