3

さて、私はこれを理解しようと長い間費やしてきました。データベースから行を取得し、名前ごとに入力をエコーする while ループがありselected_id[]ます。送信時に $_REQUEST を使用して選択したチェックボックスを収集しますが、何らかの理由で、70 番目の変数以降の入力が投稿されません。selected_id[0]throughselected_id[70]は通常と同じように投稿しますがselected_id[71]、それ以上は投稿しません。

その配列の 70 番目の変数までしか配列を $_REQUEST できないのはなぜですか??

データベースからエントリの 1 つを削除すると、エコーされた 71 番目のエントリで問題が発生します。selected_id[70]

PHP バージョン 5.3.15 を使用しており、max_input_vars は 1000 に設定されています。max_input_nesting_level は 64 に設定されていますが、それが問題の原因であるとは思いません。私のmemory_limitは20Mに設定されています。

私のコードの大部分は次のとおりです。

<?php


   if(!empty($_REQUEST[assignedprocess])){

    $selected_id = $_REQUEST[selected_id];
    $howmany = count($selected_id);
    $msgback="(".$howmany.") Entry(ies) updated. <br>";
      echo $msgback; 
   }

?>

<form action="index.php" method="post" name="index">

    <?php

        while($row = mysql_fetch_array($result_groups)){

        echo "<input name="selected_id[]" type="checkbox" value="'.$row[id].'" />";

        }

    ?>
<input type="hidden" name="assignedprocess" value="11">
<input type="submit" name="subs" value="Apply">  
</form>

私のずさんなコードとひどい英語で申し訳ありません...私はあなたが与えることができるどんな助けにも本当に感謝しています, 事前に感謝します.

4

2 に答える 2

1

php.iniでphp_valuepost_max_sizeを15M(またはそれ以上)に設定します。

php_value post_max_size 15M

修正コード:(エコー機能がありません)

<form action="index.php" method="post" name="index">

    <?php

        while($row = mysql_fetch_array($result_groups)){
          $id= $row[id];
          echo  "<input name='selected_id[]' type='checkbox' value= $id />";



        }

    ?>
<input type="hidden" name="assignedprocess" value="11">
<input type="submit" name="subs" value="Apply">  
</form>
于 2013-02-19T14:59:04.280 に答える
0

基本的に、投稿の長さはPHPが構成されている長さよりも長くなります。

共有ホスティングを使用している場合は、次のように.htaccessを使用できます。

#set max post size
php_value post_max_size 20M

それ以外の場合は、独自のサーバーを使用している場合はphp.iniを編集してください...

使用するサイズ...あなた次第、20Mはスターターとして適したサイズです。

于 2013-02-19T14:58:57.260 に答える