![]() |
| カレッヂ |
質問者 mi
投稿日 2005/3/4(金) 21:15:26
別処理Bの内容を書き込みたいのですが。
上手くいきません。
生成ファイルの呼び出し方が悪いのでしょうか?
処理A
sub secwrt {
open(IN,"$snofile") || &error("OPEN ERROR 数字ファイル"); $sno = <IN>; close IN;
$sno++;
open(OUT,">$snofile") || &error("OPEN ERROR 数字ファイル"); print OUT $sno; close OUT;
open(IN,"$menufile") || &error("OPEN ERROR メニューファイル");
@mnew = <IN>; close IN;
unshift(@mnew,"$sno<>$in{'scom'}<>\n");
open(OUT,">$menufile") || &error("OPEN ERROR メニューファイル");
print OUT @mnew; close OUT;
$file = "file$sno";
$detafile = "$dir\/$file\.log";
open(IN,">$detafile");
close(IN);
chmod(0666,"$detafile");
}
で$detafileは上手く生成出来たのですが、
$script?sno=$snoで処理Bのフォームへ飛び、
処理B
sub wrt {
$file = "file$insno";
$detafile = "$dir\/$file\.log";
open(IN,"$detafile") || &error("OPEN ERROR newwrt");
@new = <IN>;
close IN;
push(@new,"$in{'pno'}<>$in{'pcom'}<>\n");
open(OUT,">$detafile") || &error("OPEN ERROR newwrt");
print OUT @new;
close OUT;
}
処理Bの書き込みが上手くいきません。
一応、$insno = "$in{'sno'}";で、
処理Bのフォームタグにはhiddenで$insnoを指定してあります。
ファイルは認証しているのですが書き込まれません。
ここで躓いてしまって、どうにも先に進めません。
よろしければご教授ください。
【習熟度】多少の改造ができる |
質問者 mi
[削除]
投稿日 2005/3/8(火) 11:00:48
すいません。自己解決しました。
処理Aでメニューファイルに生成するファイル名を書き込んで、処理Bではそのファイル名を呼び出す形を取ったら出来ました。
変更後の処理を書いておきます。
処理A
sub secwrt {
open(IN,"$snofile") || &error("OPEN ERROR 数字ファイル"); $sno = <IN>; close IN;
$sno++;
open(OUT,">$snofile") || &error("OPEN ERROR 数字ファイル"); print OUT $sno; close OUT;
$file = "file$sno";
open(IN,"$menufile") || &error("OPEN ERROR メニューファイル");
@mnew = <IN>; close IN;
unshift(@mnew,"$sno<>$file<>$in{'scom'}<>\n");
open(OUT,">$menufile") || &error("OPEN ERROR メニューファイル");
print OUT @mnew; close OUT;
$detafile = "$dir\/$file\.log";
open(IN,">$detafile");
close(IN);
chmod(0666,"$detafile");
}
$script?sno=$sno&file=$fileで処理Bのフォームへ飛びます。
フォーム内にhiddenで$in{'sno'}と$in{'file'}を入れておきます。
処理B
sub wrt {
$detafile = "$dir\/$in{'file'}\.log";
open(IN,"$detafile") || &error("OPEN ERROR newwrt");
@new = <IN>;
close IN;
push(@new,"$in{'pno'}<>$in{'pcom'}<>\n");
open(OUT,">$detafile") || &error("OPEN ERROR newwrt");
print OUT @new;
close OUT;
}
お騒がせしましたm(__)m |
このページは終了したので返信(回答)は書きこめません
| Web裏技 |