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 回答