Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Panel
onelife
post 29.08.2013, 10:25:47
Post #1





Grupa: Zarejestrowani
Postów: 38
Pomógł: 0
Dołączył: 29.08.2013

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


Witajcie,jestem początkujący. Chce sobie zrobić panel,który będzie wyświetlał takie rzeczy jak nick,punkty itp. Zrobiłem skrypt na logowanie z tego poradnika http://burning-brushes.pl/tutoriale-phpmys...-i-rejestracja/ .

  1. // jeśli zostanie naciśnięty przycisk "Zaloguj"
  2. if(isset($_POST['ok']))
  3. {
  4. $nick = trim($_POST['nick']);
  5.  
  6. $pass = trim($_POST['pass']);
  7.  
  8.  
  9. // sprawdzamy czy wszystkie dane zostały podane
  10. if(empty($nick) || empty($pass)) echo 'Wpisz wszystkie pola';
  11.  
  12. // jeśli tak...
  13. else
  14. {
  15. // filtrujemy dane
  16.  
  17.  
  18.  
  19.  
  20. // sprawdzamy czy istnieje użytkownik z takim loginem i hasłem
  21.  
  22.  
  23. $result = mysql_query ("SELECT * FROM `panel` WHERE `nick`='$nick' AND `password`='$pass'");
  24.  
  25. // jeśli nie istnieje
  26. if(mysql_num_rows($result)==0) echo 'Niestety podałes niepoprawne dane!';
  27.  
  28. // jeśli tak...
  29. else
  30. {
  31. // dodajemy wynik zapytania do tablicy
  32. $row = mysql_fetch_array($result);
  33.  
  34. // ustawianie sesji że użytkownik jest zalogowany
  35. $_SESSION['logged'] = true;
  36.  
  37. // dodawanie do sesji id użytkownika, login oraz datę rejestracji
  38. $_SESSION['nick'] = $row['nick'];
  39. $_SESSION['respect'] = $row['respect'];
  40. $_SESSION['skill'] = $row['skill'];
  41. $_SESSION['level'] = $row['level'];
  42.  
  43.  
  44. // wyświetlenie komunikatu oznaczającego poprawne logowanie
  45. header('location: panel.php');
  46. }
  47. }
  48. }
  49. }
  50. // rozłączenie z bazą danych
  51.  
  52. // koniec buforowania
  53. ?>


I tam co jest "dodawanie do sesji" dodałem to co mnie interesuje żeby wyświetliło po zalogowaniu. W pliku panel.php zrobiłem tak :


  1. // jeśli user jest zalogowany
  2. if($_SESSION['logged'])
  3. {
  4. // wyświetlamy userowi jego dane
  5. echo 'Witaj '.$_SESSION['nick'].'!<br />';
  6. echo 'Punkty: '.$_SESSION['respect'].'.<br />';
  7. echo 'Skill: '.$_SESSION['skill'].'.<br />';
  8. echo 'Level: '.$_SESSION['level'].'.<br />';
  9. echo '<a href="logout.php">WYLOGUJ</a>';
  10. }
  11.  
  12. // jeśli nie jest zalogowany


Tylko że mam problem bo wyświetla mi tylko nick i respect a level i skill już nie,jest tylko sama kropka.

Go to the top of the page
+Quote Post
2 Stron V   1 2 >  
Start new topic
Odpowiedzi (1 - 19)
Kshyhoo
post 29.08.2013, 10:31:53
Post #2





Grupa: Opiekunowie
Postów: 3 855
Pomógł: 317
Dołączył: 4.01.2005
Skąd: że




A masz jakieś dane w bazie?


--------------------
Go to the top of the page
+Quote Post
onelife
post 29.08.2013, 10:40:41
Post #3





Grupa: Zarejestrowani
Postów: 38
Pomógł: 0
Dołączył: 29.08.2013

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


Tak,mam

EDIT:

Już sobie poradziłem smile.gif

Ten post edytował onelife 29.08.2013, 10:44:22
Go to the top of the page
+Quote Post
Kshyhoo
post 29.08.2013, 11:06:46
Post #4





Grupa: Opiekunowie
Postów: 3 855
Pomógł: 317
Dołączył: 4.01.2005
Skąd: że




Cytat(onelife @ 29.08.2013, 11:40:41 ) *
Tak,mam

EDIT:

Już sobie poradziłem smile.gif

Zwyczajem Forum jest podanie rozwiązania problemu smile.gif


--------------------
Go to the top of the page
+Quote Post
Turson
post 29.08.2013, 11:15:32
Post #5





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

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


Btw. trzymanie w sesji czegoś więcej aniżeli id usera jest bezsensu.
Go to the top of the page
+Quote Post
onelife
post 29.08.2013, 13:30:08
Post #6





Grupa: Zarejestrowani
Postów: 38
Pomógł: 0
Dołączył: 29.08.2013

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


To jakbyś proponował to poprawić? smile.gif Bo jak próbowałem bez sesji a samym zapytaniem to poźniej strona robiła mi się cała biała

Ten post edytował onelife 29.08.2013, 13:30:44
Go to the top of the page
+Quote Post
Turson
post 29.08.2013, 14:16:15
Post #7





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

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


Jak napiszesz poprawne zapytanie to strona nie będzie biała
Go to the top of the page
+Quote Post
Turson
post 30.08.2013, 12:35:31
Post #8





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

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


  1. $wynik = mysql_query("SELECT * FROM `statystyki` WHERE `nick` = '{$nick}'");

Co te klamry tu robią?


btw. polecam przejście na PDO a już nigdy nie wrócisz to zwykłych zapytań wink.gif

Ten post edytował TursoN 30.08.2013, 12:42:17
Go to the top of the page
+Quote Post
--onelife--
post 30.08.2013, 19:01:02
Post #9





Goście







A co jest z nimi nie tak? smile.gif
Go to the top of the page
+Quote Post
kujol
post 30.08.2013, 20:33:18
Post #10





Grupa: Zarejestrowani
Postów: 324
Pomógł: 27
Dołączył: 21.07.2013

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


Polecam jakiś kurs biggrin.gif :

http://webmade.org/


--------------------
;)
Go to the top of the page
+Quote Post
--onelife--
post 1.09.2013, 13:56:30
Post #11





Goście







Zrobiłem coś takiego


  1.  
  2. *** połączenie z bazą ****
  3.  
  4.  
  5.  
  6. // jeśli user jest zalogowany
  7. if($_SESSION['logged'])
  8. {
  9.  
  10.  
  11. // wyświetlamy userowi jego dane
  12. $zapytanie = "SELECT * FROM `statystyki` WHERE `nick`='$nick' AND `password`='$pass'";
  13. //wykonujemy zdefiniowane zapytanie na bazie mysql
  14. $wynik = mysql_query($zapytanie);
  15. while ( $row = mysql_fetch_row($wynik) ) {
  16. echo "</tr>";
  17. echo "<td bgcolor=\"ffff99\">" . $row['respect'] . "</td>";
  18. echo "<td bgcolor=\"ffff99\">" . $row['level'] . "</td>";
  19. echo "</tr>";
  20. }
  21. echo "</table>";
  22.  
  23.  
  24. //Zamykamy połączenie z bazą danych
  25. if ( !mysql_close() ) {
  26. echo 'Nie moge zakonczyc polaczenia z baza danych';
  27. exit (0);
  28. }
  29. }
  30.  
  31.  
  32.  
  33. // jeśli nie jest zalogowany
  34. else



Ale nic się nie wyświetla.
Go to the top of the page
+Quote Post
Kshyhoo
post 1.09.2013, 14:03:38
Post #12





Grupa: Opiekunowie
Postów: 3 855
Pomógł: 317
Dołączył: 4.01.2005
Skąd: że




Pokaż strukturę bazy.


--------------------
Go to the top of the page
+Quote Post
--onelife--
post 1.09.2013, 14:50:14
Post #13





Goście







  1. --
  2. -- Struktura tabeli dla `statystyki`
  3. --
  4.  
  5. CREATE TABLE IF NOT EXISTS `statystyki` (
  6. `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  7. `nick` varchar(24) CHARACTER SET ascii NOT NULL,
  8. `password` varchar(32) NOT NULL,
  9. `ip_registered` varchar(16) NOT NULL,
  10. `ip_last` varchar(16) NOT NULL,
  11. `datetime_registered` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
  12. `datetime_last` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
  13. `session` bigint(11) NOT NULL,
  14. `level` tinyint(4) NOT NULL,
  15. `vip` date NOT NULL,
  16. `gang` int(11) NOT NULL,
  17. `language` tinyint(4) NOT NULL,
  18. `ban_count` mediumint(9) NOT NULL,
  19. `kick_count` mediumint(9) NOT NULL,
  20. `login_count` mediumint(9) NOT NULL,
  21. `kill_count` mediumint(9) NOT NULL,
  22. `teamkill_count` mediumint(9) NOT NULL,
  23. `death_count` mediumint(9) NOT NULL,
  24. `suicide_count` mediumint(9) NOT NULL,
  25. `respect` int(11) NOT NULL,
  26. `skill` mediumint(9) NOT NULL,
  27. `next_nick_change` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
  28. `bank_money` int(11) NOT NULL,
  29. `wallet_money` int(11) NOT NULL,
  30. `hitman_prize` int(11) NOT NULL,
  31. `jail` mediumint(9) NOT NULL DEFAULT '-1',
  32. `last_skin` smallint(5) unsigned NOT NULL DEFAULT '0',
  33. `mute` mediumint(9) NOT NULL DEFAULT '0',
  34. `hud0` tinyint(1) NOT NULL DEFAULT '1',
  35. `hud1` tinyint(1) NOT NULL DEFAULT '1',
  36. `hud2` tinyint(1) NOT NULL DEFAULT '1',
  37. `hud3` tinyint(1) NOT NULL DEFAULT '1',
  38. `hud4` tinyint(1) NOT NULL DEFAULT '1',
  39. `hud5` tinyint(1) NOT NULL DEFAULT '1',
  40. `hud6` tinyint(1) NOT NULL DEFAULT '1',
  41. `hud7` tinyint(1) NOT NULL DEFAULT '1',
  42. `hud8` tinyint(1) NOT NULL DEFAULT '1',
  43. `gender` tinyint(1) NOT NULL DEFAULT '0',
  44. PRIMARY KEY (`id`),
  45. UNIQUE KEY `nick` (`nick`),
  46. KEY `session` (`session`),
  47. KEY `respect` (`respect`),
  48. KEY `skill` (`skill`),
  49. FULLTEXT KEY `ip_last` (`ip_last`)
  50. ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=17017 ;
  51.  
  52. --
  53. -- Zrzut danych tabeli
Go to the top of the page
+Quote Post
Kshyhoo
post 1.09.2013, 15:09:04
Post #14





Grupa: Opiekunowie
Postów: 3 855
Pomógł: 317
Dołączył: 4.01.2005
Skąd: że




A tak:
  1. $wynik = mysql_query("SELECT * FROM statystyki WHERE `nick`='$nick'");
  2.  
  3. while ($wynik and $dane = mysql_fetch_assoc($wynik)) {
  4. echo '<p>';
  5. echo '<b>Nick:</b> '.$dane['nick'].'<br />';
  6. echo '<b>Level:</b> '.$dane['level'].'<br />';
  7. echo '<b>Respect:</b> '.$dane['respect'].'<br />';
  8. echo '<b>Skil:</b> '.$dane['skill'];
  9. echo '</p>';
  10. }

questionmark.gif


--------------------
Go to the top of the page
+Quote Post
--onelife--
post 1.09.2013, 15:35:49
Post #15





Goście







Niestety dalej nie działa


  1. <?php
  2.  
  3. // rozpoczęcie buforowania (jest to potrzebne by nie mieć błędów typu headers already sent)
  4.  
  5. // start sesji
  6.  
  7. // połączenie z mysql
  8. mysql_connect('xxxx, 'xxxxx', 'xxxxx')
  9. or die('Nieudane polaczenie z baza danych...');
  10.  
  11. // wybór bazy danych
  12. mysql_select_db('xxxxxx')
  13. or die('Nie udalo sie wybrac bazy danych...');
  14.  
  15. $wynik = mysql_query("SELECT * FROM `statystyki` WHERE `nick`='$nick'");
  16.  
  17. while ($wynik and $dane = mysql_fetch_assoc($wynik)) {
  18. echo '<p>';
  19. echo '<b>Nick:</b> '.$dane['nick'].'<br />';
  20. echo '<b>Level:</b> '.$dane['level'].'<br />';
  21. echo '<b>Respect:</b> '.$dane['respect'].'<br />';
  22. echo '<b>Skil:</b> '.$dane['skill'];
  23. echo '</p>';
  24. }
  25. mysql_close();
  26.  
  27. ?>



Biała strona
Go to the top of the page
+Quote Post
--onelife--
post 1.09.2013, 15:38:53
Post #16





Goście







Przepraszam za double post,nie że biała strona tylko nic się nie wyświetla.
Go to the top of the page
+Quote Post
Turson
post 1.09.2013, 15:47:20
Post #17





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

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


  1. mysql_connect('xxxx, 'xxxxx', 'xxxxx')

Brakuje zamknięcia wartości
Go to the top of the page
+Quote Post
--onelife--
post 1.09.2013, 16:01:14
Post #18





Goście







poprawiłem na

  1. mysql_connect('xxxx, 'xxxxx', 'xxxxx');
i pusta biała strona.
Go to the top of the page
+Quote Post
Kshyhoo
post 1.09.2013, 16:32:10
Post #19





Grupa: Opiekunowie
Postów: 3 855
Pomógł: 317
Dołączył: 4.01.2005
Skąd: że




  1. $wynik = mysql_query("SELECT * FROM statystyki WHERE nick='$nick'");

Co mówi echo zapytania?


--------------------
Go to the top of the page
+Quote Post
Turson
post 1.09.2013, 17:50:17
Post #20





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

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


Widzę, że nie zrozumiałeś...
  1. mysql_connect('xxxx, 'xxxxx', 'xxxxx'); //źle
  2. mysql_connect('xxxx', 'xxxxx', 'xxxxx'); //dobrze

Widzisz różnicę?

Ten post edytował TursoN 1.09.2013, 17:50:50
Go to the top of the page
+Quote Post

2 Stron V   1 2 >
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: 24.07.2025 - 16:12