1

私はjqueryプラグインを使用しています。それは私のフィールドを覆い隠し、ユーザーが正しい値のみを入力できるようにします。非常にうまく機能していますが、フォームを送信すると、オブジェクト IP は配列であり、IP 番号(10.1.25.2/30)のみを取得する必要があります。

結果:

$ip = $_POST['ipaddress'];
print_r($ip);

//It returns to me
Array ( [abcd] => Array ( [0] => 10.1.25.2/30 ) ) 

私は配列を内破するか、この方法で何かをする必要があります..助けてください.!

コード全体:

HTML ページの jQuery プラグインが含まれています。

<script src="scripts/jquery.min.js" type="text/javascript">
<script src="jquery.validate/jquery.caret.js" type="text/javascript"></script>
<script src="jquery.validate/jquery.ipaddress.js" type="text/javascript"></script>

    <script>
        $(function(){
        $('#ip').ipaddress({cidr:true});
        });     
    </script>

<form name="form1" method="post" action="equipAction.php">
 <tr>
  <td>IP</td>
  <td><input name="ipaddress[abcd][]" id="ip" type="text" value="<?=$ip;?>" />
  <b>»» IP atribuído ao contrato do Cliente/Torre </b> </td>    
 </tr>
 <input type='submit' name="alt" value="Edit" class="btn" />
</form>

今私のアクションphpコード:

 if ($_POST["alt"] == "Edit") {

    # Dados do form
    $idequip  = $_GET['id'];
    $contrato = $_POST['contrato'];
    $transmi  = $_POST['transmissor'];
    $ip       = $_POST['ipaddress'];
    $local    = $_POST['local']; //tipo_equip
    $obs      = $_POST['obs'];
    $usado    = $_POST['usado'];

    echo "<br />";
    print_r($ip);




    # Atualiza dados do equipamento mestre
    # desenvolvendo
    $res = mysql_query("UPDATE equipment SET idtorre='$transmi', ip='$ip', tipo_equip='$local', obs='$obs', usado_cliente='$usado' WHERE id='$idequip'") or die("Erro na query: atualização equipamento mestre.");
    #header("Location: equipamento_adm.php?return=3&ip=$control");
    exit;
 }

それだけです!

4

3 に答える 3

4

これは単純な多次元配列で、次のように値を取得できます。

$ip = $_POST['ipaddress'];    
$justip = $ip['abcd'][0];

$justipこれで、変数には IP アドレスしかありません。

配列に関するドキュメントを読む必要があるかもしれません: http://ch.php.net/manual/en/language.types.array.php

于 2011-03-03T13:13:47.667 に答える
1

このページにはいくつのフォームがありますか?

$_POST['ipaddress'] ではなく配列に表示される理由は次のとおり<input name="ipaddress[abcd][]" id="ip" type="text" value="<?=$ip;?>" />です。これ[abcd][]により、ipaddress が「abcd」のキーを持つ配列を含む配列になり、その中で最初に使用可能なキーにフォームからの値が取り込まれます。その場合<input name="ipaddress" id="ip" type="text" value="<?=$ip;?>" />、IP アドレスは から直接取得できます$_POST['ipaddress']

複数のフォームがある場合は、 を使用すると、各フォームに配列name="ipaddress[]"のキーが入力されるため、最初のフォームになり、2 番目のフォームになります。$_POST['ipaddress']$_POST['ipaddress'][0]$_POST['ipaddress'][1]

于 2011-03-03T13:33:47.413 に答える
0

ちなみに乗り換える場合は

<input name="ipaddress[abcd][]" id="ip" type="text" value="<?=$ip;?>" />

<input name="ipaddress[abcd]" id="ip" type="text" value="<?=$ip;?>" />

配列が削除されます ([]入力の name 属性から が削除されていることに注意してください)。

于 2011-03-03T13:49:39.580 に答える