初心者だけどPerlが大好き

コードが世界を変える!

名前を検索する

名前を検索して 呼び出す エコーバックCGIです

&searchform というサブルーチン処理をすることで
フォームに値が入力された場合に
テーブル処理がはじまることになります

db1.cgi  とします

#!D:/xampp/perl/bin/perl (Cドライブの人は Cに変えてね)

#!D:/xampp/perl/bin/perl
use CGI;
use DBI;
use utf8;
$q = new CGI;
print $q->header(-type =>'text/html',-charset => 'utf-8'),
$q->start_html(-title=>"Database Form"),
$q->h1(' 名前で検索してみましょう'),
$q->start_form,
$q->textfield(-name=>'name'),
$q->reset,
$q->submit(-name =>'Action', -value =>'送信'),
$q->submit(-name =>'Action', -value =>'Scream');
$q->end_form;
if($q ->param('name')){ &searchform;}
sub searchform{
$dbname = "trinity777";
$user = "root";
$passwd = "あなたの決めたパスワードにしてね";
$tbname = "cgipm";
$host = "localhost";
$myname=$q ->param('name');
# DBに接続
$dbh=DBI->connect("DBI:mysql:$dbname; host=$host", $user, $passwd) 
or die $DBI::errstr;
$dbh->do("SET NAMES utf8");
# SQL実行
$sth = $dbh->prepare(" SELECT * FROM  $tbname WHERE name = '$myname' ");
if(!$sth->execute){print "SQL失敗\n";exit;}
print $q->start_table({-border=>1}),
$q->start_Tr,
$q->th(['id', 'mtime','name','email','subject', 'comments','uploaded_file']);
while (@rec = $sth->fetchrow_array())
{
print $q->start_Tr,
$q->td([$rec[0],$rec[1],$rec[2],$rec[3],$rec[4],$rec[5],$rec[6]]);
}
# ステートメントハンドルクリア
$sth->finish;
# DB切断
$dbh->disconnect;}
print $q->end_html;