0

我想通过点击按钮来获得价值。但它不起作用。这是我的代码:

玩家.php

(标题)

    <?php
kick_ban(@$_POST['submit']);
getMsg();
?>

(形式)

<form method="POST" action="?go=players">
<input type="submit" name="kick" class="btn btn-warning" type="button" value="Wyrzuć" />
<input type="submit" name="ban" class="btn btn-danger" type="button" value="Zbanuj" />
<?php $idgracza = $sValue['playerid'] ?>
</form>

函数_admin.php

function kick_ban($post) {
    require_once "../inc/SampRcon.class.php";
        $config = getData('../inc/config.php');
        $port = $config['port'];
        $adrip = $config['adresip'];
        $query2 = new SampRcon(''.$adrip.'', $port, "Modding1");
        if ($query2->connect()) {
        if(isset($_POST['kick'])){
        $query2->kick($idgracza);
        $_SESSION['success'] = 'Gracz o id '.$idgracza.' został pomyślnie wyrzucony z serwera.';
        }
        if(isset($_POST['ban'])){
        $query2->ban($idgracza);
        $_SESSION['success'] = 'Gracz o id '.$idgracza.' został pomyślnie zablokowany.';
        }
        }
        else
        {  
        $_SESSION['error'] = 'Błąd';
        }
        $query2->close(); // Close the connection
4

1 回答 1

0

一个问题是这一行:

kick_ban(@$_POST['submit']);

您只是将提交变量(实际上是未定义的)发送到函数。你想要的是这样的:

kick_ban($_POST);

现在我并不是说这是一种很好的编码方式,但它会将整个 post 数组发送到您的函数中,以便您可以访问所有变量。

另一个问题是当您尝试访问 kick_ban 函数中的内容时:

$_POST['kick']

$_POST['ban']

应该:

$post['kick'] 

$post['ban']

原因是一旦将它们传递给 kick_ban 函数,数组的名称就会变成 $post 而不是 $_POST。

您需要一个隐藏的输入来将 $idgracza 添加到表单中:

<input type='hidden' name='idgracza' value = '".$sValue['playerid']."'>

然后在您的 kick_ban 函数中访问它:$post['idgracza']

于 2013-01-29T22:51:55.383 回答