Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: dane sesji w bazie danych
Forum PHP.pl > Forum > PHP
polimer
Po pierwsze witam wszystkich.
Czy ktoś z was próbował przechowywać dane sesji nie w plikach ale w bazie danych.
Wiem że jest to możliwe ale nie mogę sobie poradzić z napisaniem takiego skryptu.
Może ktoś z was spotkał gdzieś takie rozwiązanie...

Pytanie drugie, mniej istotne
Co jest mniej uciążliwe dla serwera...
1. Skrypt php który generuje wszystko łącznie z całym HTML'em zawartym na stronie (czyli cała stronka jest właściwie skryptem)?
2. Geste umieszczanie w kogdzie html wywołań interpertera php (oczywiście tam gdzie to jest potrzebne).

innymi słowy co jest szybsze i mniej pracochłonne dla server: ciągła interpretacja php czy włączanie i wyłączanie interpertera ale pozostawienie wolnego kodu HTML?
Mam nadzieję że ktoś zrozumie tą gmatwaninę
DeyV
1. Gotowe rozwiązanie sesji w bazie zawiera ADOdb

2. Jak to ma wpływ na prędkość - nie wiem. Ma na tomiast wielki wpływ na prędkość pisania (nie mo wiąc już o edycji), a to chyba jest równie ważne. Stąd, albo HTML zupełnie osobno (templates) albo przynajmniej poza znacznikami php
polimer
chyba o to mi chodziło.

ps, strony z odzielonym html'em ładują mi się trochę szybciej
DeyV
Sprawdziłem. Otwarcie i zamknięcie kodu php nie zajmuje praktycznie nic czasu.[php:1:9bc5b7e929]<?phpfunction getmicrotime(){
list($usec, $sec) = explode(" ",microtime());
return ((float)$usec + (float)$sec);
}

$time_start = getmicrotime();

for ($i=0; $i < 1000; $i++){
?><?
?><?
?><?
?><?
}

$time_end = getmicrotime();
$time = $time_end - $time_start;


echo '<br><bR>';
echo "Nie robił nic przez $time sekund";
?>[/php:1:9bc5b7e929]
trwa niemal tyle samo czasu, co baz znaczników otwierajacych i zamykajacych. Więc nie ma się czym przejmować smile.gif

------------------------------------------
A do moderatorów. To chyba nie jest temat na PRO
itsme
oczywiscie ze TAK dlatego przenioslem na php smile.gif

pozdrawiam
DeyV
Jeszcze jeden ciekawy link na temat sessji w bazie http://zend.com/zend/spotlight/code-gallery-wade8.php
scanner
I po całym szukał świecie tego, co jest bardzo blisko...
http://forum.php.pl/viewtopic.php?t=958
DeyV
Pamiętałem o tamtym topicu. Kidyś niemal osiwiałem, próbując zrozumieć, o co w nim chodzi winksmiley.jpg
Jednak, nie obrazając dragossaniego i Tobias Ratschiller, przykład z Zend jest znacznie czytelniejszy. Stąd, gdy na niego wpadłem, pomyślałem, że tu nie zaszkodzi.
polimer
zgadzam się z DeyV
skrypt zenda jest rzeczywiście lepszy
ale dzięki scanner za wzmiankę no i oczywiście seth za napisanie tego artykuły
wydawało mi się że dość dokładnie przejrzałem to forum zanim rzuciłem ten temat

co do sposobu pisania skryptów to tak naprawdę główną zaletą oddzielenia html'a od php jest mniejszy bałagan po "pokazaniu źródła" strony w przeglądarce. W przypadku gdy stronę generuje jeden wielki skrypt robi się straszny burdel
Seth
Cytat
(...)oczywiście seth za napisanie tego artykuły(...)

o ile mi wiadomo to na forum jego nie ma. Kiedys byl na dev.php.pl ale gdzies wsiakl tongue.gif Ciekaw jestem czy moze ktos go jeszcze ma bo po zeszlo rocznych czystkach na dysku wszytko poszlo z dymem smile.gif
Jabol
ale stosując pisanie typu[php:1:3080fea65b]<?php
print '<div>HTML w php</div>';
?>[/php:1:3080fea65b]
zamiast[php:1:3080fea65b]<div><?php
print $zawartosc;
?></div>[/php:1:3080fea65b]nie można korzystać z dodatków typu output buffering (z poziomu php, a nie interpretera), co daje możliwość np. dynamicznej zmiany kodowania, dlatego uważam, że styl, gdzie skrypt rozpoczyna się z <?php, a kończy z ?> (a po drodze ?> występuje oczywiście tylko w stringach albo wogóle) jest bardziej elastyczny.
Dla odzielenia HTML od php można oczywiście zrobić coś takiego, co również daje możliwości stosowania OP[php:1:3080fea65b]<?php
print file_get_contents('./templates/div.tpl');
?>[/php:1:3080fea65b]
DeyV
A kto powiedział, że nie można? Funkcje z sarii ob (ob_start(); ob_get_contents(); ob_end_clean(); ) działąją bez problemu, niezależnie od tego, czy html jest w znacznikach, czy poza nimi. W końcu php tak do końca nie ignoruje tego, co poza nim. Przykład? if (...) { ?> html <? } ?>
polimer
mało tego
można deklarować funkcje które w środku mają wyłączany php
np:
function funkcja(.........){
?>
<html>
......
</html>
<?php
}

i to też działa. Sprawdziłem.
polimer
wracając do pierwotnego wątku (trzymania danych sesji w bazie) znalazłem najlepszy skrypt
(u mnie działa od razu (z tym że trzeba mieć register_globals = on))

http://phpbuilder.com/columns/ying20000602.php3?page=1

polecam
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.