5x2 HTML テーブルがあります: http://jsfiddle.net/duxTU/
- テーブルはフォームに含まれています。
- フォームが送信されると、同じページにリダイレクトされます
- 入力フィールド値は連想配列に格納されます
- 値は、最初に入力されたそれぞれのフィールドに表示されます。
コード:
<?php
if(isset($_POST['submit'])) {
$contacts_array array(
$_POST["name1"] => $_POST['name2'],
$_POST["name3"] => $_POST['name4'],
$_POST["name5"] => $_POST['name6'],
$_POST["name7"] => $_POST['name8'],
$_POST["name9"] => $_POST['name10']);
$array_filtered=array_filter($contacts_array);
$arrayKeys = array_keys($array_filtered);
$arrayValues = array_values($array_filtered);
}
?>
入り込む可能性のある null 値を除外するために、配列がフィルター処理されています。
では、HTML フォームに値を表示するにはどうすればよいでしょうか。スティッキーフォームについては知っていますが、フォームサイズを一定(5x2)に保つ必要があるため、次のようなコードを使用しようとしています
<input type="text" value="<?php echo $arrayKeys[0]; ?> ">
<input type="text" value="<?php echo $arrayValues[0]; ?> ">
... $arrayKeys[4] と $arrayValues[4] まで、それぞれ。
これにより、未定義のオフセットが得られます。たとえば、送信$arrayKeys[5]
前にそれぞれのフォーム列に値が入力されなかったため、設定されていませんでした。
この問題の解決策はありますか??