复选框出现语法错误,意外'';


checkbox with syntax error, unexpected '?'

我对PHP还是很熟悉的,我正在努力允许为我的复选框和单选框持久化数据。我试着自己做这件事,但我觉得我可能错过了一些东西。我曾试图实现我在这里找到的类似解决方案,但没有成功。

编辑:我要问的是;有没有更好的方法来捕获复选框的持久数据?如果有,我将如何使用chk[]进行操作<这是我的问题,而不是语法。

这是我所拥有的;

PHP/HTML-(位于index.PHP中)

<input type="checkbox" id="chk-1" class="ca" name="chk[]" value="JETvarnish 3D Evo" 
<?php if (in_array('JETVarnish 3D Evo', $chk)) { echo 'checked'; } ?>
/>
<label for="chk-1">JETvarnish 3D Evo</label>
<br/>

PHP-(位于frmPost.PHP)

// set post data as array.
  $_SESSION['post-data'] = $_POST;
// checkbox as array.
  $selectedProjects  = 'None';
  if(isset($_POST['chk']) && is_array($_POST['chk']) && count($_POST['chk']) > 0){
      $selectedProjects = implode(', ', $_POST['chk']);
  }

如果我能在这方面得到任何帮助,我们将不胜感激。

您得到的错误是语法。

代替

<?php if (in_array('JETVarnish 3D Evo', $chk)) ? 'checked' : ''; ?>

进行

<?php if (in_array('JETVarnish 3D Evo', $chk)) { echo 'checked'; } ?>

我不能保证你的其他机制会起作用。