How To Have A PHP if statement and execute fwrite if, 如果语句正确

How To Have A PHP if statment and execute fwrite if, if stament is correct

我正在尝试使用带有复选框的 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 语句中的代码写入文件。

此外,表单验证似乎有效,就像我回显复选框一样 returns 正确!

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);
}