20251009
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"; delete.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); print <<END; <html> <head> <title>delete</title> </head> <body bgcolor="#FFFFFF" text="#000000"> <div align="center"> <h1><b>データベース 初歩</b></h1> </div> <hr> <form action="deletec.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>@retud ata[3]</td><td>@retudata[4]</td><td>@retudata[5]</td>\n"; print"<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>";
deletec.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); $edit = $query->param('edit'); print <<END; <html> <head> <title>delete</title> </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/){ delete @data[$i] } } @dat=@data; open(FILE,"> save.txt")||&error("../data/data.txt 外部ファイルが開きませんでしたエラー "); print FILE @dat; close(FILE); print"delete complete\n";