我在PHP中有一个开关按钮和一个txt文件。当在txt文件中,值为true时,我希望禁用该按钮(回显未选中),当txt内的值为false时,我希望启用该按钮(回显已检查) 我尝试以下代码但它始终保持未选中状态。我做错了什么?
{images.0}
答案 0 :(得分:1)
如果您在该文件中只有一行文本(true),根据您的var_dump()
结果,"中显示包含空格,我会得到字符串(6)&#34 ;真实" - La Erti B" ,您可以使用trim()
。
<?php
$wifi2g=file_get_contents("wifi2g.txt");
$wifi2g = trim($wifi2g);
?>
您可以使用它或删除文件中的空格,如果它包含空格。
然而,另一种可能的情况是你可能在它下面有一个换行符,它会占到额外的2个字符。
如果是这种情况,trim()
仍然有用。
另外,正如已经说过的那样。您对if ($wifi2g = 'true')
的使用是一项任务而非比较。
if ($wifi2g == 'true')
写入文件,另一种可能的情况。
我们不知道该文件是如何写入的。一个可能的原因是在此期间可能已使用"\n"
。
"\n"
是换行符。
如果是这种情况,则需要将其删除,或者我已经声明使用trim()
。
如果文件包含2个尾随空格,或者没有空格但在文本行下有换行符,则两者都会生成string(6) "true "
。
这些是结论性结果。
答案 1 :(得分:0)
一个常见的错误,可能在某些时候让我们所有人。你需要使用2个等号,因为if ($var='true'){
将永远为真,例如;赋值var为true,如果成功(总是)则为......
另外,你不需要&#34;未经检查&#34;因为如果&#34;检查&#34;标签中没有,它不会被检查,所以你不需要其他...
<input type="checkbox" name="onoffswitch" class="onoffswitch-checkbox"
id="myonoffswitch" <?php if ($wifi2g == 'true') {echo "checked";} ?> >