如何使用PHP if语句并执行fwrite if if语句是否正确

时间:2015-02-21 19:21:50

标签: php html fwrite

我正在尝试使用带复选框的html表单。然后我有PHP来验证表单并获取复选框的值。如果复选框对应于某个文本,则会有一个fwrite语句。

以下是html复选框的代码:

<input class="choose" type="checkbox" name="check_list[]" value="Python">&nbsp; Python</label>
<input class="choose" type="checkbox" name="check_list[]" value="Java"> &nbsp; Java And Html(opitnal)</label>
<input class="choose" type="checkbox" name="check_list[]" value="PHP"> &nbsp; PHP And Html(optinal)</label>

这是PHP表单验证:

if(!empty($_POST['check_list'])) {
    foreach($_POST['check_list'] as $selected) {
        $lan = $selected;
    }
}

以下是if语句:

$fh = fopen("myfile.php", "w") or die("Error! :(");
if ($lan == "Python") { 
    $page1 = "Some Code For The Fwrite";
    fwrite($fh, $page1);
}

fopen工作但fwrite实际上没有写入文件,它应该将if语句中的代码写入文件。

此外,表单验证似乎工作,好像我回显复选框,它返回正确的东西!

1 个答案:

答案 0 :(得分:2)

check_list[]是一个数组,这意味着如果用户检查它们,$lan将不等于pythonjava,但将等于最后一个元素在您的情况下,数组是PHP如果选中了多个复选框,您的fwrite将无效

if(!empty($_POST['check_list'])) {
foreach($_POST['check_list'] as $selected) {
    $lan = $selected; //$lan will equal to the last value of the array, if more than one checkbox is ticked
}

}

您可以在if语句中打开文件,此代码仅在选中python时才有效

if($lan == 'Python'){
$file = fopen("myfile.php","w") or die("Error! :(");
$page1 = "Some Code For The Fwrite again";
fwrite($file,$page1);
fclose($file);
}