如果PHP文本文件行等于,则执行某些操作

时间:2013-02-26 16:46:14

标签: php text checkbox flat-file

我正在将复选框的状态保存到文本文件并将其重新读入以显示已选中或未选中的复选框。保存部分没有问题 - 根据我是选中还是取消选中该框,将“已检查”或“未选中”值写入文本文件。回应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"';  
        }  
        ?>
      />

2 个答案:

答案 0 :(得分:3)

您的$lines[0]变量可能包含换行符。

你能做的是:

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

但你应该做的是切换到数据库。

答案 1 :(得分:1)

该值可能因行结尾而有所不同。 我建议你做以下事情:

if (stristr($lines[0], "unchecked")) {  
  echo '';  
}else{
  echo 'checked="checked"';  
}