<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 件のコメント:
コメントを投稿