![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 14.11.2005 Ostrzeżenie: (0%) ![]() ![]() |
Witam wszystkich,
Mam bardzo ciekawy problem. Wykonuje zapytanie do bazy danych w pliku login.php po czym ustawiam zmienne globalne. Nastepnie w pliku profil.php odpalam query ktore pobiera te same dane i zapisuje je do zmiennych. $sql = "SELECT * FROM users WHERE email = '$email' AND haslo = PASSWORD('$haslo')"; $result = mysql_query($sql); No i teraz sie zaczyna problem: bo przypisanie: a) $imie = mysql_result($result,0,'imie'); Nie dziala, natomiast zauwazylem ze dziala B) $$imie = mysql_result($result,0,'imie'); Nie pytajcie dlaczego, nie wiem po prostu wrzucalem kod na chybil trafil. 1 Pytanie: Dlaczego nie moge przypisac normalnie do zmiennej - ad.a choc wczesniej moglem to zrobi (login.php) Teraz dalej wyswietlam te dane w formularzu za pomoca <tr><td align="right"><b>Imiê:</b> </td><td><input type="text" name="imie" value="<?echo $imie?>"></td> I tutaj probowalem wszystkiego $imie i $$imie oba nie dzialaja. Natomiast co ciekawe dziala bezposrednie: <?echo mysql_result($result,0,'imie')?> 2 Pytanie: Jak zrobic by wyswietlic to w formularzu Pomozcie bo spedzilem nad tym wiele bezsennych nocy a moi userzy sie powoli zaczynaja nieceirpliwic ze nie dziala zmiana profila. Ten post edytował berciak 14.11.2005, 00:41:16 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Przyjaciele php.pl Postów: 7 494 Pomógł: 302 Dołączył: 31.03.2004 Ostrzeżenie: (0%) ![]() ![]() |
[quote=berciak,2005-11-14 13:40:55] [QUOTE=mike_mech,2005-11-14 12:24:49]2. Widze ze musze troche wiecej wytlumaczyc. Aplikacja jest chroniona systemem autentyfikacji. W pliku login.php klient wpisuje sie do bazy wypelniajac formularz rejestracyjny. W pliku profil.php odczytuje te dane jeszcze raz z tabeli by klient mogl je sobie pozmieniac i zapisac z powrotem. Taka jest idea profil.php. Startuje sesje w pliku index.php, ale nie ma sensu przekazywac wszystkich 30 pol formularza jako zmienne globalne sesji ! Wiec w plikuu login zapisuje tylko 3 potrzebne w dalszym dzialaniu serwisu. Jesli gostek sobie wejdzie na profil wykonuje dodatkowe zapytanie SQL pobierajac jeszcze raz jego dane i przedstawiajac je w formularzu do zmiany. [/quote]
Przekazywanie danych w sesji (nawet tej ilości o której mówisz) jest bardziej optymalne niż nękanie bazy danych kolejnym zapytaniem. Kolejne zapytanie jest po prostu nieoptymalne i spowalnia serwis. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 7.10.2025 - 03:30 |