每个人,你好!
我试图在PHP代码的帮助下勾选/取消选中HTML复选框。
如果必须勾选或取消勾选复选框,我会从config.ini文件中获取该选项,如下所示:
的config.ini
[com]
p_ip = x.x.x.x.
p_port = xxx
p_username = xxx
p_password = xxx
[trigger]
string1_enable = no
string2_enable = yes
string3_enable = no
我已经在index.php文件中激活了config.ini文件:
的index.php
<?php $ini = parse_ini_file('config.ini'); ?>
现在,就HTML而言,我已经尝试过这个:
<td><li><input type="checkbox" class="categories-checkbox" name="chk2" id="chk2"<?php if ($ini['string2_enable']=="yes") echo 'checked="yes"';?>><label for="chk2">Enable</label></li></td>
它不会抛出错误,但肯定不会启用。但是,很简单:
<?php $ini = parse_ini_file('config.ini'); ?>
<?php echo $ini['string2_enable']; ?>
在我的PHP页面上产生了一个yes。
非常感谢任何帮助!
答案 0 :(得分:2)
字符串值&#34; true&#34;,&#34; on&#34;和&#34;是&#34;转换为TRUE。 &#34; false&#34;,&#34; off&#34;,&#34; no&#34;和&#34;无&#34;被认为是假的。
$ini['string2_enable']
的值会转换为boolean (true)
,因此您的if情况将会失败,因为它不再等于yes
。
所以你必须用这个替换你的if案例:
if($ini['string2_enable'])
如果出于某种原因,您希望在解析时保留yes
值,则可以在函数中添加INI_SCANNER_RAW
标记:
$ini = parse_ini_file('config.ini', false, INI_SCANNER_RAW);
使用此选项,您的if案例现在可以正常使用。
答案 1 :(得分:1)
<td><li><input type="checkbox" class="categories-checkbox" name="chk2" id="chk2"<?php if ($ini['string2_enable']=="yes") echo 'checked=true';?>><label for="chk2">Enable</label></li></td>
注意&#34; checked = true&#34;。只是&#34;检查&#34;也会有效。