2

私のphpコードには、動的テキストボックスがほとんどありません。私はエコーを介して名前を付けました、

for($i=1; $i<=5; $i++) {    
echo "<td><input type='text' name='avar[$i]'/></td>";
}

この動的テキストボックスは form タグの下にあります。送信後、動的に生成されたテキストボックスに入力された値を受け取りたいです。私はこのようにしてみました、

for($i=1; $i<=5; $i++) {    
echo $_POST['avar'].[$i];
}

ただし、「Notice: Undefined offset: 1」というエラーが発生します。提案してください

4

3 に答える 3

1

フォームでは、インデックス値を配列に割り当てる必要はありません。各フィールドに空の括弧を残すことができます:

for($i=1; $i<=5; $i++) {    
    echo "<td><input type='text' name='avar[]'/></td>";
}

値を取得するには:

if (isset($_POST['avar'])){
    foreach ($_POST['avar'] as $key => $value){
        echo $value;
    }
}
于 2013-08-16T19:49:11.150 に答える
1

未定義のインデックスにアクセスしようとしています。

代わりにこれを試してください:

for($i=1; $i<=5; $i++) {    
echo $_POST['avar'][$i];
}

作業バージョン:

<?php    
if(isset($_POST['submit'])) { //check if form submitted
    for($i=1; $i<=5; $i++) {    
    echo $_POST['avar'][$i];
    }
}    
?>
<!-- form begin -->
<form action="" method="post">    
    <?php
    for($i=1; $i<=5; $i++) {    
    echo "<td><input type='text' name='avar[$i]'/></td>";
    }
    ?>    
<input type="submit" name="submit"/>
</form>
<!-- form end -->
于 2013-08-16T19:26:44.543 に答える