Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> mysql_fetch_assoc
'poczatkujacy'
post
Post #1





Grupa: Zarejestrowani
Postów: 16
Pomógł: 0
Dołączył: 21.07.2005

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


Witam, mam pytanko, bo zrobilem sobie taki maly serwis internetowy z systemem rejestracji uzytkownikow i ich logowaniem. No i po zalogowaniu funkcja mysql_fetch_assoc wyswietlam ich dane. No i mam kilka pytan. Czy jest mozliwe wyswietlenie poszczegolnych danych z uzyciem tej funkcji. Jest to troszke skomplikowane o co mi chodzi, ale mam nadzieje ze zrozumiec. Otoz chcialbym zeby mysql_fetch_assoc bylo tak jak jest ale zeby nie wyswietlalo danych tylko zamienilo na zmienne np: $imie, $nazwisko itp abym mogl w dowolnym miejscu skryptu wstawic ta owa zmienna. Mam nadzieje ze zrozumieliscie o co chodzi, dlatego prosze o pomoc czy jest cos takiego mozliwe (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
tiraeth
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 1 789
Pomógł: 41
Dołączył: 30.10.2003
Skąd: Wrocław

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


  1. <?php
  2. $row = mysql_fetch_assoc($result);
  3.  
  4. foreach($row as $key => $value)
  5. {
  6.  ${$key} = $value;
  7. }
  8. ?>

(IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)
Go to the top of the page
+Quote Post
brekmar
post
Post #3





Grupa: Zarejestrowani
Postów: 76
Pomógł: 0
Dołączył: 19.01.2005

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


A mozna troszeczke jasniej, jak ten caly skrypt dziala (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
SongoQ
post
Post #4





Grupa: Przyjaciele php.pl
Postów: 2 923
Pomógł: 9
Dołączył: 25.10.2004
Skąd: Rzeszów - studia / Warszawa - praca

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


Tam jest tylko petla foreach, jesli tego nie rozumiesz to zapraszam do manuala. Troche sie dziwie przeciez to sa podstawy co tu nie mozna rozumiec.
Go to the top of the page
+Quote Post
'poczatkujacy'
post
Post #5





Grupa: Zarejestrowani
Postów: 16
Pomógł: 0
Dołączył: 21.07.2005

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


No troszke zle sprecyzowalem o co chodzi. Bo mam taki skrypt:
  1. <?php
  2. ?>
  3. <html>
  4.  
  5. <head>
  6. <title></title>
  7. </head>
  8.  
  9. <body>
  10.  
  11. <?php
  12.  
  13.  
  14. $db = @mysql_connect( 'localhost', 'root', '' ) or die( 'Nie można połączyć z bazą!' );
  15.  
  16. @mysql_select_db( 'uzytkownicy' ) or die( 'Nie można wybrać bazy!' );
  17.  
  18. if( !isset( $_SESSION[ 'user' ] ) )
  19. {
  20.  if( isset( $_POST[ 'loginGo' ] ) )
  21.  {
  22. $dane = mysql_query( &#092;"SELECT *
  23. FROM logowanie
  24. WHERE login = '\".$_POST[ 'loginName' ].\"' AND
  25. haslo = '\".$_POST[ 'password' ] .\"' LIMIT 0, 100&#092;" ) or die (mysql_error());
  26.  
  27. $userData = mysql_fetch_assoc( $dane );
  28. if( $userData[ 'nr' ] > 0 )
  29. {
  30.  $_SESSION[ 'user' ] = $userData;
  31.  header( 'Location: '.$_SERVER[ 'PHP_SELF' ] );
  32. }
  33. else
  34. {
  35.  echo 'Podałeś złe hasło lub login, sprobuj jeszcze raz';
  36. }
  37.  }
  38.  else
  39.  {
  40. echo ('
  41. <form action=\"\" method=\"post\">
  42.  Login: <input type=\"text\" name=\"loginName\"/><br/>
  43.  Hasło: <input type=\"password\" name=\"password\"/><br/>
  44.  <input type=\"submit\" name=\"loginGo\" value=\"Zaloguj\"/><br/>
  45. </form>
  46.  ');
  47.  }
  48. }
  49. else
  50. {
  51.  echo 'Witaj w serwisie. Jesteś zalogowany!<br/>';
  52.  print_r( $_SESSION[ 'user' ] );
  53. }
  54.  
  55.  
  56.  
  57. ?>
  58.  
  59. </body>
  60.  
  61. </html>
  62. <?php
  63. ?>

No i tu jest problem, wszystko dziala, jak nalezy, ale po zalogowaniu wypisuje wszystkie dane:
Array ( [nr] => 1 [login] => pap [haslo] => 123456 [email] => pap@wp.pl [imie] => pap [nazwisko] => pap )
A ja bym chcial zeby ta funkcja dzialala w taki sposob ze zwraca zmienne typu $imie, $haslo, $nazwisko, itp Bo mam zamiar wrzucic tam tekst i chce w ten tekst powstawiac zmienne typu 'Masz na imie "$imie".....' itd tak ze obojetnie kto by sie zalogowal beda sie wyswietlac jego dane. Mysle ze teraz lepiej sprecyzowalem o co chodzi. Nawet mam jaka taka koncepcje jakby taki skrypt mial dzialac tylko nie wiem jak to napisac w php. Bo ta fraza
  1. <?php
  2. print_r( $_SESSION[ 'user' ] );
  3. ?>
no wypisuje te dane wszystkie, no to wymyslilem zeby nie wstawiac print tylko zeby z tego powyciagal zmienne, czy jest to wogole mozliwe?(IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) Jesli nie no to prosilbym o pomoc jak przerobic caly tewn skrypt zeby otrzymac te zmienne.
Go to the top of the page
+Quote Post
SongoQ
post
Post #6





Grupa: Przyjaciele php.pl
Postów: 2 923
Pomógł: 9
Dołączył: 25.10.2004
Skąd: Rzeszów - studia / Warszawa - praca

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


No to zwroc sobie tablice i bedzie ok.
Go to the top of the page
+Quote Post
'poczatkujacy'
post
Post #7





Grupa: Zarejestrowani
Postów: 16
Pomógł: 0
Dołączył: 21.07.2005

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


Tos mi odpowiedzial, moze troszke wiecej, jakis przyklad w php ja nie jestem profesjonalista.
Go to the top of the page
+Quote Post
SongoQ
post
Post #8





Grupa: Przyjaciele php.pl
Postów: 2 923
Pomógł: 9
Dołączył: 25.10.2004
Skąd: Rzeszów - studia / Warszawa - praca

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


$iNr = userData['nr'];
$szImie = userData['imie'];

itd
Go to the top of the page
+Quote Post
'poczatkujacy'
post
Post #9





Grupa: Zarejestrowani
Postów: 16
Pomógł: 0
Dołączył: 21.07.2005

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


Sory ale nie dziala to co mi napisales. Probowalem to wpisac w kazde miejsce i nie dziala, wypisuje mi blad:
Parse error: parse error, unexpected '[' in...
Prosze o inna propozycje.
Go to the top of the page
+Quote Post
nospor
post
Post #10





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




Nie wnikam o co chodziło, ale @SongoQ zjadł $
  1. <?php
  2.  
  3.  $iNr = $userData['nr'];
  4. $szImie = $userData['imie'];
  5. //itd
  6.  
  7. ?>
Go to the top of the page
+Quote Post
'poczatkujacy'
post
Post #11





Grupa: Zarejestrowani
Postów: 16
Pomógł: 0
Dołączył: 21.07.2005

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


No teraz juz bledu nie wyswietla, ale jak napisze
print ("Twoje imie: $szImie ");
to mi nie wypisuje zmiennej (IMG:http://forum.php.pl/style_emoticons/default/sad.gif) .
Go to the top of the page
+Quote Post
nospor
post
Post #12





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




I teraz nasuwa sie pytanie: gdzie ty wyswietlasz to oraz gdzie ty inicjujesz te zmienne?

pokaż nowy caly kod
Go to the top of the page
+Quote Post
'poczatkujacy'
post
Post #13





Grupa: Zarejestrowani
Postów: 16
Pomógł: 0
Dołączył: 21.07.2005

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


  1. <?php
  2. ?>
  3. <html>
  4.  
  5. <head>
  6. <title></title>
  7. </head>
  8.  
  9. <body>
  10.  
  11. <?php
  12.  
  13.  
  14. $db = @mysql_connect( 'localhost', 'root', '' ) or die( 'Nie można połączyć z bazą!' );
  15.  
  16. @mysql_select_db( 'poleceni' ) or die( 'Nie można wybrać bazy!' );
  17.  
  18. if( !isset( $_SESSION[ 'user' ] ) )
  19. {
  20.  if( isset( $_POST[ 'loginGo' ] ) )
  21.  {
  22. $dane = mysql_query( &#092;"SELECT *
  23. FROM logowanie
  24. WHERE login = '\".$_POST[ 'loginName' ].\"' AND
  25. haslo = '\".$_POST[ 'password' ] .\"' LIMIT 0, 100&#092;" ) or die (mysql_error());
  26.  
  27. $userData = mysql_fetch_assoc( $dane );
  28. $iNr = $userData['nr'];
  29.  $szImie = $userData['imie'];
  30. if( $userData[ 'nr' ] > 0 )
  31. {
  32.  $_SESSION[ 'user' ] = $userData;
  33.  header( 'Location: '.$_SERVER[ 'PHP_SELF' ] );
  34. }
  35. else
  36. {
  37.  echo 'Podałeś złe hasło lub login...';
  38. }
  39.  }
  40.  else
  41.  {
  42. echo ('
  43. <form action=\"\" method=\"post\">
  44.  Login: <input type=\"text\" name=\"loginName\"/><br/>
  45.  Hasło: <input type=\"password\" name=\"password\"/><br/>
  46.  <input type=\"submit\" name=\"loginGo\" value=\"Zaloguj\"/><br/>
  47. </form>
  48.  ');
  49.  }
  50. }
  51. else
  52. {
  53.  echo 'Jesteś zalogowany!<br/>';
  54.  print (&#092;"Twoje imie: $iNr \");
  55.  }
  56.  
  57.  
  58.  
  59. ?>
  60.  
  61. </body>
  62.  
  63. </html>
  64. <?php
  65. ?>
Go to the top of the page
+Quote Post
nospor
post
Post #14





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




nic dziwnego, przecież ty print ("Twoje imie: $iNr "); dajesz gdy w sesji jest obiekt user. A inicjujesz gdy gosciu sie loguje, więc one się nawzajem wykluczają. Po zalogowaniu wkladaj do sesji $iNr, to będzie widoczne ale z tablicy sesji a nie tak sobie. Wogóle to kombinujesz. Skoro masz obiekt(tablice) user w sesji to tam masz wszystkozawarte i poco kombinowac?
Zyce se utrudniasz
Go to the top of the page
+Quote Post
'poczatkujacy'
post
Post #15





Grupa: Zarejestrowani
Postów: 16
Pomógł: 0
Dołączył: 21.07.2005

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


No napisalem na poczatku ze nie chce zeby mi wszystkie dane wyswietlil, potrzebuje zmienne, wiec gdzie mam to wstawic?(IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) ?
Go to the top of the page
+Quote Post
nospor
post
Post #16





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




A kto ci każe wszystko wyswietlac. Wyswietlaj to co chesz:
  1. <?php
  2.  
  3. echo $_SESSION[ 'user' ]['nr'];
  4. echo $_SESSION[ 'user' ]['imie'];
  5.  
  6. ?>


A jak juz sie bardzo upierasz (tam gdzie do sesji wwalasz):
  1. <?php
  2.  
  3. $_SESSION[ 'user' ] = $userData;
  4. $_SESSION[ 'imie' ] = $userData['imie'];
  5. //itd
  6.  
  7. ?>
Go to the top of the page
+Quote Post
'poczatkujacy'
post
Post #17





Grupa: Zarejestrowani
Postów: 16
Pomógł: 0
Dołączył: 21.07.2005

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


No wporzadku wszystko dziala tak jak nalezy. Dzieki.

Ten post edytował 'poczatkujacy' 23.07.2005, 12:46:38
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 24.10.2026 - 00:42