目前我正在处理大型HTML表单(最多100个文本框/选择/输入)。我想添加功能,允许用户保存他的进度,以便将来加载它。我正在考虑设置cookie并将表单内容保存到文件中,但是通过插入每个输入值来恢复它="不是很清楚(我不能选择这样做!)。如何从表单轻松保存和恢复进度?
答案 0 :(得分:0)
当用户离开页面时,将表单的值存储在具有用户cookie名称的文件中,以使文件中的每一行对应一个字段条目类型,其值类似于:input : myusername
。当用户回来并且存在具有用户cookiename的文件时,fgets()
cookie文件内容如下:
<?php
$handle = @fopen("/cokies/yourcookiefilename", "r");
if ($handle)
{
while (!feof($handle))
{
$line_data = explode( ":" , fgets($handle) );
switch( trim( array_shift( $line_data ) ) )
{
case "input":
echo "<input type='text' value='" . implode( "" , $line_data ) . "'/>";//user input may contain the : character too, so it is safe to implode()
break;
...
...
...
//case for select and textfield will also be modified accordingly. e.g. if( ! empty( implode(...) ) ) echo " <option selected='selected'>implode(...)</option> ";...
}
}
fclose($handle);
}
?>