Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> mysql_fetch_assoc
'poczatkujacy'
post 21.07.2005, 19:47:26
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 smile.gif
Go to the top of the page
+Quote Post
tiraeth
post 21.07.2005, 20:30:26
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. ?>

questionmark.gif
Go to the top of the page
+Quote Post
brekmar
post 21.07.2005, 21:09:46
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 smile.gif
Go to the top of the page
+Quote Post
SongoQ
post 21.07.2005, 21:19:15
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 22.07.2005, 12:53:54
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?questionmark.gifquestionmark.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 22.07.2005, 13:01:56
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 22.07.2005, 13:32:48
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 22.07.2005, 13:38:40
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 23.07.2005, 11:36:39
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 23.07.2005, 11:38:44
Post #10





Grupa: Moderatorzy
Postów: 36 468
Pomógł: 6300
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. ?>


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

"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
'poczatkujacy'
post 23.07.2005, 11:52:40
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 sad.gif.
Go to the top of the page
+Quote Post
nospor
post 23.07.2005, 11:58:56
Post #12





Grupa: Moderatorzy
Postów: 36 468
Pomógł: 6300
Dołączył: 27.12.2004




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

pokaż nowy caly kod


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

"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
'poczatkujacy'
post 23.07.2005, 12:01:07
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 23.07.2005, 12:05:08
Post #14





Grupa: Moderatorzy
Postów: 36 468
Pomógł: 6300
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


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

"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
'poczatkujacy'
post 23.07.2005, 12:10:12
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?questionmark.gif?
Go to the top of the page
+Quote Post
nospor
post 23.07.2005, 12:13:56
Post #16





Grupa: Moderatorzy
Postów: 36 468
Pomógł: 6300
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. ?>


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

"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
'poczatkujacy'
post 23.07.2005, 12:40:16
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
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 18.05.2024 - 00:27