获得POST的价值

时间:2013-01-29 22:44:12

标签: php forms

我想通过点击按钮获得价值。但它没有用。这是我的代码:

players.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>

functions_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

1 个答案:

答案 0 :(得分:0)

这一行存在一个问题:

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

您只是向函数发送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']