对于我的家庭自动化项目(将Raspberry Pi与Apache服务器和配置网页一起使用),我试图将复选框的设置保存到服务器端的文件中,但是我无法使其在我的情况下正常工作.
将PHP与fopen()和fwrite()结合使用,我可以将任何字符串存储到文本文件中,这没有问题.问题在于该表单使用POST,而我似乎无法弄清楚如何以以下方式编写代码:
1)复选框本身设置为文本文件中当前存在的值(“记住并检索”设置);
2)用户刚刚设置的设置被写入文件,这在页面加载(POST)时发生.
这些动作似乎互相阻碍,因为php是服务器端.如果第一次刷新或访问页面没有问题,则在提交表单后重新加载页面时会出现问题.
我使用哪种方法或语言在服务器端保存复选框的设置并不重要.
哪种方法可以解决问题?
解决方法:
您可以通过执行以下操作来设置文件,假设该文件仅包含值1或0(无论是否应设置此复选框)(提交表单时调用此脚本):
if(isset($_POST["mycheckboxname"])){
file_put_contents('file.txt', '1');
}
else{
file_put_contents('file.txt', '0');
}
这是将复选框以正确的格式显示在屏幕上.显示复选框表单时使用此选项.
$checked = file_get_contents('file.txt');
echo '
if($checked=='1') echo 'checked ';
echo '/>';
创建文件时,请确保设置正确的权限,以便PHP处理器对其具有写权限.
标签:caching,automation,iot,php,checkbox
来源: https://codeday.me/bug/20191120/2043888.html