我正在尝试一个带有checkboxs的html表单。然后,我使用php来验证表单并获取复选框的值。如果复选框对应于某个文本,则会有一个fwrite语句。
以下是html checkboxs:的代码
<input class="choose" type="checkbox" name="check_list[]" value="Python"> Python</label>
<input class="choose" type="checkbox" name="check_list[]" value="Java"> Java And Html(opitnal)</label>
<input class="choose" type="checkbox" name="check_list[]" value="PHP"> 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语句中的代码写入文件。
此外,表单验证似乎就像我回显复选框一样,它返回正确的内容!
check_list[]
是一个数组,这意味着如果用户选中它们,则所有$lan
将不等于python
或java
,但将等于数组的最后一个元素。如果您的情况是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);
}