3

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

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

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

这些操作似乎互相妨碍,因为 php 是服务器端。如果页面是第一次刷新或者访问没有问题,是表单提交后重新加载页面的问题。我使用哪种方法或语言将复选框的设置保存在服务器端并不重要。

哪种方法可以解决问题?

4

2 回答 2

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 处理器对其具有写入权限。

于 2015-04-24T15:55:54.813 回答
1

您可以发布 fopen()、fwrite() 代码吗?如果您要向该 php 页面发送 POST,那么您可以获取 HTML 元素中包含的消息,类似于:

<?php
$message = $_POST['textarea_value_name'];
...
于 2015-04-24T15:49:49.963 回答