0

我有一个带有表单的 php 页面。

这里的主要思想是有一个可以用复选框选择的图片列表。客户将选择他想要的图片并提交表格。

我希望将此表单的信息保存在一个文件中。(一个 .txt 文件就可以了。如果可能的话,我不希望每个客户端在 mysql 中有一个表)

然后,当管理员登录同一页面时(或者说客户因为他对自己的选择不满意),我希望表单完全按照之前保存的方式填写。

老实说,我不知道如何继续执行此操作以及加载方式。

我可以很容易地用 php 变量写入 .txt 文件,但是如果(仅示例)我删除文件夹中的文件,如何加载这些数据并且不会出现任何错误?

这是我的 php 代码表单:

<form method="post" action="Exec.php">

<?php
$counter = 0;
foreach (glob("preview/*.jpg") as $file)
{
?>
<div class="photoscontainer">
<a class="big" href="<?php echo $file; ?>"><img src="<?php echo $file; ?>" width="100%" height="auto" alt="Photo <?php echo $file; ?>" /></a>
<br />
<input class="checkbox" type="checkbox" name="Photo <?php echo $counter; ?>" id="<?php echo pathinfo($file,PATHINFO_BASENAME) ; ?>" />
</div>
<?php
$counter++;
}
?>

</form>
4

2 回答 2

1

您可以将用户答案保存为数据库中的自定义字段(例如,通过 JSON 化表单输入),甚至可以保存几个新字段(每个表单字段一个)......所以绝对不要为每个用户使用单独的表。这就是数据库的用途。

如果您仍希望使用纯文本,您可以使用 CSV(逗号分隔值)文件、.ini 文件或任何您想要的自定义结构。

所以,值得谷歌搜索:

并且为了避免文件丢失错误 - 只需检查file_exists

于 2013-09-22T17:03:54.880 回答
0

无论是使用文件存储数据还是使用数据库,它实际上都没有太大变化。数据库通常是首选方法,但您只需要为每个客户提供 1 个包含 1 个字段的表。

您将希望使用序列化或 json_encode 将表单数据存储在您保存在数据库或文件中的数组/对象中。

例如:

<?php

if(!empty($_GET)){
$client_form_data = json_encode($_GET);
echo $client_form_data;
} 

?>

然后使用您存储的值构建您的表单。

就错误而言 - 您需要开发一种方法来使用条件语句捕获潜在错误。

于 2013-09-22T17:18:56.247 回答