Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Skrypt banowania czasowego, Skrypt banowania czasowego bo własną grę ;)
Rochu
post
Post #1





Grupa: Zarejestrowani
Postów: 64
Pomógł: 14
Dołączył: 25.09.2010

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


Witam, tworzę skrypt banowania czasowego pod moją grę via www, lecz niestety w pewnym miejscu zaciąłem się i nie wiem co dalej... A otóż to ten skrypt ban_time (kod zaczerpnięty z jednej z wtyczek popularnego CMS'a PHP-Fusion):

  1. <?php
  2. include ("strony/admin/Polish.php");
  3.  
  4. if (!isset($_GET['kas'])) { $_GET['kas'] = ""; }
  5. switch($_GET['kas']){
  6. case 'ban':
  7. if (isset($_POST['baninti']) && (isset($_POST['gracz']) && is_numeric($_POST['gracz']))) {
  8. $krw="";
  9. $ban_time = isset($_POST['ban_time']) && is_numeric($_POST['ban_time']) ? $_POST['ban_time'] : 0;
  10. $ban_trukme = isset($_POST['ban_trukme']) ? $_POST['ban_trukme'] : '';
  11. $ban_priezastis = isset($_POST['ban_priezastis']) ? trim(stripinput($_POST['ban_priezastis'])) : '';
  12. if ($ban_time < 5) {
  13. $krw = "1";
  14. $err = $locale['bs19'];}
  15. if (strlen($ban_priezastis) < 5) {
  16. $krw = "1";
  17. $err = $locale['bs20'];}
  18. if(empty($ban_time) || empty($ban_priezastis)) {
  19. $krw= "1";
  20. $err = $locale['bs21'];}
  21. if($krw=="1"){
  22. echo $err;
  23. }else{
  24. if($ban_trukme==="sek") { $ban_trukme = $ban_time; }
  25. if($ban_trukme==="min") { $ban_trukme = $ban_time*60; }
  26. if($ban_trukme==="val") { $ban_trukme = $ban_time*3600; }
  27. if($ban_trukme==="die") { $ban_trukme = $ban_time*86400; }
  28. if($ban_trukme==="sav") { $ban_trukme = $ban_time*604800; }
  29. if($ban_trukme==="men") { $ban_trukme = $ban_time*2592000; }
  30. if($ban_trukme==="met") { $ban_trukme = $ban_time*31536000; }
  31. $udata = mysql_fetch_array(mysql_query("SELECT * FROM tribal_gracze WHERE gracz='".$_POST['gracz']."'"));
  32. if ($udata['rola'] < 1) {
  33. $result=mysql_query("INSERT INTO tribal_bany (ban_id, ban_time, ban_priezastis, ban_kada) VALUES
  34. ('".$_POST['gracz']."', '".(time()+$ban_trukme)."', '$ban_priezastis','".time()."');");
  35. $result=mysql_query("UPDATE tribal_gracze SET zbanowany='1' WHERE gracz='".$_POST['gracz']."'");
  36. if ($result) redirect("?akcja=ban_time&kas=ban");
  37. }
  38. }
  39. }
  40. if (!isset($_POST['search']) || !isset($_POST['searchko'])) {
  41. echo "<form name='searchff' method='post' action='?akcja=ban_time&kas=ban'>";
  42. echo "<table align='center'><tr>
  43. <td>".$locale['bs26'].": <input type='text' name='searchko' class='textbox' style='width:200px'></td>
  44. </tr><tr>
  45. <td>".$locale['bs27']."<br><label><input type='radio' name='tipas' value='login' checked='checked' />".$locale['bs24']."</label></td>
  46. </tr><tr>
  47. <td><label><input type='radio' name='tipas' value='gracz' />".$locale['bs25']." </label></td>
  48. </tr><tr>
  49. <td align='center'><input type='submit' name='search' value='".$locale['bs26']."'></td>
  50. </form></table>\n";
  51. } elseif (isset($_POST['search']) && isset($_POST['searchko'])) { $ieskom = "";
  52. if ($_POST['tipas'] == "gracz" && is_numeric($_POST['searchko'])) {
  53. $ieskom .= "gracz='".$_POST['searchko']."' ";
  54. } elseif ($_POST['tipas'] == "login" && preg_match("/^[-0-9A-Z_@\s]+$/i", $_POST['searchko'])) {
  55. $ieskom .= "login LIKE '%".$_POST['searchko']."%' "; }
  56. if ($ieskom) {
  57. $result = mysql_query("SELECT gracz, login FROM tribal_gracze WHERE ".$ieskom." ORDER BY login");
  58. }
  59. if (isset($result) && is_numeric($result)) {
  60. echo "<form method='post' action='?akcja=ban_time&kas=ban&gracz'>";
  61. $i = 0; $v = "";
  62. while ($data = array($result)) { $i++;
  63. $v .= "<label><input type='radio' name='gracz' value='".$data['gracz']."'> ".$data['login']."</label>";
  64. }
  65. if ($i > 0) {
  66. echo "<table align=center><tr>
  67. <td>".$locale['bs28']."</td>
  68. <td><b>$v</b></td>
  69. </tr><tr>
  70. <td>".$locale['bs04']."</td>
  71. <td><input name='ban_time' style='width:40px;' class='textbox'>
  72. <select name='ban_trukme' class='textbox'>
  73. <option value='sek'>".$locale['bs05']."</option>
  74. <option value='min'>".$locale['bs06']."</option>
  75. <option value='val'>".$locale['bs07']."</option>
  76. <option value='die'>".$locale['bs08']."</option>
  77. <option value='sav'>".$locale['bs09']."</option>
  78. <option value='men'>".$locale['bs10']."</option>
  79. <option value='met'>".$locale['bs11']."</option>
  80. </select></td></tr><tr>
  81. <td>".$locale['bs12']."</td>
  82. <td><textarea name='ban_priezastis' style='width:200px;height:40px;' class='textbox'></textarea></td>
  83. </tr><tr>
  84. <td><input type='submit' name='baninti' value='".$locale['bs13']."'></td>
  85. </tr></table>
  86. </form>\n";
  87. } else {
  88. echo $locale['bs23']."<br><br>\n";
  89. echo "<a href='?akcja=ban_time&kas=ban'>".$locale['bs22']."</a>\n";}
  90. echo "</form>\n";
  91. } else {
  92. echo $locale['bs23']."<br><br>\n";
  93. echo "<a href='?akcja=ban_time&kas=ban'>".$locale['bs22']."</a>";}
  94. }
  95. break;
  96. case 'unban':
  97. if(isset($_GET['gracz']) && is_numeric($_GET['gracz'])) {
  98. $result=mysql_query("UPDATE tribal_gracze SET zbanowany='0' WHERE gracz='".$_GET['gracz']."'");
  99. $result=mysql_query("DELETE FROM tribal_bany WHERE ban_id='".$_GET['gracz']."'");
  100. if ($result) redirect("ban_time");
  101. }
  102. break;
  103. default:
  104. include ("strony/admin/Polish2-user.php");
  105. echo "<a href=?akcja=ban_time&kas=ban>".$locale['bs18']."</a><br><br>";
  106. echo "<b>".$locale['bs14']."</b><br>";
  107. $bl=row("SELECT * FROM tribal_bany");
  108. while($nx=array($bl)){
  109. $nm=mysql_fetch_array(mysql_query("SELECT login FROM tribal_gracze WHERE gracz='".$nx['ban_id']."'"));
  110. echo "<a href=?akcja=profil&gracz=".$nx['ban_id'].">".$nm['login']."</a> (".$locale['bs15']." ".showdate("forumdate",$nx['ban_kada']).") ".$locale['bs16']." <b>".showdate("forumdate",$nx['ban_time'])."</b>
  111. ".$locale['bs12']." <u><b>";
  112. if($nx['ban_priezastis']!=''){ echo $nx['ban_priezastis']."</b></u>";
  113. } echo " <a href='?akcja=ban_time&kas=unban&gracz=".$nx['ban_id']."' onclick='return unbann();'> [".$locale['408']."]</a><br>";
  114. }
  115. if(!mysql_num_rows($bl) > 0) echo $locale['bs17']."<br><br>";
  116. echo "<script type='text/javascript'>"."\n"."
  117. function unbann(login) {\n";
  118. echo "return confirm('".$locale['408']."');\n}\n</script>\n";
  119. }
  120.  
  121. ?>


I problem tkwi w tym, że gdy wchodzę w wyszukiwanie graczy i wpiszę POPRAWNIE któregoś z nich to za każdym razem wyskakuje mi wiadomość, że nic nie znaleziono... Jeśli ktoś może coś poradzić to bardzo proszę (IMG:style_emoticons/default/winksmiley.jpg) Jeszcze dodam strukturę tej tabeli:

  1. CREATE TABLE `tribal_bany` (
  2. `ban_id` VARCHAR( 64 ) NOT NULL,
  3. `ban_time` int(10) UNSIGNED NOT NULL,
  4. `ban_priezastis` text NOT NULL,
  5. `ban_kada` int(10) UNSIGNED NOT NULL,
  6. PRIMARY KEY ( `ban_id` )
  7. ) ENGINE = MYISAM;


gracz = id_gracz
Go to the top of the page
+Quote Post
lord2105
post
Post #2





Grupa: Zarejestrowani
Postów: 380
Pomógł: 59
Dołączył: 24.04.2010
Skąd: London

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


poproszę o strukturę tabeli tribal_gracze
Go to the top of the page
+Quote Post
Rochu
post
Post #3





Grupa: Zarejestrowani
Postów: 64
Pomógł: 14
Dołączył: 25.09.2010

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


Oto i ona (IMG:style_emoticons/default/smile.gif)

  1. CREATE TABLE IF NOT EXISTS `tribal_gracze` (
  2. `gracz` int(11) NOT NULL AUTO_INCREMENT,
  3. `login` varchar(15) NOT NULL,
  4. `haslo` varchar(40) NOT NULL,
  5. `email` varchar(40) NOT NULL,
  6. `email_aktywny` int NOT NULL DEFAULT '0',
  7. `kod_aktywacyjny` varchar(20) NOT NULL DEFAULT '',
  8. `ostatnio_zalogowany` int(11) NOT NULL,
  9. `obrazek` int(11) NOT NULL,
  10. `rola` int(11) NOT NULL,
  11. `zbanowany` int(11) NOT NULL,
  12. `id_miasta` int(11) NOT NULL DEFAULT '0',
  13. `nazwa_miasta` varchar(40) NOT NULL,
  14. `monety` INT NOT NULL DEFAULT '0',
  15. PRIMARY KEY (`gracz`),
  16. UNIQUE KEY `login` (`login`),
  17. UNIQUE KEY `email` (`email`),
  18. UNIQUE KEY `nazwa_miasta` (`nazwa_miasta`)
  19. ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=2 ;


Ten post edytował Rochu 25.09.2010, 16:05:57
Go to the top of the page
+Quote Post
lord2105
post
Post #4





Grupa: Zarejestrowani
Postów: 380
Pomógł: 59
Dołączył: 24.04.2010
Skąd: London

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


ta wyszukiwarka graczy w której nic nie możesz wyszukać ma odnosić się do zbanowanych?
Go to the top of the page
+Quote Post
Rochu
post
Post #5





Grupa: Zarejestrowani
Postów: 64
Pomógł: 14
Dołączył: 25.09.2010

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


Nie... Wpisuje id lub login gracza, po czym wyszukuje mi takowego usera, i wyswietla mi cos takowego, czyli login a obok kropka, gdzie zaznaczam usera do banowania (IMG:style_emoticons/default/smile.gif) (screen z tegoż skryptu tylko na tym CMS'ie (IMG:style_emoticons/default/biggrin.gif) ):
(IMG:http://img411.imageshack.us/img411/4135/bansystem.jpg)
Go to the top of the page
+Quote Post
fander
post
Post #6





Grupa: Zarejestrowani
Postów: 231
Pomógł: 22
Dołączył: 6.10.2008

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


$sql = "INSERT INTO tribal_bany (ban_id, ban_time, ban_priezastis, ban_kada) VALUES ($ban_id,$ban_time,'$ban_ban_priezastis',ban_kada)"

do czego jest ban_kada ?
Go to the top of the page
+Quote Post
Rochu
post
Post #7





Grupa: Zarejestrowani
Postów: 64
Pomógł: 14
Dołączył: 25.09.2010

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


ban_kada (kada w języku serbskim = kiedy) czyli kiedy ban został nałożony (IMG:style_emoticons/default/winksmiley.jpg) [nie jestem do końca pewny bo ja tego skryptu nie pisałem, tylko wziąłem go z jednej wtyczki z CMS'a]
Go to the top of the page
+Quote Post
fander
post
Post #8





Grupa: Zarejestrowani
Postów: 231
Pomógł: 22
Dołączył: 6.10.2008

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


to wykonujesz zapytanie które ci napisałem, zapisujesz jedynie odpowiednie wartości w zmiennych


$ban_id = $user_id //ten który masz zapisaney pod <input type="ratio" name="<?=$result['user_id']?>"

$ban_time = /widz że masz do wyboru minuty, godziny, dni, miesiące więc musisz sobie funkcje która ci przeliczy wartości/

$ban_ban_priezastis = $_POST["ban_prezastis"]

$ban_kada = time()


Cudów tutaj nie ma nie ma
Go to the top of the page
+Quote Post
Rochu
post
Post #9





Grupa: Zarejestrowani
Postów: 64
Pomógł: 14
Dołączył: 25.09.2010

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


@fander ty chyba nie zrozumiałeś, podajesz mi kod, który dodaje do bazy danych już przesyłane informacje... A zacytuje ci mój problem:

Cytat
I problem tkwi w tym, że gdy wchodzę w wyszukiwanie graczy i wpiszę POPRAWNIE któregoś z nich to za każdym razem wyskakuje mi wiadomość, że nic nie znaleziono...


Więc łazi o to, że gdzieś mam błąd z pobieraniem rekordów z bazy danych (SELECT * .... itd.), tylko nie mogę rozkminić gdzie dokładnie tkwi ten problem...
Go to the top of the page
+Quote Post
lord2105
post
Post #10





Grupa: Zarejestrowani
Postów: 380
Pomógł: 59
Dołączył: 24.04.2010
Skąd: London

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


  1. $bl=row("SELECT * FROM tribal_bany");


Zmień na:

  1. $bl=mysql_fetch_array(mysql_query("SELECT * FROM tribal_bany"));


Go to the top of the page
+Quote Post
Rochu
post
Post #11





Grupa: Zarejestrowani
Postów: 64
Pomógł: 14
Dołączył: 25.09.2010

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


Jak zrobić, by zamiast tego szukania zrobić po prostu od razu wyświetlał się formularz banujący, gdzie wpisywane byłoby id gracza lub jego login??

Daję POMÓGŁ(IMG:style_emoticons/default/exclamation.gif) !


Albo po prostu jakoś inaczej przerobić lub od nowa pomóc zrobić jak ktoś może, że mam formularz, gdzie wpisuje id usera banowanego, ile dni ma być zbanowany i powod banowania i zeby sie dodawalo podobnie do tabeli tribal_bany oraz ustawialo w tribal_gracze pole zbanowany na 1. Co do automatycznego odbanowania to sam sobie sprobuje zrobic (IMG:style_emoticons/default/smile.gif)

Ten post edytował Rochu 29.09.2010, 21:42:25
Go to the top of the page
+Quote Post
lord2105
post
Post #12





Grupa: Zarejestrowani
Postów: 380
Pomógł: 59
Dołączył: 24.04.2010
Skąd: London

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


  1. <?php
  2. if (isset($_POST)) {
  3. if (empty($_POST['id_user']) || empty($_POST['days']) || empty($_POST['reason'])) {
  4. echo 'Podaj wszystkie dane';
  5. }
  6. else {
  7. $sql = "INSERT INTO tribal_bany (ban_id,ban_time,ban_priezastis,ban_kada) VALUES ('".$_POST['id_user']."','".(time()+$_POST['days']*86400)."','".$_POST['reason']."','".time()."')";
  8. $set_falge = "UPDATE tribal_gracze SET zbanowany = 1 WHERE gracz = '".$_POST['id_user']."'";
  9. if (mysql_query($sql)) {
  10. if ($set_falge) {
  11. echo "zbanowano gracza";
  12. }
  13. else mysql_error();
  14. }
  15. else mysql_error();
  16. }
  17. }
  18. ?>
  19. <form action = "ten_plik.php" method = "post">
  20. <input type='text' name = 'id_user'>
  21. <input type='text' name = 'days'>
  22. <textarea name='reason'></textarea>
  23. <input type='submit' name='search' value=' '>
  24. </form>


Masz szczęście, że dziś @Damonsson poprawił mi humor (IMG:style_emoticons/default/haha.gif)
Go to the top of the page
+Quote Post
Rochu
post
Post #13





Grupa: Zarejestrowani
Postów: 64
Pomógł: 14
Dołączył: 25.09.2010

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


Dziękuję bardzo (IMG:style_emoticons/default/winksmiley.jpg) Oczywiście POMÓGŁ obowiązkowo (IMG:style_emoticons/default/winksmiley.jpg)
Jeszcze o jedną pomoc bym prosił. A właściwie mam problem ze skryptem wyświetlającym bany. Chyba kompletnie go źle zrobiłem... Prosiłbym o pomoc w wykonaniu tegoż skryptu wraz ze stronicowaniem, a właściwie pobierałoby dane i wyświetlało w tabelce login gracza | ban do kiedy | powod bana | kiedy został przyznany. Skrypcik opierał by się na podstawie danych ze skryptu lord2105

Pozdrawiam (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 26.09.2025 - 23:25