Korzystając z tej strony zgadzasz się z polityką prywatności i regulaminem.
Akceptuj
WebInside.plWebInside.plWebInside.pl
  • Aktualności
  • Technologie
  • WWW
  • E-marketing
  • AI
  • Poradniki
  • e(Biznes)
Szukaj
  • Kontakt
  • Forum
WebInside.pl © 2023.
Czytasz: Sesje z pomocą ADOdb
Udostępnij
Zaloguj się
Powiadomienia
Aa
WebInside.plWebInside.pl
Aa
Szukaj
  • Strona główna
  • Aktualności
  • Technologie webowe
  • Publicystyka
  • E-marketing
  • Poradniki
  • AI
  • Technologie
  • Artykuły partnerskie
  • Więcej
    • Kontakt
    • Mapa strony
Masz już konto? Zaloguj się
  • Aktualności
  • Technologie
  • WWW
  • E-marketing
  • AI
  • Poradniki
  • e(Biznes)
WebInside.pl © 2023.
WebInside.pl > Technologie webowe > Sesje z pomocą ADOdb
Technologie webowe

Sesje z pomocą ADOdb

WebInside.pl
Ostatnia aktualizacja: 10.07.2004
WebInside.pl
Udostępnij
Udostępnij

Wielu początkujących programistów PHP użera się z sesjami. Wiem to po sobie, bo jeszcze kilka miesięcy temu miałem nie-lada kłopot z zapisywaniem rekordów sesji w bazie MySQL. Jak zwykle pomógł mi serwis php.net.

Jeszcze nie tak dawno opisywałem tworzenie własnych funkcji obsługi sesji z wykorzystaniem MySQL. Stanąłem jednak przed pewnym problemem. Mianowicie co zrobić, jeśli skrypt, który pisze, będzie musiał współpracować z różnymi bazami danych?

Na pomoc przyszła mi biblioteka ADOdb (Active Data Objects DataBase). Jest to świetny produkt na licencji lesser GPL (w praktyce dla laika oznacza to, iż można wykorzystywać ją w komercyjnych produktach bez ponoszenia jakichkolwiek kosztów z nią związanych).

Co takiego spowodowało, iż zwórciłem uwagę na ADOdb? Przede wszystkim mnogość funkcji, przenośność kodu i prostota stosowania. W chwili, kiedy piszę ten artykuł, z oficjalnej strony projektu można ściągnąć wersję 4.04. Obsługuje ona MySQL, PostgreSQL, Oracle, Interbase, Microsoft SQL Server, Access, FoxPro, Sybase, ODBC i ADO. Z jej pomocą możesz napisać aplikację współpracującą z tymi wszystkimi (a przynajmniej większością) baz danych na raz. Czyż to nie wspaniałe? Do tego ADOdb oferuje funkcje testowania wydajności bazy, cache’owania wyników czy też obsługi sesji. Właśnie tą ostatnią możliwością zajmę się w tym artykule.

Po więcej informacji na temat ADOdb zapraszam na oficjalną stronę projektu ().

Tymczasem przechodzimy do meritum…

Ściągamy z oficjalnej witryny projektu jego najnowszą wersję (w moim wypadku plik „ADOdb404.zip”). Rozpakowujemy go, zmieniamy nazwę nowopowstałego folderu na „ADOdb” i kopiujemy do głównego katalogu naszej witryny (w większości przypadków jest to folder „public_html” w naszym katalogu domowym). Po wykonaniu tych czynności stajemy się dumnymi posiadaczami ADOdb (4.04).

Teraz tworzymy tabelę w naszej bazie danych. Nazwijmy ją „sesje”. Oto, jak powinien wyglądać jej kod (w wypadku bazy MySQL):

CREATE TABLE sesje
(
sesskey CHAR(32) NOT NULL
, expiry INT(11) UNSIGNED NOT NULL,
expireref VARCHAR(64),
data TEXT NOT NULL,
primary key (sesskey)
) TYPE=MyISAM;

Kiedy już nasza baza danych jest wyposażona w tabele możemy wziąć się za stworzenie pliku odpowiadającego za konfigurację obsługi sesji oraz jej start. Nazwijmy go „sesja.inc.php”. Oto, jak powinien wyglądać:

<?php

$ADODB_SESSION_DRIVER = „mysql”;
$ADODB_SESSION_CONNECT = „localhost”;
$ADODB_SESSION_USER = „root”;
$ADODB_SESSION_PWD = „”;
$ADODB_SESSION_DB = „test”;
$ADODB_SESSION_TBL = „sesje”;
if($_SERVER[’DOCUMENT_ROOT’])
{
$_root .= $_SERVER[’DOCUMENT_ROOT’] . str_replace(basename($_SERVER[’PATH_INFO’]), „”,
$_SERVER[’PATH_INFO’]);
}
require($_root . „adodb/adodb.inc.php”);
require($_root . „adodb/adodb-cryptsession.php”);
session_start();

?>

Powyższy skrypt łączy się z serwerem MySQL, który siedzi pod adresem „localhost”. Uzyskuje do niego dostęp jako użytkownik „root”. Autoryzacja nie jest wymagana, więc hasło nie zostało podane. Nazwa bazy, z którą się łączy, to „test”. Tabela mająca na celu obsługę sesji zwie się „sesje”.

NOTKA: Od wersji 4.1 skrypty obsługujące sesje znajdują się w katalogu „ścieżka/do/biblioteki/ADOdb/session”. Poza tym dodano możliwość szyfrowania przy pomocy MCrypt i ogółem kod odpowiedzialny za obsługę sesji napisano od nowa (a dokładniej napisał go Ross Smith).

Teraz wystarczy na początku każdego pliku, który ma być brany pod uwagę przez sesję, dopisać linijkę „<?php require_once(’sesja.inc.php’); ?>” (owy kod zadziała prawidłowo tylko przy odpowiednio zdefiniowanej zmiennej „include_path”).

Zmienne rejestruje się standardowo – poprzez „session_register(’nazwa zmiennej’);”. Jak je odczytywać? Równie prosto – „$_SESSIONS[’nazwa zmiennej’]”.

Jak widzicie, korzystanie z sesji przy pomocy ADOdb nie jest wcale trudne. Prócz prostoty użytkowania oraz przenośności kodu otrzymujemy jeszcze jedną rzecz – bezpieczeństwo. Rekordy sesji są szyfrowane… jest to kolejny plus ADOdb. Naprawdę polecam korzystanie z tej biblioteki. Po więcej informacji i przykładów jej wykorzystania zapraszam na moją domową witrynę. W razie jakichkolwiek problemów – piszcie.

NOTKA: Kiedy będziecie chcieli korzystać z obsługi sesji PHP 4.3.* będą męczyły Was komunikaty ostrzegawcze. Jak nim zaradzić? Dodajcie do swoich „php.ini” poniższe dwie linijki.

session.bug_compat_42=off
session.bug_compat_warn=off

Nie wiem, czy przy korzystaniu z wbudowanych funkcji obsługi sesji (za pomocą plików) owe ostrzeżenia również się wyświetlają… zresztą – nieważne.

Może Cię zainteresować

Jak wybrać agencję do tworzenia strony internetowej w Warszawie?

Lovable – recenzja po 3 miesiącach. Cennik, opinie, kredyty, limity

Stanowisko web developera w 2026: co naprawdę przyspiesza pracę — i za co nie warto przepłacać

AI kontra klasyczne kreatory stron: kto tu naprawdę wygrywa?

Jak wybrać i zarejestrować domenę? Praktyczny przewodnik dla firm i osób prywatnych

WebInside.pl 2004-07-10 2004-07-10
Udostępnij ten artykuł
Facebook Twitter Kopiuj link Wydrukuj
Udostępnij
Poprzedni artykuł Własny mechanizm sesji, część 2
Następny artykuł Smarty: Generowanie statycznych stron HTML
Zostaw komentarz lub opinię

Dodaj komentarz Anuluj pisanie odpowiedzi

Twój adres email nie zostanie opublikowany. Wymagane pola są oznaczone *

Najnowsze artykuły

Jak zwiększyć rozpoznawalność marki w całym mieście dzięki reklamie na tramwajach
E-marketing
person holding black iphone 4
Newsletter w małym sklepie internetowym. Jak zacząć, żeby pierwszy mail nie wylądował w spamie
E-marketing
Jak wybrać agencję do tworzenia strony internetowej w Warszawie?
Technologie webowe
person sitting while using laptop computer and green stethoscope near
Badania profilaktyczne w Warszawie – jaki pakiet zrobić raz w roku i gdzie się umówić
Artykuły partnerskie
Dlaczego skuteczność reklamy zależy również od tego, co dzieje się na stronie?
E-marketing
Lovable – recenzja po 3 miesiącach. Cennik, opinie, kredyty, limity
Technologie webowe
A smartwatch with a dark textured band and a colorful app icon display
Smartwatch jak mały komputer – dlaczego naprawa Apple Watch wymaga dziś specjalistycznej technologii?
Poradniki
Stanowisko web developera w 2026: co naprawdę przyspiesza pracę — i za co nie warto przepłacać
Technologie webowe
Close-up of gold and silver cryptocurrency coins on a digital trading chart.
Bybit po ataku za 1,5 miliarda dolarów: co giełda zmieniła i co sprawdzisz sam
Artykuły partnerskie
Odnowiony iPhone jako telefon testowy – dlaczego osoby z branży IT sięgają po refurbished zamiast nowego?
Artykuły partnerskie
banner
Chcesz umieścić swoją reklamę w portalu WebInside.pl?
Skontaktuj się z nami, a zaproponujemy interesujące formy reklamy.
Skontaktuj się

Inne polecane artykuły

Technologie webowe

Jak wybrać agencję do tworzenia strony internetowej w Warszawie?

3 min czytania

Lovable – recenzja po 3 miesiącach. Cennik, opinie, kredyty, limity

15 min czytania
Technologie webowe

Stanowisko web developera w 2026: co naprawdę przyspiesza pracę — i za co nie warto przepłacać

7 min czytania
a computer screen with the words the easy way to build marketplaces
Technologie webowe

AI kontra klasyczne kreatory stron: kto tu naprawdę wygrywa?

5 min czytania
Technologie webowe

Jak wybrać i zarejestrować domenę? Praktyczny przewodnik dla firm i osób prywatnych

5 min czytania
Technologie webowe

Komentarze w CSS – jak dodawać i do czego służą? Przykłady użycia

17 min czytania
Technologie webowe

Co to jest REST API i na jakich zasadach działa? Przewodnik dla początkujących

21 min czytania
Technologie webowe

Marginesy i dopełnienie w CSS – czym się różnią właściwości margin i padding?

17 min czytania
//

WebInside.pl – portal technologiczny. Aktualności ze świata technologii, webmastering, marketing internetowy, AI, poradniki.

 

Partnerzy



Wszystkie kategorie

  • AI
  • Aktualności
  • Artykuły partnerskie
  • E-marketing
  • e(Biznes)
  • Poradniki
  • Publicystyka
  • Technologie
  • Technologie webowe

Ostatnio dodane

  • Jak zwiększyć rozpoznawalność marki w całym mieście dzięki reklamie na tramwajach
  • Newsletter w małym sklepie internetowym. Jak zacząć, żeby pierwszy mail nie wylądował w spamie
  • Jak wybrać agencję do tworzenia strony internetowej w Warszawie?
  • Badania profilaktyczne w Warszawie – jaki pakiet zrobić raz w roku i gdzie się umówić

Kontakt

Chcesz się z nami skontaktować? Jesteś zainteresowany reklamą lub artykułem sponsorowanym?

Skorzystaj z formularza kontaktowego lub napisz do nas na kontakt@webinside.pl

WebInside.plWebInside.pl
WebInside.pl © 2023 | Mapa strony | Forum | Polityka prywatności
Witaj ponownie!

Zaloguj się do swojego konta

Zapomniałeś hasła?