Myslalem jeszczze nad takim czyms:
Kod
$Dane[serwer] = 'serwer';
$Dane[user] = 'uzytkownik';
$Dane[haslo] = 'haslo';
$Dane[db] = 'baza_danych';
$Dane[tabela] = 'tabela';
function zapisz($nazwa_zmiennej,$zmienna)
{
global $Dane,$id_uzytkownika;
//je¶li nie istnieje id uzytkownika to wtedy jest tworzone
if(!$id_uzytkownika)
{
function make_seed() {
list($usec,$sec) = explode(" ", microtime());
return ((float)$sec+(float)$usec) * 100000;
}
srand(make_seed());
$id_uzytkownika = rand();
}
// dane sa kodowane
$zmienna=serialize($zmienna);
$data=date("d");
mysql_connect($Dane[serwer],$Dane[user] ,$Dane[haslo]);
mysql_select_db($Dane[db]);
// sprawdzamy czy już jest wpis do tabelki
$pytanie="select id_uzytkownika from $Dane[tabela] where id_uzytkownika=$id_uzytkownika and id_zmiennej='$nazwa_zmiennej'";
$wynik=mysql_query($pytanie) or die(mysql_error());
$ilosc_wierszy=mysql_fetch_row($wynik);
if ($ilosc_wierszy<1) {$pytanie="insert into $Dane[tabela] (id_uzytkownika,id_zmiennej,zmienna,data) values ('$id_uzytkownika','$nazwa_zmiennej','$zmienna','$data')";}
else {$pytanie="update $Dane[tabela] set zmienna='$zmienna' where id_zmiennej='$nazwa_zmiennej' and id_uzytkownika='$id_uzytkownika'"; }
mysql_query ($pytanie) or die(mysql_error());
return true;
}
//------------------------------------------------------
function odczyt()
{
global $id_uzytkownika,$tablica,$dane;
mysql_connect($Dane[serwer],$Dane[user] ,$Dane[haslo]);
mysql_select_db($Dane[db]);
$pytanie="select id_zmiennej,zmienna from $Dane[tabela] where id_uzytkownika='$id_uzytkownika'";
$wynik = mysql_query ($pytanie) or die(mysql_error());
while ($line = mysql_fetch_assoc($wynik)) {
while(list($col_name, $col_value) = each($line))
{
if ($col_name=='id_zmiennej') {$col_value_id=$col_value;}
if ($col_name=='zmienna') {unserialize($col_value); $tablica[$col_value_id]=$col_value;}
}
}
if ($tablica) {extract ($tablica);}
return true;
}
Co prawda te funkcje na razie nie dzialaja i maja wiele brakow (za niedlugo jednak je dokoncze - teraz pokazuje jedynie moje podejscie) ale w ramkach przypuszczam by byly wygodniejsze od prawdziwej sesji.
Jak ktos ma czas to moze mi odkryje blad w tym skrypcie, ale jezeli nie to pewnie za jakis czas za niego sie wezme pozadnie.
ps przypuszczam ze jednym z bledow jest to ze extract ($tablica) umiescilem w samej funkcji ale to tylko jedno spostrzezenie - moze maci wiecej