Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP] "Podpięcie" pod serwer gry
Forum PHP.pl > Forum > Przedszkole
Kerth
Witam,
ostatnio wymyśliłem sobie, żeby zrobić taki panel gracza do SA:Mp. Panel polega na logowaniu się tymi samymi danymi zarówno na serwerze, forum i panelu. Teraz tworzę panel.
Ogólnie gdy pracowałem na localhoscie poniższy kod działał poprawnie(co co w komentarzach było w localhoscie). Jedyną zmianę jakąprzeprowadziłem było tak na prawdę pozmienianie liter z małych na duże w zapytaniach. Mimo to pojawia mi się ostrzeżenie:

  1. Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in C:\WebServ\httpd\serwer\samp\login.php on line 38


Daję cały kod logowania(nie ma nic w nim takiego szczególnego co musiałbym ukrywać)


  1. <html>
  2. <head>
  3. <link rel="stylesheet" href="inc/komunikaty.css">
  4.  
  5. <meta charset="UTF-8">
  6. <title>Logowanie do konta</title>
  7. </head>
  8.  
  9. <?php
  10.  
  11. include 'zmienne.php';
  12.  
  13. include ('inc/sql.php');
  14. if(isset($_SESSION['zalogowany'])) {
  15.  
  16. echo('Witaj '.$_SESSION['nick'].', <br><a href="logout.php">Wyloguj się</a></br> ');
  17.  
  18. echo('<a href="index.php">Strona główna</a></br>');
  19. echo('<a href="profile.php">Przejdź do ustawień profilu</a></br>');
  20. echo('<a href="lista/listagraczy.php">Lista graczy</a></br>');
  21.  
  22.  
  23. $pobierz_kasa_bank = $db->query("SELECT `Bank_kasa` FROM `Gracze` WHERE `Nick` = '$nick'");
  24. foreach($pobierz_kasa_bank->fetchAll() as $row_kasa_bank)
  25. {
  26. echo "\n***Kasa w banku: ";
  27. echo $row_kasa_bank['kasa'];
  28.  
  29. }
  30.  
  31. }else{
  32.  
  33. if(isset($_POST['wyslij'])) {
  34.  
  35.  
  36. //if(mysql_num_rows(mysql_query("SELECT `nick`, `haslo` FROM `gracze` WHERE `nick` = BINARY '".$_POST['nick']."' && `haslo` = BINARY '".$_POST['haslo']."' ")) > 0) {
  37. if(mysql_num_rows(mysql_query("SELECT `Nick`, `Haslo` FROM `Gracze` WHERE `Nick` = BINARY '".$_POST['nick']."' && `Haslo` = BINARY '".$_POST['haslo']."' ")) > 0) {
  38.  
  39. if(mysql_num_rows(mysql_query("SELECT `Id` FROM `Gracze` WHERE `Nick` = BINARY '".$_POST['nick']."' && `Haslo` = BINARY '".$_POST['haslo']."' ")) > 0 ) {
  40. //if(mysql_num_rows(mysql_query("SELECT `id` FROM `gracze` WHERE `nick` = BINARY '".$_POST['nick']."' && `haslo` = BINARY '".$_POST['haslo']."' ")) > 0 ) {
  41.  
  42. $_SESSION['zalogowany'] = true;
  43. $_SESSION['nick'] = $_POST['nick'];
  44. $_SESSION['haslo'] = $_POST['haslo'];
  45.  
  46. $odwiedziny = $db->exec("UPDATE `Gracze` SET `WizytyWWW` = `WizytyWWW` + 1 WHERE `Nick` = '".$_POST['nick']."' ");
  47.  
  48.  
  49.  
  50. echo '<div class="info">Zostałeś zalogowany. Za chwilę zostaniesz przeniesiony do swojego panelu.</div>';
  51.  
  52. header('refresh: 1;');
  53.  
  54.  
  55. } else {
  56. echo '<div class="error">Wpisałeś złe hasło. Spróbuj ponownie.</div>';
  57. }
  58. } else {
  59. echo '<div class="error">Użytkownik '.$_POST['nick'].' nie istnieje lub wpisałeś błędne hasło.</div>';
  60.  
  61. }
  62. } else {
  63. ?>
  64.  
  65. <center>
  66. <b>Logowanie do konta:</b>
  67. <form action="login.php" method="post">
  68. Wpisz Nick:<br/>
  69. <input type="text" name="nick" /><br/>
  70. Wpisz hasło:<br />
  71. <input type="password" name="haslo" /><br/>
  72. <input type="submit" value="Wyślij" name = "wyslij"/> <br/>
  73.  
  74. </center>
  75.  
  76. </form>
  77.  
  78. <?php
  79. }
  80.  
  81. }
  82. ?>


Wie ktoś co jest nie tak? Proszę o jakieś sensowne odpowiedzi.

Przepraszam. Chyba znalazłem rozwiązanie. Widzę, że "połowicznie" poprawiłem skrypt na PDO. Zapomniałem głównym zapytaniu. Teraz powinno być ok.

Umie ktoś to przerobić na PDO?
  1. if(mysql_num_rows(mysql_query("SELECT `Nick`, `Haslo` FROM `Gracze` WHERE `Nick` = BINARY '".$_POST['nick']."' && `Haslo` = BINARY '".$_POST['haslo']."' ")) > 0) {
  2.  
  3. if(mysql_num_rows(mysql_query("SELECT `Id` FROM `Gracze` WHERE `Nick` = BINARY '".$_POST['nick']."' && `Haslo` = BINARY '".$_POST['haslo']."' ")) > 0 ) {
Turson
  1. $stmt = $pdo->query("SELECT `Nick`, `Haslo` FROM `Gracze` WHERE `Nick` = BINARY '".$_POST['nick']."' && `Haslo` = BINARY '".$_POST['haslo']."' ");
  2. if($stmt->rowCount()>0)


ale jak już się korzysta z pdo to grzechem jest nie bindować danych
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.