1

チェックボックスの状態をテキストファイルに保存し、それを読み込んで、チェックボックスまたは非チェックボックスを表示しています。保存部分は問題ありません。チェックボックスをオンにするかオフにするかによって、「オン」または「オフ」の値がテキストファイルに書き込まれます。エコーecho $lines[0];は、期待どおりのいずれかの値になります。ただし、if ($lines[0] == "Checked")以下のコードに示すように使用すると、値が検出されないように見えるため、後続のエコーは実行されません。この状況の正しい構文は何ですか?

      <?php
      $file = "textfile.txt";
      $lines = file($file); 
      ?>

      <input type="hidden" name="data1" value="Unchecked" />
      <input type="checkbox" name="data1" value="Checked" class="checkbox" 
        <?php
        if ($lines[0] == "Checked") {  
        echo 'checked="checked"';  
        }  
        ?>
      />
4

2 に答える 2

3

変数に改行がある可能性があり$lines[0]ます。

あなたができることは次のとおりです。

if (trim($lines[0]) == "Checked") {  

しかし、あなたがすべきことは、データベースに切り替えることです。

于 2013-02-26T16:48:33.040 に答える
1

値は、行末によって異なります。次のことをお勧めします。

if (stristr($lines[0], "unchecked")) {  
  echo '';  
}else{
  echo 'checked="checked"';  
} 
于 2013-02-26T16:49:16.037 に答える