如果用户处于特定等级,我想回显一堆html代码。但我得到一个错误 解析错误:语法错误,意外的'?'
PHP代码
<?php if ($row['rank'] == 0) { echo '
//SOME CODE HERE
<label>Question 1: </label>
<input class="au-input au-input--full" style="width: 50%;" type="text" name="question1" placeholder="Question 1" value="' . $question1 . '"></input>
<input type="checkbox" name="q1multiple"' <?php if(isset($_POST['q1multiple'])) { echo "checked='checked'"; } ?> '>
<label>Allow more than one answer </label>
</div>
//SOME CODE HERE
end of echo';} ?>
错误发生在if(isset($ _ POST ['q1multiple'])){echo“ checked ='checked'”部分。
我该怎么办?
答案 0 :(得分:1)
您应该学习PHP的基础知识,您在echo
内部,不要再次打开<?php
,只需使用:
<input type="checkbox"
name="q1multiple"
'. (isset($_POST['q1multiple'])) ? "checked='checked" : '') .'
>
这只是字符串连接。
答案 1 :(得分:1)
您不能在PHP
标签内使用PHP
标签。
尝试使用short-if命令,例如:
(isset($_POST['q1multiple']) ? 'checked="checked"' : '')
这是您的代码修复程序:
<?php if ($row['rank'] == 0) { echo '
//SOME CODE HERE
<label>Question 1: </label>
<input class="au-input au-input--full" style="width: 50%;" type="text" name="question1" placeholder="Question 1" value="' . $question1 . '"></input>
<input type="checkbox" name="q1multiple"' . (isset($_POST['q1multiple']) ? 'checked="checked"' : '') . '>
<label>Allow more than one answer </label>
</div>
//SOME CODE HERE
end of echo';} ?>