0

ボタンをクリックして価値を手に入れたかった。しかし、それは機能していません。これが私のコードです:

player.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
4

1 に答える 1

0

1つの問題はこの行です:

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

送信変数(実際には未定義)のみを関数に送信します。あなたが欲しいのはこれです:

kick_ban($_POST);

これがコーディングの良い方法だと言っているわけではありませんが、post配列全体が関数に送信されるため、すべての変数にアクセスできます。

もう1つの問題は、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 に答える