在服务器端存储复选框值

时间:2015-04-24 15:44:27

标签: php caching checkbox automation iot

对于我的家庭自动化项目(使用带有Apache服务器和配置网页的Raspberry Pi)我正在尝试将复选框的设置保存到服务器端的文件,但我无法在我的情况下使用它。 使用php和fopen()以及fwrite()我可以将任何字符串存储到文本文件中,这没问题。问题是该表单使用POST,我似乎无法弄清楚如何编写我的代码:

1)复选框本身设置为文本文件中当前存在的值(“记住并检索”设置);

2)用户刚设置的设置被写入文件,这在页面加载(POST)时发生。

这些动作似乎互为一致,因为php是服务器端。如果页面第一次刷新或访问没有问题,则在提交表单后重新加载页面时会出现问题。 使用哪种方法或语言来保存服务器端的复选框设置并不重要。

哪种方法可以解决问题?

2 个答案:

答案 0 :(得分:2)

您可以通过执行以下操作来设置文件,假设文件仅包含值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处理器具有写入权限。

答案 1 :(得分:1)

你可以发布fopen(),fwrite()代码吗?如果您正在向该php页面发送POST,那么您可以抓取HTML元素中包含的消息,与此类似:

<?php
$message = $_POST['textarea_value_name'];
...