<HTML> <HEAD> <META HTTP-EQUIV="Content-Type" CONTENT="text/html;CHARSET=UTF-8"> <TITLE>Connect MySQL(Perl) 1</TITLE> </HEAD> <BODY> <FORM ACTION="cgi-bin/sample3.cgi" METHOD="POST" ENCTYPE="application/x-www-form-urlencoded"> num:<INPUT TYPE="TEXT" NAME="num" SIZE="4"><BR> host_name:<INPUT TYPE="TEXT" NAME="host_name" SIZE="12"><BR> ip_address:<INPUT TYPE="TEXT" NAME="ip_address" SIZE="24"><BR> <SELECT NAME="command"> <OPTION SELECTED VALUE="insert">INSERT</OPTION> </SELECT> <INPUT TYPE="SUBMIT" NAME="Submit" VALUE="実行"><BR> </FORM> </BODY> </HTML>
connectDB3.cgi(sample)
#!/usr/bin/perl
use DBI;
$user = '[user name]';
$passwd = '[password]';
$db = DBI->connect('DBI:mysql:sa:localhost', $user, $passwd);
# FORMからデータを読み込む
$len = $ENV{'CONTENT_LENGTH'};
read(STDIN, $std, $len);
@args = split(/&/, $std);
foreach $arg ( @args ){
($name, $val ) = split(/=/, $arg);
$val =~ s/\+/ /g;
$form{$name} = $val;
}
print <<HEADER;
Content-type: text/html
<html>
<head>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html;CHARSET=UTF-8">
<title>Connect MySQL(Perl) 2</title>
</head>
<body>
HEADER
if($form{command} eq 'insert'){
if($form{name} eq '' ){
print "<h1>nameが空白では登録できません</h1>";
}else{
$sth = $db->prepare("insert into list (num,host_name,ip_address) values ('$form{num}','$form{host_name}','$form{ip_address}')");
$sth->execute;
print "<h1>登録完了</h1>";
$sth->finish;
}
}
$db->disconnect;
print <<FOOTER;
</body>
</html>
FOOTER
WebサーバのCGI関連の設定確認
vi /etc/httpd/conf/httpd.conf
AddHandler cgi-script .cgi .pl
0 件のコメント:
コメントを投稿