20251001
You are currently viewing a revision titled "20251001", saved on 2025年10月2日 9:21 PM by Nimedi Chanchala | |
---|---|
タイトル | 20251001 |
コンテンツ | nyuryoku.html-
<html><head><title>データベース初歩</title></head>
<body><center>
<form method="post" action="input.cgi"><br><br>
<h1>データベース初歩</h1><br>
お名前<br>
<input type="text"name="name"><br><br>
住所<br>
<input type="text"name="add"><br><br>
電話番号<br>
<input type="text"name="tel"><br><br>
メールアドレス<br>
<input type="text"name="mail"><br><br>
<input type="submit"value="送信する"><br>
<input type="reset"value="リセット">
</form></center>
</body></html>
input.cgi-
#!/usr/bin/perl
BEGIN{ $| = 1; print "Content-type: text/html\n\n"; open(STDERR,">&STDOUT");}
use CGI;
$query=new CGI;
$name=$query->param('name');
$add=$query->param('add');
$tel=$query->param('tel');
$mail=$query->param('mail');
#時間を取得(locatime(time)アクセスした現在の時間(サーバーの時計)を取得##########
local($nsec,$nmin,$nhour,$nmday,$nmon,$nyear)=localtime(time);
$nmon++;
$nyear+=1900;
$day="$nyear\t$nmon\t$nmday\t$nhour\t$nmin";
#外部ファイルに書き込#############################
@data="$day\t$name\t$add\t$tel\t$mail\n";
open(FILE,">>save.txt")||&error("$datafile 外部ファイルが開きませんでしたエラー");
print FILE@data;
close(FILE);
##############################
print<<END;
<html>
<head>
<title>input</title>
</head>
<body bgcolor="#FFFFFF"text="#000000">
<div align="center">
<h1><b>データベース初歩</b></h1>
</div>
<hr>
END
print"入力内容は、下記のとおりです。<br><br>\n";
print"入力日時:$day<br>\n";
print"お名前:$name<br>\n";
print"ご住所:$add<br>\n";
print"電話番号:$tel<br>\n";
print"メールアドレス:$mail\n";
exit(0);
save.text - permisson 666
view.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>db</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>
<table border="1" width="100%">
<tr>
<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><td>@retudata[0]</td><td>@retudata[1]</td><td>@retudata[2]</td><td>@r
etudata[3]</td><td>@retudata[4]";
print"</td><td>@retudata[5]</td><td>@retudata[6]</td><td>@retudata[7]</td><td>
@retudata[8]</td></tr>\n";
}
};
print"</table></body></html>";
search.html
<html>
<head><title>search</title></head>
<body>
<center>
<h1><b>データベース初歩</b></h1>
<hr>
<form action="search.cgi"method="POST">
検索 キーワード <br>
<input type="text"name="kyeword"><br>
<input type="submit"value="検 索">
<input type="reset"value="リセット">
</form>
</center>
</body>
</html>
search.cgi
#!/usr/bin/perl
BEGIN{ $| = 1; print "Content-type: text/html\n\n"; open(STDERR, ">&STDOUT"); }
use CGI;
$query = new CGI;
$kensaku = $query->param('kyeword');
#テキストデータ読み込み###################
open(IN, "<save.txt");
@data=<IN>;
close (IN);
#################################
print <<END;
<html>
<head>
<title>search</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
#配列@data の中身を########################################
for($i=0;$i<@data;$i++){
@retudata=split(/\t/,$data[$i]);
if($data[$i]=~m/$kensaku/){
#ここが検索したい言葉と@data の中にある言葉が合致した場合
#その一列@retudata を単語単位でくぎり print 書き出し
print"年:@retudata[0]<br>\n";
print"月:@retudata[1]<br>\n";
print"日:@retudata[2]<br>\n";
print"時:@retudata[3]<br>\n";
print"分:@retudata[4]<br>\n";
print"名前:@retudata[5]<br>\n";
print"住所:@retudata[6]<br>\n";
print"電話:@retudata[7]<br>\n";
print"メール:@retudata[8]<br>\n";
print"<hr>\n";
}
}
print"</body>\n";
print"</html>\n";
exit:
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;
#いつもの 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>";
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";
|
抜粋 | |
脚注 |