Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL][PHP]Zmiana wartości zmiennych sesji przez zapytanie sql
nastu7
post
Post #1





Grupa: Zarejestrowani
Postów: 18
Pomógł: 0
Dołączył: 31.01.2013
Skąd: Łódź

Ostrzeżenie: (0%)
-----


Cześć.

Mam problem jak w temacie. Mianowicie podczas wykonywania jednego pliku zmienia mi się zmienna $_SESSION.

  1. if($query = mysql_query("SELECT id, login, fname, lname, email, city FROM users")){
  2. while($result = mysql_fetch_assoc($query)){
  3. $id = $result['id'];
  4. $login = $result['login'];
  5. $fname = $result['fname'];
  6. $lname = $result['lname'];
  7. $email = $result['email'];
  8. $city = $result['city'];
  9.  
  10. $zm = str_replace('"','\\"',gettemplate(single_user));
  11. eval ("\$single_user = \"".$zm."\";");
  12.  
  13. echo $single_user;
  14. }
  15. }


oczywiście wszystkie dane sessji są zamienianena ostatniego wylistowanego usera, co powoduję zalogowanego ostatniego usera w tablicy users.

Jakiś pomysł czemu tak się dzieje?
Go to the top of the page
+Quote Post
b4rt3kk
post
Post #2





Grupa: Zarejestrowani
Postów: 1 933
Pomógł: 460
Dołączył: 2.04.2010
Skąd: Lublin

Ostrzeżenie: (0%)
-----


Jakaś podpowiedź co chcesz osiągnąć? Na cholerę to eval? Jak to ma być logowanie jednego użytkownika to proponowałbym w zapytaniu dodać jakiś warunek WHERE.


--------------------
Jeśli pomogłem, kliknij proszę 'pomógł'. Dzięki.
Go to the top of the page
+Quote Post
nastu7
post
Post #3





Grupa: Zarejestrowani
Postów: 18
Pomógł: 0
Dołączył: 31.01.2013
Skąd: Łódź

Ostrzeżenie: (0%)
-----


Ach, przepraszam.

Ten blok, ma mi wyświetlać userlistę, a ten kawałek eval, wypełnia mi plik .html zmiennymi ze skryptu, tzn. wartościami dla kazdego usera tj. login, fname, lname itd.
Po wykonaniu zapytania, zmienia konto, na którym jestem zalogowany, na ostatniego usera w tym zapytaniu.

Chciałbym się dowiedzieć dlaczego tak się dzieje i jak temu zapobiec.

dla przykładu:
zakładając że ostatni użytkownik w zapytaniu ma id==7

będąc zalogowanym mam id==5
czyli $_SESSION['id'] == 5
po wykonaniu tego zapytania powstaje sesja innego użytkownika z id ==7
czyli $_SESSION['id'] == 7

A więc?
Go to the top of the page
+Quote Post
nospor
post
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Wyłącz register_globals


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
nastu7
post
Post #5





Grupa: Zarejestrowani
Postów: 18
Pomógł: 0
Dołączył: 31.01.2013
Skąd: Łódź

Ostrzeżenie: (0%)
-----


Cytat(nospor @ 28.10.2014, 17:52:30 ) *
Wyłącz register_globals


To rozwiązało problem, wielkie dzięki.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 19.08.2025 - 12:52