20251002 edit

20251002 edit

(edit.cgi)

#!/usr/bin/perl
BEGIN{$|=1;print”Content-type: text/html\n\n”;open(STDERR,
“>&STDOUT”);}

use CGI;
$query=new CGI;

#いつもの open 関数だよーー###########################
open(IN,”<save.txt”);
@data=<IN>;
close(IN);
###########################################
print<<END;

<html>
<head>
<title>edit</title>
</head>
<body bgcolor=”#FFFFFF” text=”#000000″>
<div align=”center”>
<h1><b>データベース初歩</b></h1>
</div>
<hr>
<form action=”editc.cgi” method=”POST”>
<table border=”1″ width=”100%”>
<tr>
<td>年</td><td>月</td><td>日</td><td>時</td><td>分</td><td>名前</td><td>住所
</td><td>電話番号</td><td>アドレス</td><td>編集</td>
</tr>
END

for($i=0;$i<@data;$i++){
@retudata=split(/\t/,$data[$i]);

for($j=0;$j<=$retudata;$j++

print”<tr>\n”;

print”<td>@retudata[0]</td><td>$retudata[1]</td><td>$retudata[2]</td>
<td>@retudata[3]</td><td>$retudata[4]</td><td>$retudata[5]</td>
<td>@retudata[6]</td><td>$retudata[7]</td><td>$retudata[8]</td>
< <td><input type=\”submit\”value=\”$i\”name=\”edit\”></tr>\n”

}
};

print”</table></form></body></html>”;

(editc.cgi)

#!/usr/bin/perl
BEGIN{ $| = 1; print “Content-type: text/html\n\n”; open(STDERR, “>&STDOUT”); }

use CGI;
$query = new CGI;
#前の cgi から受け取った行番号は$edit に入れられます。#########
$edit = $query->param(‘edit’);
#ここでも open 関数#############################
open(IN, “< save.txt”);
@data=<IN>;
close (IN);
########################################
print <<END;
<html>
<head>
<title>データベース 初歩</title>
<meta http-equiv=”Content-Type” content=”text/html; charset=Shift_JIS”>
</head>
<body bgcolor=”#FFFFFF” text=”#000000″>
<div align=”center”>
<h1><b>データベース 初歩</b></h1>
</div>
<hr>
END
###################################################

@cdata=@data[$edit];

###################################################
for($i=0;$i<@cdata;$i++){
@moto=split(/\t/,$cdata[$i]);
};
##################################################
print”<form name=\”form1\” method=\”post\” action=\”iedit.cgi\”>\n”;
print”<p>お名前 <input type=\”text\” name=\”name\” value=\”$moto[5]\”><br>name</p>\n”;
print”<p>住所<input type=\”text\” name=\”add\” value=\”$moto[6]\”><br>address </p>\n”;
print”<p>電話番号<input type=\”text\” name=\”tel\” value=\”$moto[7]\”><br>telephone </p>\n”;

print”<p> メールアドレス <input type=\”text\” name=\”mail\”
value=\”$moto[8]\”><br>e-mail</p>\n”;

print”<p><input type=\”submit\” name=\”submit\” value=\”send\”><input type=\”reset\”
name=\”submit2\” value=\”reset\”></p>\n”;

print”<input type=\”hidden\” name=\”edit\” value=\”$edit\”>\n”;
print”</form>\n”;
print”<hr>\n”;

(iedit.cgi)

#!/usr/bin/perl
BEGIN{ $| = 1; print “Content-type: text/html\n\n”; open(STDERR, “>&STDOUT”); }
use CGI;
$query = new CGI;
open(IN, “< save.txt”);
@data=<IN>;
close (IN);
#新しく修正された各項目#################
$name = $query->param(‘name’);
$add = $query->param(‘add’);
$tel = $query->param(‘tel’);
$mail = $query->param(‘mail’);
$edit = $query->param(‘edit’);
#時間を取得##########
local($nsec,$nmin,$nhour,$nmday,$nmon,$nyear)=localtime(time);
$nmon++;
$nyear+=1900;
$day=”$nyear\t$nmon\t$nmday\t$nhour\t$nmin”;
#############################################
$arenge = “$day\t$name\t$add\t$tel\t$mail\n”;
###############################################

print <<END;
<html>
<head>
<title>2017 basic perl No2</title>
<meta http-equiv=”Content-Type” content=”text/html; charset=Shift_JIS”>
</head>

<body bgcolor=”#FFFFFF” text=”#000000″>
<div align=”center”>
<h1><b>データベース 初歩</b></h1>
</div>
<hr>

END

for($i=0;$i<@data;$i++){
if($i=~m/$edit/){
@data[$i] = $arenge;
}
}
@dat=@data;
open(FILE,”>save.txt”)||&error(“save.txt 外部ファイルが開きませんでしたエラー”);
print FILE @dat;
close(FILE);

print”edit complete\n”;

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です