Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Zakładanie kliku rzeczy tego samego typu
Forum PHP.pl > Forum > PHP
Neon12345
Witam , mam otóż pewne pytanie. Jak można zabezpieczyć to żeby gracze nie mogli zakładać kliku rzeczy tego samego typu?


items.php

  1. <?php
  2.  
  3. require_once('baza.php');
  4.  
  5. $user = $_SESSION['zalogowany'];
  6. $date = date("Y-m-d H:i:s");
  7. $id = rand(1, 99999999999);
  8. $ip = $_SERVER['REMOTE_ADDR'];
  9. if (isset($_GET["active"]) && ctype_digit($_GET['active']))
  10. {
  11.  
  12. // zakłada przedmiot | ważne jest, by sprawdzać czy rzeczywiście należy on do nas!
  13. $dane = mysql_fetch_array(mysql_query("SELECT * FROM `shop_save` WHERE `id`=".$_GET['active']." AND `user`='".$user."'"));
  14.  
  15. mysql_query("UPDATE `shop_save` SET `stan`='1' WHERE `id`=".$_GET['active']);
  16. $team = mysql_fetch_array(mysql_query("SELECT team_id FROM users WHERE user='$user' "))or die (mysql_error());
  17. mysql_query("UPDATE teamy SET skills=skills+'$dane[skills]' WHERE id='$team[team_id]' ") or die (mysql_error());
  18. mysql_query("UPDATE `users` SET `atak`=`atak`+".$dane['atak'].", `strzaly`=`strzaly`+".$dane['strzaly'].", `obrona`=`obrona`+".$dane['obrona'].", `rozgrywanie`=`rozgrywanie`+".$dane['rozgrywanie'].", `skutecznosc`=`skutecznosc`+".$dane['skutecznosc'].", `umiejetnosci`=`umiejetnosci`+".$dane['skills']." WHERE `user`='".$user."'");
  19. mysql_query("INSERT INTO `logs` (`id`, `kto`, `ip`, `co`, `data_logs`) values ('$id.', '$user', '$ip', 'Założył ".$dane['nazwa']."', '$date') ")or die (mysql_error());
  20. echo "
  21. <script type='text/javascript'>window.alert('Aktywowałeś Przedmiot!');document.location.href = 'items.php';</script>
  22. ";
  23. }
  24.  
  25.  
  26. if (isset($_GET["remove"]) && ctype_digit($_GET['remove']))
  27. {
  28. // zdejmowanie przedmiotu | tu też ważne jest, by sprawdzać czy jest on założony i jednocześnie czy należy on do nas!
  29. $dane = mysql_fetch_array(mysql_query("SELECT * FROM `shop_save` WHERE `id`=".$_GET['remove']." AND `stan`=1 AND `user`='".$user."'"));
  30. mysql_query("UPDATE `shop_save` SET `stan`=0 WHERE `id`=".$_GET["remove"]);
  31. $team = mysql_fetch_array(mysql_query("SELECT team_id FROM users WHERE user='$user' "))or die (mysql_error());
  32. mysql_query("UPDATE teamy SET skills=skills-'$dane[skills]' WHERE id='$team[team_id]' ") or die (mysql_error());
  33. mysql_query("UPDATE `users` SET `atak`=`atak`-".$dane['atak'].", `strzaly`=`strzaly`-".$dane['strzaly'].", `obrona`=`obrona`-".$dane['obrona'].", `rozgrywanie`=`rozgrywanie`-".$dane['rozgrywanie'].", `skutecznosc`=`skutecznosc`-".$dane['skutecznosc'].", `umiejetnosci`=`umiejetnosci`-".$dane['skills']." WHERE `user`='".$user."'");
  34. mysql_query("INSERT INTO `logs` (`id`, `kto`, `ip`, `co`, `data_logs`) values ('$id.', '$user', '$ip', 'Zdjął ".$dane['nazwa']."', '$date') ")or die (mysql_error());
  35. echo "
  36. <script type='text/javascript'>window.alert('Deaktywowałeś Przedmiot!');document.location.href = 'items.php';</script>
  37. ";
  38.  
  39. }
  40.  
  41. $query = mysql_query("SELECT * FROM shop_save WHERE user='".$user."' ") or die (mysql_error());
  42.  
  43. while ($shop = mysql_fetch_array($query))
  44. {
  45. echo "<table width=95% cellpadding=4 cellspacing=1 border=0 align=center>
  46. <tr bgcolor=#555555 align=center>
  47. <td width=30%><font color=white>Nazwa</font></td>
  48. <td width=40%><font color=white>Statystyki</font></td>
  49. <td width=15%><font color=white>Typ</font></td>
  50. <td width=35%><font color=white>Sprzedaj</font></td>
  51. </tr>
  52. <tr bgcolor=#e6e6e6 align=center>
  53. <td><b>Nazwa:</b> ".$shop['nazwa']."</td>
  54. <td><b>Atak:</b> +".$shop['atak']."<br />
  55. <b>Strzały:</b> +".$shop['strzaly']."<br />
  56. <b>Obrona:</b> +".$shop['obrona']."<br />
  57. <b>Refleks:</b> +".$shop['refleks']."<br />
  58. <b>Podania:</b> +".$shop['podania']."<br />
  59. <b>Skuteczność:</b> +".$shop['skutecznosc']."<br />
  60. <b>Rozgrywanie:</b> +".$shop['rozgrywanie']."<br />
  61. <b>Kondycja:</b> +".$shop['kondycja']."<br />
  62. <b>Umiejętności:</b> +".$shop['skills']."<br />
  63. </td>
  64. <td> <b>Typ:</b> ".$shop['typ']."</td>
  65. <td><a href=items.php?sell=".$shop['id'].">Sprzedaj za ".$shop['warty']." &euro;</a><br /></td>
  66. </tr>
  67. ";
  68. if ($shop['stan'] == 0)
  69. {
  70. echo '<tr bgcolor=#777777 align=center>
  71. <td width=30%><font color=white><a href=items.php?active='.$shop['id'].'>Załóż</a></font></td></tr>';
  72. }
  73. else
  74. {
  75. echo '<tr bgcolor=#777777 align=center>
  76. <td width=30%><font color=white><a href=items.php?remove='.$shop['id'].'>Zdejmij</a></font></td></table>';
  77. }
  78. }
  79.  
  80. if($_GET['sell'])
  81. {
  82. $dane = mysql_fetch_array(mysql_query("SELECT * FROM shop_save WHERE id=".$_GET['sell']." and user='".$user."' "));
  83.  
  84. mysql_query("UPDATE `users` SET `atak`=`atak`-".$dane['atak'].", `strzaly`=`strzaly`-".$dane['strzaly'].", `obrona`=`obrona`-".$dane['obrona'].", `rozgrywanie`=`rozgrywanie`-".$dane['rozgrywanie'].", `skutecznosc`=`skutecznosc`-".$dane['skutecznosc'].", `umiejetnosci`=`umiejetnosci`-".$dane['skills']." WHERE `user`='".$user."'") or die (mysql_error());
  85. mysql_query(" UPDATE users SET kasa=kasa+".$dane['warty']." WHERE user='".$user."' ") or die (mysql_error());
  86. mysql_query(" DELETE FROM shop_save WHERE id=".$_GET['sell']." ") or die (mysql_error());
  87. mysql_query("INSERT INTO `logs` (`id`, `kto`, `ip`, `co`, `data_logs`) values ('$id.', '$user', '$ip', 'Sprzedał ".$dane['nazwa']."', '$date') ")or die (mysql_error());
  88. <script type='text/javascript'>window.alert('Sprzedałeś przedmiot: ".$dane['nazwa']." !');document.location.href = 'items.php';</script>
  89. ";
  90. }
  91.  
  92.  
  93.  
  94. ?>
pedro84
1. Przy dodawaniu, wykonujesz zapytanie sprawdzając czy wpis danego typu o podanych parametrach istnieje w bazie
2. Jeśli jest, zwracasz error
3. Jeśli nie, dodajesz.
Neon12345
Mógł bym dostać jakiś przykład ?
pedro84
Rozumiem, że przykład co należy wykorzystać. Proszę:
if, mysql_query (do zapytania), mysql_num_rows (ilość wierszy zwróconych podczas sprawdzania czy wpis istnieje, ilość zwróconych wierszy, jeśli zero, to nic nie ma).

@down: Proszę smile.gif
Neon12345
Ok bardzo dziękuje za pomoc smile.gif
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.