![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Nieautoryzowani Postów: 17 Pomógł: 0 Dołączył: 30.04.2003 Ostrzeżenie: (0%) ![]() ![]() |
hej, to znów ja.
nadal męczę sesje przechowywane w bazie danych Wszystko działa ok. o ile zmienne przypisuje na sztywno np: $_SESSION['user']='marcin'; //wynik zostaje zapisany w bazie danych o ile jednak jako dane sesji próbuję przechować informacje uzyskana z innych tablic czy bazy danych wszystko bierze w łeb przykładowo: $user=$HTTP_POST_VARS['user']; echo $user; //zostaje dobrze wyświetlone; $_SESSION['user'] = $user; echo $_SESSION['user']; //też zostje wyswietlone tyle że baza danych tego nie przyjmuje podobnie rzecz ma się z wynikiami z baz danych Ktoś ma pomysł? |
|
|
![]()
Post
#2
|
|
Grupa: Nieautoryzowani Postów: 17 Pomógł: 0 Dołączył: 30.04.2003 Ostrzeżenie: (0%) ![]() ![]() |
zgłębiłem dokładniej problem.
dalej nie działa ale wiem już coś więcej. Mam taki kawałek skryptu ... $_SESSION['user']=$_POST['user']; $_SESSION['password']=mysql_result($Resultat1, 0, "password"); @$poloczenie=mysql_connect($host,$_SESSION['user'],$_SESSION['password']); if($poloczenie): @$Resultat=mysql_db_query("logowanie","insert into logowanie.uprawniony alues('".$_SESSION['user']."','$data','".$_POST['ip']."')",$conn3); else: @$Resultat=mysql_db_query("logowanie","insert into logowanie.nieuprawniony values('".$_SESSION['user']."','$data','".$HTTP_POST_VARS['ip']."')",$conn3); refresh(); include('szkielet_html/start_html.php'); komunikat("$kolor01","$styl1",'Błędny login lub hasło. Proszę spróbować powtórnie'); exit; endif; |
|
|
![]()
Post
#3
|
|
Grupa: Nieautoryzowani Postów: 17 Pomógł: 0 Dołączył: 30.04.2003 Ostrzeżenie: (0%) ![]() ![]() |
przepraszam.
omyłkowo wysłałem poprzedni. a więc mam taki kawałek skryptu: ... $_SESSION['user']=$_POST['user']; $_SESSION['password']=mysql_result($Resultat1, 0, "password"); @$poloczenie=mysql_connect($host,$_SESSION['user'],$_SESSION['password']); if($poloczenie): @$Resultat=mysql_db_query("logowanie","insert into logowanie.uprawniony values('".$_SESSION['user']."','$data','".$_POST['ip']."')",$conn3); exit; endif; ... Wszystko jest ok. (tzn sesja wraz z przypisanymi wartościami 'user' i 'password' zostaje zapisana w bazie pod warunkiem że nie jest towrzono połączenie z mysqlem ($poloczenie). Jeżeli takowe połączenie zostanie utworzone, do bazy danych gromadzących informacje o sesjach nie wędruje żaden wpis. Dzieję się tak niezależnie od tego czy $połącznie tworzone jest z tymi zmiennymi usera i hasłą czy innymi (nawet wpisanymi na sztywno). Zjadłem już na tym zęby i potrzebuję POMOCY acha, ten sam skrypty przy zapisie sesji do plików dziala OK (tzn $poloczenie w niczym nie przeszkadza). próbowałem zmieniać kolejność poszczególnych części skryptu; bez efektu; Ktoś może wałokował już ten problem lub wie w czym rzecz? |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarząd Postów: 2 277 Pomógł: 6 Dołączył: 27.12.2002 Skąd: Wołów/Wrocław ![]() |
Wydaje mi się, że problem może tkwić w błędnym przechowywaniu uchwytów połaczenia z bazą danych w funkcjach (w całej klasie) zwiazanych z działaniem sessji.
-------------------- "Niezależnie od tego, jakie masz osiągnięcia, ktoś Ci pomaga..."
|
|
|
![]()
Post
#5
|
|
Grupa: Nieautoryzowani Postów: 17 Pomógł: 0 Dołączył: 30.04.2003 Ostrzeżenie: (0%) ![]() ![]() |
tzn, gdybym przerobił funkcje do zarządzania sesją w bazie mogło by zadziałać?
obecnia tak jak przypuszczasz funkcja ta zbudowana jest na klasie mógłbym usunąć klasę (zostawić same funkcje) zadziałało by?" |
|
|
![]()
Post
#6
|
|
Grupa: Nieautoryzowani Postów: 17 Pomógł: 0 Dołączył: 30.04.2003 Ostrzeżenie: (0%) ![]() ![]() |
acha,
właśnie mi przysżło do głowy serializacja może to by pomogło? jak myślisz? |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarząd Postów: 2 277 Pomógł: 6 Dołączył: 27.12.2002 Skąd: Wołów/Wrocław ![]() |
1. Zastosowanie klasy to najlepsze rozwiazanie
2. Serializacja? Po co? 3. Miałem na myśli to, by zdefiniwać zmienną var $polaczenie; która przyjmie wartość $this->polaczenie = mysql_connect() ; a następnie cały czas operujemy tym identyfikatorem, np. mysql_select_db ( string nazwa_bazy, $this->polaczenie ); mysql_query( string zapytanie, $this->polaczenie); -------------------- "Niezależnie od tego, jakie masz osiągnięcia, ktoś Ci pomaga..."
|
|
|
![]()
Post
#8
|
|
Grupa: Nieautoryzowani Postów: 17 Pomógł: 0 Dołączył: 30.04.2003 Ostrzeżenie: (0%) ![]() ![]() |
hej.
Nie pomogło. Przynajmniej nie od razu. Pokazywało się mnóstwo dziwnych komunikatów (próbowałem to rozgrywać jeszcze z innej strony). Ostatecznie znalazlem. W funkcjach do obsługi sesji należało zmienić wszystkie wywołanie mysql_query na mysql_db_query (oczywiście ze wskazaniem odpowiedniej bazy). MySQL po prostu się gupił. Gdy nie było zdefiniowanej bazy (co miało miejsce przy mysql_query) jako baze zakładał bazę ostatnio użytą przez skrypty (czyli inną niż baza wskazana jako baza do przechowywania sesji). Teraz wszystko działa OK. Nawet z wyłączoną opcją register_globals. Może komuś się to przyda (mam nadzieję że nie zmarnuje tyle czasu co ja). Pozdrowienia |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 18.07.2025 - 05:38 |