0

基本的に、以下のコードはテキストファイルを読み込み、各行の近くにチェックボックスを付けて画面に表示します。しかし今、私はユーザーが任意のボックスをチェックして、選択した結果を新しいPHPファイルに表示できるようにしたいです-テキストファイルをもう一度読んで、どういうわけかそれを配列を参照する必要があると思いましたが、それでも私はスタックしているので、助けていただければ幸いです。

ありがとうございました。

最初のphpファイル

<?php
$filename = "file.txt";
$myarray = file($filename);
print "<form action='file2.php' method='post'>\n";
// get number of elements in array with count
$count = 0; // Foreach with counter is probably best here
foreach ($myarray as $line) {
  $count++; // increment the counter
  $par = getvalue($line);
  if ($par[1] <= 200) {
  // Note the [] after the input name
    print "<input type='checkbox' name='test[$count]' /> ";
    print $par[0]." ";
    print $par[1]." ";
    print $par[2]." ";
    print $par[3]."<br />\n";
  }
}
print "</form>";

選択した結果を表示する2番目のphpファイル

<?php
$filename = "file.txt";
$myarray = file($filename);
?>
4

2 に答える 2

1

あなたは問題を複雑にしすぎていると思います。チェックボックスにvalue属性を付けて、2ページ目から配列を読み取ることができます。2ページ目のkusprint_r ($_POST)から始めて、何を処理する必要があるかを確認します。

于 2012-07-01T12:01:53.600 に答える
1

1)テキストファイルの形式を考えてください(次のようになります"Name1-Value 1-true\nName1-Value2-false") 2)この関数を
学びます 3)デフォルトのオプションでファイルを作成します 4)ファイルを開き、配列を作成し、結果を出力するPHPスクリプトを作成します-たとえば:

$handle = fopen('./file.txt','r');
$fileString = fread($handle,filesize('./file.txt'));
$handle = null; //Similar to unset($handle);
$array = explode($fileString, "\n");
echo '<form action="./script2.php">';
foreach ($array as $value) {
    $value = explode($value, "-");
    echo '<input type="checkbox" name="'.$value[1].'" value="'.$value[2].'" checked="';
    if ($value[3]==true) {
        echo 'checked" /><br />';
    } else {
        echo '" /><br />';
    }
}

5)ファイルを編集する2番目のスクリプトを作成します(例:

if ($_GET == null;) {exit("He's dead, Jim!");}
$handle = fopen('./file.txt','r');
$fileString = fread($handle,filesize('./file.txt'));
    //Do something with the string :D
$handle = fopen('./file.txt','w');
fwrite($handle,$fileString);
于 2012-07-01T12:21:13.863 に答える