|
|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Oleg Plotnikov 2:5011/111 21 Apr 2002 21:59:10 To : All Subject : Hе догоняю я чо-то, вроде ж всё правильно... --------------------------------------------------------------------------------
Ребят, вот тут писал значит писал скрипт, сделал подфункцию такую, для
редактирования текстового файла с резульатами теста:
100||||Тест по алгебре за 11 класс|Воскресенье, Апрель 21, 2002 время 20:53
80||||Тест по алгебре за 11 класс|Среда, Апрель 25, 2002 время 13:33
^^
Это кол-во
набранных баллоы
Там где идёт подряд |||| между прямыми этими слэщами записываются ещё
параметры: имя, фамилия и т.д. это неважно... это я так чтобы более ясно было.
Очень прошу помочь, т.к. я всё уже по три раза переписывал, что-то не выходит
редактировать файлик :(
Ошибку вроде не выдаёт, всё ок компилится мои 200 кило скрипта дай бог... HО
почему-то изменения в файл не вносятся при вызове данной функции, посмотрите
плиз, может я просто что-то не замечаю да и глупую ошибку не вижу... если что
ткните пальцем где я не прав, итак вот эта подфункция:
sub edit_results {
$quiz = $data{'Quiz'};
$oldline = $data{'Old'};
$fa2 = $data{'FA2'};
if($fa2 ne "Edit Now"){
print "$header
<center><font face=\"Tahoma\" size=2><strong>Редактирование результатов
тестов</strong></font></center>
<br>
<center>
<font face=\"Tahoma\" size=2>
Выберите поле для редактирования, внесите в него необходимые изменения
и нажмите \"Редактировать результаты\" </font>
$admformtop
<table border=1 cellpadding=0 cellspacing=0 bordercolor=\"#000000\">
<tr><th><font face=\"Tahoma\" size=2>Hабранный балл</font></th><th><font
face=\"Tahoma\" size=2>Имя тестируемого</font></th><th><font face=\"Tahoma\"
size=2>Пароль</font></th><th><font face=\"Tahoma\" size=2>Личный
size=2>код/E-mail</font></th>
<th><font face=\"Tahoma\" size=2>Hазвание теста</font></th><th><font
face=\"Tahoma\" size=2>Дата тестирования</font></th>
</tr><tr> ";
foreach $old (split(/\|/, $oldline)){
$i++;
$len = length($old) + 1;
if($len > 25){ $len = 25;}
print "<td align=center><input type=text name=$i size=$len
value=\"$old\"></td>";
}
print "</tr></table><br>
<input type=hidden name=Quiz value=\"$data{'Quiz'}\">
<input type=hidden name=Old value=\"$data{'Old'}\">
<input type=hidden name=FA2 value=\"Edit Now\">
<input type=submit name=FA value=\"Редактировать результаты\">
</form>
$footer </center>";
exit();
} # end if
$quiz =~ s/\W+//g; $quiz =~ tr/[A-Z]/[a-z]/;
$quizfile = "$basedir/$quiz/results.data";
$newline = "$data{'1'}|$data{'2'}|$data{'3'}|$data{'4'}|";
$newline .= "$data{'5'}|$data{'6'}|$data{'7'}\n";
open(FILE, "+<$quizfile") || &debug("Hе могу открыть $quizfile для
чтения/записи: $!");
if($opsys eq "unix"){ flock(FILE, 2); }
else { binmode(FILE); }
@lines = <FILE>;
foreach $line (@lines){
if($line ne $oldline){
$newfile .= $line;
}
else {
$newfile .= "$newline";
}
}
truncate(FILE, length($newfile));
seek(FILE,0,0);
print FILE $newfile;
close(FILE);
$data{'FA2'} = "View";
&view_results;
}
ю Усё, ухожу! Счастливо! 21 Апр 02 21:59
--- Contact e-mail: bpilots@ufacom.ru
* Origin: Linux-Mandrake RE User (IPLabs) (2:5011/111)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/133213cc2e4fa.html, оценка из 5, голосов 10
|