使用PHP从大型html表单保存和恢复

时间:2014-08-07 12:23:27

标签: php html forms

目前我正在处理大型HTML表单(最多100个文本框/选择/输入)。我想添加功能,允许用户保存他的进度,以便将来加载它。我正在考虑设置cookie并将表单内容保存到文件中,但是通过插入每个输入值来恢复它="不是很清楚(我不能选择这样做!)。如何从表单轻松保存和恢复进度?

1 个答案:

答案 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);
        }
    ?>