Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Wirtualny portfel, Pomocy
sciagawa
post 14.01.2014, 21:36:49
Post #1





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 14.01.2014

Ostrzeżenie: (10%)
X----


Napisałem skrypt portfela na mojej stronie, lecz mam pewien problem.
Mianowicie chciałbym by użytkownik logujący się na swoje konto miał pokazane na stronie głównej SWÓJ rekord "żetony" z tabeli uzytkownicy ze swojego id lub nicku.

Skrypt wygląda tak:

  1. <?php
  2.  
  3. if (!$link = mysql_connect('xxx', 'xxx', 'xxx')) {
  4. echo 'Nie można nawiązać połączenia z bazą danych';
  5. }
  6.  
  7. if (!mysql_select_db('xxx', $link)) {
  8. echo 'Nie można wybrać bazy danych';
  9. }
  10.  
  11. $sql = 'SELECT zetony FROM uzytkownicy WHERE id = 1';
  12. $result = mysql_query($sql, $link);
  13.  
  14. if (!$result) {
  15. echo "Błąd bazy danych, nie można wykonać zapytania do bazy\n";
  16. echo 'Błąd MySQL: ' . mysql_error();
  17. }
  18.  
  19. while ($row = mysql_fetch_assoc($result)) {
  20. echo $row['zetony'];
  21. }
  22.  
  23.  
  24. ?>


Skrypt działa, jednak wyświetla się tylko rekord "żetony" dla id = 1
Jak zrobić, by wyświetłał "zetony" w zależności jaki uzytkownik jest zalogowany?
Go to the top of the page
+Quote Post
Turson
post 14.01.2014, 22:20:29
Post #2





Grupa: Zarejestrowani
Postów: 4 291
Pomógł: 829
Dołączył: 14.02.2009
Skąd: łódź

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


Gdzie trzymasz informacje jaki użytkownik jest zalogowany - w sesji? To wstaw np. $_SESSION['user_id'] do zapytania i po sprawie
Go to the top of the page
+Quote Post
sciagawa
post 14.01.2014, 22:32:30
Post #3





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 14.01.2014

Ostrzeżenie: (10%)
X----


  1. $sql = 'SELECT zetony FROM uzytkownicy WHERE id = $_SESSION['user_id']';


tak?

logowanie jest zapisywane w sesji :

  1. $_SESSION['nick']
  2. $_SESSION['haslo']


Pozmieniałem troche kod i powiedz, czy czegoś brakuje :

  1. <?php
  2.  
  3. if (!$link = mysql_connect('xxxl', 'xxx', 'xxx')) {
  4. echo 'Nie można nawiązać połączenia z bazą danych';
  5. }
  6.  
  7. if (!mysql_select_db('xxx', $link)) {
  8. echo 'Nie można wybrać bazy danych';
  9. }
  10.  
  11. $sql = 'SELECT points FROM uzytkownicy WHERE id = $_SESSION['user_id']';
  12. $result = mysql_query($sql, $link);
  13.  
  14. if (!$result) {
  15. echo "Błąd bazy danych, nie można wykonać zapytania do bazy\n";
  16. echo 'Błąd MySQL: ' . mysql_error();
  17. }
  18.  
  19. while ($row = mysql_fetch_assoc($result)) {
  20. echo $row['points'];
  21. }
  22.  
  23.  
  24. ?>
Go to the top of the page
+Quote Post
Turson
post 14.01.2014, 22:34:07
Post #4





Grupa: Zarejestrowani
Postów: 4 291
Pomógł: 829
Dołączył: 14.02.2009
Skąd: łódź

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


Trzymasz hasło w sesji facepalmxd.gif oprócz id użytkownika nic więcej nie potrzeba

nie
  1. $sql = 'SELECT zetony FROM uzytkownicy WHERE id = $_SESSION['user_id']';

a
  1. $sql = 'SELECT zetony FROM uzytkownicy WHERE id = '.$_SESSION['user_id'];
Go to the top of the page
+Quote Post
sciagawa
post 14.01.2014, 22:42:01
Post #5





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 14.01.2014

Ostrzeżenie: (10%)
X----


Błąd bazy danych, nie można wykonać zapytania do bazy Błąd MySQL: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1

Non stop ten sam błąd mi wyskakuje, wiesz może o co chodzi?
Go to the top of the page
+Quote Post
Turson
post 14.01.2014, 22:58:23
Post #6





Grupa: Zarejestrowani
Postów: 4 291
Pomógł: 829
Dołączył: 14.02.2009
Skąd: łódź

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


Daj echo $sql to zobaczysz jak wygląda zapytanie
Go to the top of the page
+Quote Post
YourFrog
post 14.01.2014, 23:05:07
Post #7





Grupa: Zarejestrowani
Postów: 124
Pomógł: 22
Dołączył: 10.01.2014

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


  1. mysql_query($sql) or die( mysql_error() ); //Prawidłowa forma



mysql_query od wersji bodajże 6.0 będzie wycofane z użycia.
Go to the top of the page
+Quote Post
sciagawa
post 14.01.2014, 23:08:12
Post #8





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 14.01.2014

Ostrzeżenie: (10%)
X----


Mogę użyć zamiast id to nick uzytkownika? Może po tym będzie ok.
Go to the top of the page
+Quote Post
Turson
post 15.01.2014, 10:16:58
Post #9





Grupa: Zarejestrowani
Postów: 4 291
Pomógł: 829
Dołączył: 14.02.2009
Skąd: łódź

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


W poście #6 napisałem co zrobić
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: 15.06.2025 - 10:56