Walczę już od dłuższego czasu z AMXBANSem (większość założonych rzeczy udało mi się przerobić) ale nie mogę sobie poradzić z jedną rzeczą:
Zrobiłem rozwijaną listę serwerów (wyświetlane serwery są po hoście alfabetycznie z góry na dół). Po wybraniu danego serwera jest poprawnie zaznaczany ale..
nie mogę poprawnie pobrać wartości hostname oraz address.
Pobiera mi zawsze ostatnie wartości czyli wartosci serwera który jest alfabetycznie ostatni na liście
Oto plik add_ban.php
<?php // Start session // Require basic site files require("../include/config.inc.php"); if ($config->error_handler == "enabled") { include("$config->error_handler_path"); } include("$config->path_root/include/functions.lang.php"); include("$config->path_root/include/accesscontrol.inc.php"); if($_SESSION['bans_add'] != "yes") { } // get a list of servers... $resource = mysql_query("SELECT id, hostname, address, amxban_version FROM $config->servers ORDER BY hostname ASC") or die (mysql_error()); $amx_version = $checkplug['0']; //echo "<h2>$amx_version</h2>"; // Asign variables to the array used in the template "id" => $result->id, "hostname" => $result->hostname, "address" => $result->address, "amxversion" => $amx_version, ); $server_array[] = $server_info; } { $serverid = $_POST['server_id']; $serverhostname = $_POST['server_hostname']; $serveraddress = $_POST['server_address']; } //display_post_get(); { } { } else { // get my steamID $result = mysql_query("SELECT steamid FROM $config->amxadmins WHERE nickname = '".$_SESSION['uid']."'"); $admin_id = ""; { $admin_id = $val->steamid; } // check if player_id already exists $check_steamid = mysql_query("SELECT COUNT(player_id) as ban_exists FROM $config->bans WHERE player_id != '' AND player_id = '".$_POST['player_id']."'") or die (mysql_error()); if ($got_steamid->ban_exists != 0) { } else { $server_name = $serverhostname; $server_address = $serveraddress; $player_nick = $admin_amxname = $_POST['player_nick']; $insert_ban = mysql_query("INSERT INTO $config->bans (player_id, player_nick, admin_ip, admin_id, admin_nick, ban_type, ban_reason, ban_created, ban_length, server_name, server_ip) VALUES ('".$_POST['player_id']."', '$player_nick', '".$_SERVER["REMOTE_ADDR"]."', '$admin_id', '".$_SESSION['uid']."', '".$_POST['ban_type']."', '".$_POST['ban_reason']."', '$ban_created', '".$_POST['ban_length']."', '$server_name', '$server_address')") or die (mysql_error()); $add_log = mysql_query("INSERT INTO $config->logs (timestamp, ip, username, action, remarks) VALUES ('$ban_created', '".$_SERVER['REMOTE_ADDR']."', '".$_SESSION['uid']."', 'add ban', 'banned user by SteamID (".$_POST['player_id'].")')") or die (mysql_error()); } else { $insert_ban = mysql_query("INSERT INTO $config->bans (player_ip, player_id, player_nick, admin_ip, admin_id, admin_nick, ban_type, ban_reason, ban_created, ban_length, server_name, server_ip) VALUES ('".$_POST['player_ip']."', '".$_POST['player_id']."', '$player_nick', '".$_SERVER["REMOTE_ADDR"]."', '$admin_id', '".$_SESSION['uid']."', '".$_POST['ban_type']."', '".$_POST['ban_reason']."', '$ban_created', '".$_POST['ban_length']."', '$server_name', '$server_address')") or die (mysql_error()); $add_log = mysql_query("INSERT INTO $config->logs (timestamp, ip, username, action, remarks) VALUES ('$ban_created', '".$_SERVER['REMOTE_ADDR']."', '".$_SESSION['uid']."', 'add ban', 'banned user by SteamID and IP (".$_POST['player_id']." / ".$_POST['player_ip'].")')") or die (mysql_error()); } $url = "$config->document_root"; $delay = "2"; //echo "Added ban. Redirecting..."; echo "<meta http-equiv=\"refresh\" content=\"".$delay.";url='http://".$_SERVER["HTTP_HOST"]."$url'\">"; } } } // Header $title = lang("_ADDBAN"); // Section $section = "addban"; // Parsing $smarty = new dynamicPage; $smarty->assign("meta",""); $smarty->assign("title",$title); $smarty->assign("section",$section); $smarty->assign("dir",$config->document_root); $smarty->assign("skin",$config->default_skin); $smarty->assign("this",$_SERVER['PHP_SELF']); $smarty->assign("submitted",get_post('submitted')); //$smarty->assign("servers",$server_array); //$smarty->assign("players",$player_array); //$smarty->assign("empty_result",$empty_result); //$smarty->assign("post",$_POST); $smarty->display('main_header.tpl'); $smarty->display('add_ban.tpl'); $smarty->display('main_footer.tpl'); ?>
plik add_ban.tpl w kolejnym poscie
<?php <table cellspacing='1' class='listtable' width='100%'> <tr> <td height='16' colspan='3' class='listtable_top'><b>{"_ADD"|lang}</b></td> </tr> <form name="server" method="post" action="{$this}"> <tr bgcolor="#D3D8DC"> <td height='16' width='30%' class='listtable_1'>{"_SELECTSERVER"|lang}</td> <td height='16' width='70%' class='listtable_1'><input type='hidden' name'submitted' value='true'> <select name='server_id' style='font-family: verdana, tahoma, arial; font-size: 10px; width: 250px' onChange="java script:document.server.submit()"> <option value='xxx' >{"_SELECTSERVER"|lang}</option> {foreach from=$servers item=servers} <option value='{$servers.id}'{if $servers.id == $thisserver} selected {/if}>{$servers.hostname} {$servers.address}</option> {/foreach} </select> </td> </tr> </form> <form name="addban" method="post" action="{$this}"> <input type='hidden' name='server_id' value='{$thisserver}'> <input type='hidden' name='server_hostname' value='{$servers.hostname}'> <input type='hidden' name='server_address' value='{$servers.address}'> <input type='hidden' name='action' value='insert'> <tr bgcolor="#D3D8DC"> <td height='16' width='30%' class='listtable_1'>{"_NICKNAME"|lang}</td> <td height='16' width='70%' class='listtable_1'><input type='text' name='player_nick' value='{if isset($post.player_nick)}{$post.player_nick}{/if}' style='font-family: verdana, tahoma, arial; font-size: 10px; width: 250px'></td> </tr> <tr bgcolor="#D3D8DC"> <td height='16' width='30%' class='listtable_1'>{"_BANTYPE"|lang}</td> <td height='16' width='70%' class='listtable_1'> <select name='ban_type' style='font-family: verdana, tahoma, arial; font-size: 10px; width: 250px'> <option value='S'>SteamID</option> <option value='SI'>{"_STEAMID&IP"|lang}</option> </select> </td> </tr> <tr bgcolor="#D3D8DC"> <td height='16' width='30%' class='listtable_1'>SteamID</td> <td height='16' width='70%' class='listtable_1'><input type='text' name='player_id' value='{if isset($post.player_id)}{$post.player_id}{/if}'style='font-family: verdana, tahoma, arial; font-size: 10px; width: 250px'> (e.g. STEAM_0:1:4548)</td> </tr> <tr bgcolor="#D3D8DC"> <td height='16' width='30%' class='listtable_1'>{"_IP"|lang}</td> <td height='16' width='70%' class='listtable_1'><input type='text' name='player_ip' value='{if isset($post.player_ip)}{$post.player_ip}{/if}'style='font-family: verdana, tahoma, arial; font-size: 10px; width: 250px'></td> </tr> <tr bgcolor="#D3D8DC"> <td height='16' width='30%' class='listtable_1'>{"_BANLENGHT"|lang}</td> <td height='16' width='70%' class='listtable_1'> <select name='ban_length' style='font-family: verdana, tahoma, arial; font-size: 10px; width: 250px'' {if $players.is_admin == 1}disabled{/if}> <option value='0'>{"_PERMANENT"|lang}</option> <optgroup label="{"_MINS"|lang}"> <option value='1'>1 {"_MIN"|lang}</option> <option value='5'>5 {"_MINS"|lang}</option> <option value='10'>10 {"_MINS"|lang}</option> <option value='15'>15 {"_MINS"|lang}</option> <option value='30'>30 {"_MINS"|lang}</option> <option value='45'>45 {"_MINS"|lang}</option> <optgroup label="{"_HOURS"|lang}"> <option value='60'>1 {"_HOUR"|lang}</option> <option value='120'>2 {"_HOURS"|lang}</option> <option value='180'>3 {"_HOURS"|lang}</option> <option value='240'>4 {"_HOURS"|lang}</option> <option value='480'>8 {"_HOURS"|lang}</option> <option value='720'>12 {"_HOURS"|lang}</option> <optgroup label="{"_DAYS"|lang}"> <option value='1440'>1 {"_DAY"|lang}</option> <option value='2880'>2 {"_DAYS"|lang}</option> <option value='4320'>3 {"_DAYS"|lang}</option> <option value='5760'>4 {"_DAYS"|lang}</option> <option value='7200'>5 {"_DAYS"|lang}</option> <option value='8640'>6 {"_DAYS"|lang}</option> <optgroup label="{"_WEEKS"|lang}"> <option value='10080'>1 {"_WEEK"|lang}</option> <option value='20160'>2 {"_WEEKS"|lang}</option> <option value='30240'>3 {"_WEEKS"|lang}</option> <optgroup label="{"_MONTHS"|lang}"> <option value='40320'>1 {"_MONTH"|lang}</option> <option value='80640'>2 {"_MONTHS"|lang}</option> <option value='120960'>3 {"_MONTHS"|lang}</option> <option value='241920'>6 {"_MONTHS"|lang}</option> <option value='483840'>12 {"_MONTHS"|lang}</option> </select> </td> </tr> <tr bgcolor="#D3D8DC"> <td height='16' width='30%' class='listtable_1'>{"_REASON"|lang}</td> <td height='16' width='70%' class='listtable_1'><input type='text' name='ban_reason' style='font-family: verdana, tahoma, arial; font-size: 10px; width: 250px'></td> </tr> <tr bgcolor="#D3D8DC"> <td height='16' width='100%' colspan='2' class='listtable_1' align='right'><input type='submit' name='submit' value=' {"_ADD"|lang} ' style='font-family: verdana, tahoma, arial; font-size: 10px;></td> </tr> </form> {/if} </table> ?>