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ć

Sprawdź, jak zostać testerem oprogramowania lub Java developerem! Poznaj kursy online!

Architektura globalnego e-commerce: Jak zbudować sklep gotowy na podbój świata?

Java obchodzi 30. urodziny – język programowania który zmienił świat technologii

Jak zacząć projektować aplikację, nie mając gotowego pomysłu?

Serwer dla małej firmy – czym kierować się przy jego wyborze?

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 e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

Najnowsze artykuły

Procesor AMD Ryzen 7
Najlepsze procesory z pamięcią 3D V-Cache: Wydajność dla graczy i profesjonalistów
Technologie
Jak przygotować sklep internetowy na automatyzację obsługi klienta?
Artykuły partnerskie
the nvidia logo is displayed on a table
Nvidia przyłapana? Gigant AI chciał kupić miliony pirackich książek
AI Aktualności
Najczęstsze błędy w SMS marketingu: jak nie przepalić budżetu?
E-marketing
4 najczęstsze cyberzagrożenia w przemyśle
Technologie
Jak uratować zaschnięty tusz do drukarki? Skuteczne domowe sposoby i porady
Poradniki
Model 3D jako wspólne źródło danych dla projektu, produkcji i montażu
Artykuły partnerskie
Dlaczego wideo z telefonu sprzedaje na TikToku lepiej niż profesjonalne spoty?
Artykuły partnerskie
Dwa ekrany zawsze pod ręką – zalety korzystania z monitora przenośnego na co dzień
Technologie
Rola nowoczesnych technologii w procesie rehabilitacji
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

Sprawdź, jak zostać testerem oprogramowania lub Java developerem! Poznaj kursy online!

5 min czytania
Technologie webowe

Architektura globalnego e-commerce: Jak zbudować sklep gotowy na podbój świata?

7 min czytania
MacBook Pro showing programming language
Technologie webowe

Java obchodzi 30. urodziny – język programowania który zmienił świat technologii

9 min czytania
AktualnościTechnologie webowe

Jak zacząć projektować aplikację, nie mając gotowego pomysłu?

9 min czytania
woman in black top using Surface laptop
Technologie webowe

Serwer dla małej firmy – czym kierować się przy jego wyborze?

5 min czytania
Technologie webowe

Jaki hosting wybrać pod Laravel? Kompleksowy przewodnik dla twórców aplikacji webowych

6 min czytania
programming language
Technologie webowe

Kaskadowość w CSS – wszystko, co musisz wiedzieć

7 min czytania
two women talking while looking at laptop computer
Technologie webowe

Darmowe kreatory stron WWW – stwórz swoją stronę w godzinę

14 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

  • Najlepsze procesory z pamięcią 3D V-Cache: Wydajność dla graczy i profesjonalistów
  • Jak przygotować sklep internetowy na automatyzację obsługi klienta?
  • Nvidia przyłapana? Gigant AI chciał kupić miliony pirackich książek
  • Najczęstsze błędy w SMS marketingu: jak nie przepalić budżetu?

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?