eRIZ’s weblog

PHP, webdesign, Linux, Windows i inne, bo nie samym chlebem człowiek żyje
Serdecznie zapraszam do udziału w ANKIECIE

mod_rewrite - (pozornie) beznadziejne problemy, które można rozwiązać

mod_rewrite, rewriting, przyjazne URL-e/adresy, maskowanie, przepisywanie, nazw jest sporo. Zresztą, najpopularniejsza pochodzi od swojego protoplasty - czyli mod_rewrite powstałego pod skrzydłami Apache’a jako moduł. Teraz właściwie standard, jeśli chodzi o nowoczesne strony www - nie tylko ze względu na wygląd, ale i (jak ptaszki ćwierkają, choć jest to wątpliwe wobec oficjalnych źródeł) SEO.

Jak zwał, tak zwał, adres http://example.org/kawalek/adresu wygląda dużo estetyczniej i jest łatwiejszy do zapamiętania niż potworki typu http://example.org/?kawalek=adresu&i=jeszcze&inny=fin

Niby nie jest to takie skomplikowane, ale niektóre sytuacje wydają się nie do rozwiązania.

Uwaga, notka tasiemcowata, więc jest spis treści. Polecam się również uzbroić w odpowiednią ilość czasu. ;]

więcej

Bot do powiadomień w EKG2

W trakcie rozważań z ^kwiateuszem nad jakimiś usprawnieniami dla Forum PHP.pl (IPBoard) przyszedł mi do głowy pomysł, który zauważyłem kiedyś na Polskim Forum Jabbera. Stworzono do niego mod, który umożliwia powiadamianie użytkowników o nowych postach właśnie przez Jabbera.

Pisałem już o module powiadomień opartym o klasę Jabbera dla PHP, ale co w sytuacji, gdy serwer jest bardziej obciążony? Dla małych forów wcześniej omówione rozwiązanie - jak znalazł. Natomiast w przypadku większych aplikacji będzie stanowiło pewien problem - od wydajności po gubienie powiadomień, czy inne nieprzewidziane sytuacje.

Dlatego wykorzystamy w tym celu popularnego klienta IM pod shella, mianowicie ekg2. Umożliwi on również skorzystanie z powiadomień do innych sieci, m.in. Gadu-gadu, czy Tlen.

więcej

Zdalne publikowanie notek w Wordpressie - XML-RPC w PHP

Jak wygląda życie zwykłego użytkownika Wordpressa…? Otwarcie przeglądarki, logowanie, napisanie notki, publikacja. Zaraz, a gdyby np. skorzystać w tym celu z jakiejś zewnętrznej aplikacji? Owszem, jest tego w pęczki, nie ma sensu wynajdywanie koła na nowo. Jednak protokół, z którego korzystają zewnętrzne aplikacje, może być wykorzystany także w naszych bibliotekach oraz z poziomu samego PHP.

Pomysł na dzisiejszy wpis podsunął mi ^lukjarz. ;]

więcej

Komentarze warunkowe i expressions w Firefoksie

Pewnie wiele osób męczy się podczas cięcia z różnymi bolączkami przeglądarek. Jak to wszystkim (jeśli nie, to teraz już tak), nie ma dwóch przeglądarek identycznie renderujących konkretną stronę. Nawet mój weblog w każdej przeglądarce jest jakoś inaczej narysowany, najczęściej są to błędy rzędu złudzenia optycznego (np. margines, czy inaczej zrenderowane ramki obiektów).

Ale już grubą przesadą jest sytuacja, w której większość przeglądarek radzi sobie bezbłędnie z danym ostylowaniem, a jedna konkretna nie. Na ogół da się odpowiednio przeprojektować layout tak, aby wyeliminować artefakty. Niestety, nie zawsze się tak da. W tym celu wymyślono hacki.

więcej

jQuery i prosta walidacja formularzy

Tworząc formularz kontaktowy - oprócz oczywistej walidacji po stronie serwera - warto sprawdzać jego poprawność również po stronie klienta. Pozwala to oszczędzić nie tylko czas, ale również i nerwy - przykładowo, w przypadku korzystania z IE i wypisaniu tylko komunikatu wypełnij wszystkie pola, spowodujemy drastyczne podirytowanie gościa, gdyż jego “przeglądarka” nie przywróci mu poprzednio wpisanych danych do formularza. Wiem, że IE traci na popularności (i dobrze!), ale pani Jadzia z sekretariatu też powinna być zadowolona z odwiedzin na naszej stronie.

Klasycznie, zaczniemy od studium przypadku.

więcej

PHP feat. MySQL: Sposób na drzewka

aktualizacja

W Sieci można natknąć się na wiele przepisów, w jakis sposób stworzyć drzewka zapisywane w DB. Niektóre mają więcej, niektóre mniej wad… Ale poszukiwałem jakiegoś w miarę uniwersalnego rozwiązania, które by najlepiej pasowało do moich potrzeb.

Założenia

Potrzebujemy drzewka kategorii. Ot, takie najprostsze, np:

  • kategoria
    • podkategoria1
    • podkategoria2
  • kategoria

więcej

net2ftp: Problemy z JUpload w Operze

Korzystam od dłuższego czasu z klienta webftp net2ftp. Owszem, mógłbym wszystko posyłać FTP-em, ale ze względu na idiotycznego ISP-a, który twierdzi, że Internet = port 80, to jestem zmuszony przepychać wszystkie pliki przez przeglądarkę. Ze względu na to, że stabilność wysyłania w ten sposób jest tragiczna, to muszę rozwiązywać problem w inny sposób. Do tej pory, najlepszym rozwiązaniem jest dodawany do net2ftp aplet JUpload. I wszystko by było OK, gdyby działało pięknie pod Operą. Ale tak nie było. Natomiast, we Flocku wszystko działało… Tak nie mogło być, w mojej ulubionej przeglądarce ma działać wszystko. :D

Po kilku minutach gapienia się w konsolę Javy, wysnuciu wniosków, opracowałem działające rozwiązanie.

więcej

Efekt “więcej” w WordPressie - powered by AJAX

Specjalnie dla Livia opiszę tutaj jak zrobić rozwijanie postów bez przeładowywania strony. Czego potrzebujemy? Trochę czasu, chęci, oraz możliwości edytowania szablonów WordPressa ;) (czyli hosting na blogi w stylu wordpress.com odpada)

Uwaga: przy “instalowaniu” rozszerzenia wymagana jest podstawowa wiedza nt. (X)HTML, PHP, JS. Wiadomości o skórkach WordPressa przydadzą się, aczkolwiek nie są niezbędne. Te zdobędziesz w Codexie.

Do roboty!

więcej

Walidator formularzy i jQuery

Prace nad Vexerianem cały czas trwają. Kilka kamieni milowych osiągniętych, parę kwestii wyjaśnionych, działa OK.

Kolejną “milówką” jest klasa obsługi formularzy. Wychodząc z założenia “pomęczę się wcześniej, później będzie luźniej” postanowiłem napisać sobie kompleksową klasę obsługi formularzy. Pomysł wpadł mi do głowy po drodze, tylko nie pamiętam już do czego. :) Wracając - założyłem sobie obsługę kilku pól:

więcej

phpBB by Przemo - rozterki i alternatywy

Niby to zbieżność nazwy z moim imieniem (albo przezwiskiem w sekcji), ale ten wytwór nie jest mojego autorstwa. Dla niewtajemniczonych: jest to polska modyfikacja jednego z najpopularniejszych (o ile nie najpopularniejszego) “skryptu biuletynowego”, czyli tłumacząc z polskiego na nasze - forum dyskusyjnego, które można sobie postawić na własnym koncie www.

więcej

Szufladka