Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Skrypt banowania czasowego, Skrypt banowania czasowego bo własną grę ;)
Rochu
post 25.09.2010, 14:14:31
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ę 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
 
Start new topic
Odpowiedzi (1 - 12)
lord2105
post 25.09.2010, 14:50:00
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


--------------------
40% rozwiązań znajduje się tutaj.
59,9% tutaj.

Jeśli pomogłem rozwiązać Twój problem wciśnij
Go to the top of the page
+Quote Post
Rochu
post 25.09.2010, 16:05:23
Post #3





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

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


Oto i ona 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 25.09.2010, 16:13:11
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?


--------------------
40% rozwiązań znajduje się tutaj.
59,9% tutaj.

Jeśli pomogłem rozwiązać Twój problem wciśnij
Go to the top of the page
+Quote Post
Rochu
post 26.09.2010, 15:58:30
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 smile.gif (screen z tegoż skryptu tylko na tym CMS'ie biggrin.gif):
Go to the top of the page
+Quote Post
fander
post 27.09.2010, 08:26:01
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 27.09.2010, 14:39:37
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 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 27.09.2010, 15:57:40
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 27.09.2010, 21:21:48
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 27.09.2010, 23:09:53
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"));




--------------------
40% rozwiązań znajduje się tutaj.
59,9% tutaj.

Jeśli pomogłem rozwiązać Twój problem wciśnij
Go to the top of the page
+Quote Post
Rochu
post 1.10.2010, 15:39:24
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Ł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 smile.gif

Ten post edytował Rochu 29.09.2010, 21:42:25
Go to the top of the page
+Quote Post
lord2105
post 1.10.2010, 16:14:11
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 haha.gif


--------------------
40% rozwiązań znajduje się tutaj.
59,9% tutaj.

Jeśli pomogłem rozwiązać Twój problem wciśnij
Go to the top of the page
+Quote Post
Rochu
post 9.10.2010, 18:42:52
Post #13





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

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


Dziękuję bardzo winksmiley.jpg Oczywiście POMÓGŁ obowiązkowo 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 smile.gif
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: 14.08.2025 - 10:05