对于我的家庭自动化项目(使用带有 Apache 服务器和配置网页的 Raspberry Pi),我试图将复选框的设置保存到服务器端的文件中,但在我的情况下无法正常工作. 将 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 '<input type="checkbox" name="mycheckboxname" ';
if($checked=='1') echo 'checked ';
echo '/>';
确保在创建文件时设置正确的权限,以便 PHP 处理器对其具有写入权限。
关于php - 在服务器端存储复选框值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29851888/