Я пытаюсь создать форму, которая может сохранить данные формы человека, чтобы он мог позже завершить заполнение формы.У меня нет проблем с сохранением данных во внешний файл, и я знаю, что было бы легко сделать то, что я пытаюсь сделать, если бы пользователю было разрешено сохранять свои данные только после заполнения полной страницы формы.Однако я хочу иметь возможность сохранить данные формы в любое время, даже если одна из нескольких страниц не была полностью заполнена.Кроме того, я предпочитаю использовать свои собственные сценарии HTML через мои сценарии Perl вместо вызова команд формы CGI.pm.
Поэтому пользователь сохраняет свои неполные данные в конце сеанса и входит в систему с паролем напозднее время, чтобы получить его данные.Поэтому я извлекаю данные из внешнего файла на основе пароля, используя
#--------------------------------------------
open(INFO, "MYTEXTFILE.txt");
@data = <INFO>;
close(INFO);
#--------------------------------------------
foreach $key (@data)
{
($aaa1,$aaa2,$aaa3,$aaa4,$aaa5,$e)=split(/,/,$key);
}
, а затем пытаюсь ввести доступные данные обратно в форму HTML.Это довольно легко, когда данные собираются с помощью текстовых полей:
print"
<p>Your response is: input type='text' name='aaa1' value='$aaa1' <\p>";
Но сложнее, когда это радиокнопка.Я использую:
print"
<table width='600' align='center' cellpadding='3'>
<tr bgcolor=''>
td bgcolor=''>1. Question #1
</td>
<td>1
<input name='aaa1' type='radio' value='1'"; if ($aaa1==1) {print " CHECKED ";} print"/>/td>
<td>2
<input name='aaa1' type='radio' value='2'"; if ($aaa1==2) {print " CHECKED ";} print" />/td>
<td>3
<input name='aaa1' type='radio' value='3'"; if ($aaa1==3) {print " CHECKED ";} print" />/td>
<td>4
<input name='aaa1' type='radio' value='4'"; if ($aaa1==4) {print " CHECKED ";} print" />/td>
<td>5
<input name='aaa1' type='radio' value='5'"; if ($aaa1==5) {print " CHECKED ";} print" />/td>
</tr>
</table>
";
Есть ли более удобный или удобный способ сделать это?