【问题标题】:Saving a form with text and checboxes to text file将带有文本和复选框的表单保存到文本文件
【发布时间】:2013-11-03 20:40:18
【问题描述】:

我正在编写一个 HTML 表单,以帮助我在玩滚动游戏时跟踪信息。 该表单有一个用于跟踪健康状况的复选框网格。我还有一个用于跟踪其他统计信息的文本框。

我想要两个按钮:加载和保存。 当保存点击当前状态时(无论是否标记了一个框),如果每个表单元素都保存到一个文本文件 Save/save.txt。应替换现有文本文件中的任何信息。我只关心当前的设置。 当加载时,数据会从文本文件中加载,并像保存时一样填写表单。

如何让这个表单保存/加载?

<form action="HP_Tracker.php" method="post">
<table border="0" cellpadding="0" cellspacing="0">
  <tr>
    <td><center><b>W</b></center></td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td bgcolor="ffffff"><input name="W1" type="checkbox" value="" /></td>
    <td bgcolor="000000"><input name="S24" type="checkbox" value="" /></td>
  </tr>
  <tr>
    <td bgcolor="ffffff"><input name="W2" type="checkbox" value="" /></td>
    <td bgcolor="000000"><input name="S23" type="checkbox" value="" /></td>
  </tr>
  <tr>
    <td bgcolor="F0F0F5"><input name="W3" type="checkbox" value="" /></td>
    <td bgcolor="0A0A0F"><input name="S22" type="checkbox" value="" /></td>
  </tr>
  <tr>
    <td bgcolor="E0E0EB"><input name="W4" type="checkbox" value="" /></td>
    <td bgcolor="14141F"><input name="S21" type="checkbox" value="" /></td>
  </tr>
  <tr>
    <td bgcolor="D1D1E0"><input name="W5" type="checkbox" value="" /></td>
    <td bgcolor="1F1F2E"><input name="S20" type="checkbox" value="" /></td>
  </tr>
  <tr>
    <td bgcolor="C2C2D6"><input name="W6" type="checkbox" value="" /></td>
    <td bgcolor="29293D"><input name="S19" type="checkbox" value="" /></td>
  </tr>
  <tr>
    <td bgcolor="B2B2CC"><input name="W7" type="checkbox" value="" /></td>
    <td bgcolor="33334C"><input name="S18" type="checkbox" value="" /></td>
  </tr>
  <tr>
    <td bgcolor="A3A3C2"><input name="W8" type="checkbox" value="" /></td>
    <td bgcolor="3D3D5C"><input name="S17" type="checkbox" value="" /></td>
  </tr>
  <tr>
    <td bgcolor="9494B8"><input name="W9" type="checkbox" value="" /></td>
    <td bgcolor="47476B"><input name="S16" type="checkbox" value="" /></td>
  </tr>
  <tr>
    <td bgcolor="8585AD"><input name="W10" type="checkbox" value="" /></td>
    <td bgcolor="52527A"><input name="S15" type="checkbox" value="" /></td>
  </tr>
  <tr>
    <td bgcolor="7575A3"><input name="W11" type="checkbox" value="" /></td>
    <td bgcolor="5C5C8A"><input name="S14" type="checkbox" value="" /></td>
  </tr>
  <tr>
    <td bgcolor="666699"><input name="W12" type="checkbox" value="" /></td>
    <td bgcolor="666699"><input name="S13" type="checkbox" value="" /></td>
  </tr>
  <tr>
    <td bgcolor="5C5C8A"><input name="W13" type="checkbox" value="" /></td>
    <td bgcolor="7575A3"><input name="S12" type="checkbox" value="" /></td>
  </tr>
  <tr>
    <td bgcolor="52527A"><input name="W14" type="checkbox" value="" /></td>
    <td bgcolor="8585AD"><input name="S11" type="checkbox" value="" /></td>
  </tr>
  <tr>
    <td bgcolor="47476B"><input name="W15" type="checkbox" value="" /></td>
    <td bgcolor="9494B8"><input name="S10" type="checkbox" value="" /></td>
  </tr>
  <tr>
    <td bgcolor="3D3D5C"><input name="W16" type="checkbox" value="" /></td>
    <td bgcolor="A3A3C2"><input name="S9" type="checkbox" value="" /></td>
  </tr>
  <tr>
    <td bgcolor="33334C"><input name="W17" type="checkbox" value="" /></td>
    <td bgcolor="B2B2CC"><input name="S8" type="checkbox" value="" /></td>
  </tr>
  <tr>
    <td bgcolor="29293D"><input name="W18" type="checkbox" value="" /></td>
    <td bgcolor="C2C2D6"><input name="S7" type="checkbox" value="" /></td>
  </tr>
  <tr>
    <td bgcolor="1F1F2E"><input name="W19" type="checkbox" value="" /></td>
    <td bgcolor="D1D1E0"><input name="S6" type="checkbox" value="" /></td>
  </tr>
  <tr>
    <td bgcolor="14141F"><input name="W20" type="checkbox" value="" /></td>
    <td bgcolor="E0E0EB"><input name="S5" type="checkbox" value="" /></td>
  </tr>
  <tr>
    <td bgcolor="0A0A0F"><input name="W21" type="checkbox" value="" /></td>
    <td bgcolor="F0F0F5"><input name="S4" type="checkbox" value="" /></td>
  </tr>
  <tr>
    <td bgcolor="000000"><input name="W22" type="checkbox" value="" /></td>
    <td bgcolor="FFFFFF"><input name="S3" type="checkbox" value="" /></td>
  </tr>
  <tr>
    <td bgcolor="000000"><input name="W23" type="checkbox" value="" /></td>
    <td bgcolor="FFFFFF"><input name="S2" type="checkbox" value="" /></td>
  </tr>
  <tr>
    <td bgcolor="000000"><input name="W24" type="checkbox" value="" /></td>
    <td bgcolor="FFFFFF"><input name="S1" type="checkbox" value="" /></td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td><center><b>S</b></center></td>
  </tr>
</table>

<hr />
Initiative<br />
<input name="Initiative" type="text" size="4" />

<br /><br />
<input name="Save" type="submit" value="SAVE" />

</form>

【问题讨论】:

  • 建议你至少尝试用 serialize() 保存一些东西
  • 很久没见过bgcolor="..." ...
  • 你的问题到底是什么?
  • 如何让这个表单保存/加载?
  • 您需要在 php.net 或 google 中检查几个文件函数:fopen、fwrite、file_get_contents、file_put_contents

标签: php html forms text


【解决方案1】:

试试看:

<?php

if (!empty($_POST)) {
    $data     = implode(',', $_POST);
    $fileName = 'yourFile.txt';
    $file     = fopen($fileName, 'a+');

    fwrite($file, $data); 
    fclose($file);
    chmod(0777);
}

【讨论】:

  • 你确定吗?您必须在“HP_Tracker.php”文件中添加此代码并创建一个文本文件(在代码中命名为“yourFile.txt”)。
  • 我让它工作了,不知道是什么问题。我确实将“a+”更改为“w+”。这是因为我只关心表单的最后一个状态,并且希望在保存新状态时删除旧状态。现在我需要弄清楚如何从文本文件中加载 hte 数据来填充表单,但至少我已经完成了一半。
猜你喜欢
  • 2012-01-19
  • 2014-10-03
  • 2018-06-08
  • 2017-07-25
  • 2023-03-19
  • 1970-01-01
  • 1970-01-01
  • 2018-04-18
  • 1970-01-01
相关资源
最近更新 更多