#!c:\Perl\bin\perl.exe -wT use strict; use warnings; use CGI qw(:standard); use File::Slurp; use DBI; $CGI::DISABLE_UPLOADS = 1; # Disable uploads $CGI::POST_MAX = 51_200; # Maximum number of bytes per POST # Debugging info $|=1; use CGI::Carp('fatalsToBrowser'); # # Get our configuration # my %config = read_ini("genealogy.ini"); my $locality = $config{LOCALITY}; my $sitename = $config{SITE_NAME}; my $thisscript = "genealogy.pl"; # # Connect to the database # my $dbName = "DBI:ODBC:genealogy"; my $dbUserName = ""; my $dbPassword = ""; my $dbh = DBI->connect( $dbName, $dbUserName, $dbPassword ); my $sql = ""; my $dataObject = ""; # # Get parameters # my $in_lname = param( "lname" ); my $in_id = param( "id" ); # # Variables # my( $last_name, $first_name, $middle_name, $maiden_name, $nick_name, $suffix, $prefix, $birth_date, $birth_place, $death_date, $death_place, $other_surnames, $paper_name, $paper_locality, $paper_date, $paper_page, $paper_column, $obituary_id, $paper_id ); # # Print the page header # print header( "text/html" ), start_html(-title => $sitename), h1($sitename); if ($in_lname eq "") { if ($in_id eq "") { print start_form( { -action => "$thisscript", -enctype => "application/x-www-form-urlencoded", -method => "post" } ); print table( {-border => "0"}, Tr( td( "Enter a Last Name:" ), td( input( { -type => "text", -size => "30", -maxlength => "30", -name => "lname" } ) ) ), Tr( td( { -colspan => "2", -align => "right" }, input( { -type => "submit", -value => "Search"} ), input( { -type => "reset"} ) ) ) ); } else { $sql = "SELECT lname, fname, middle, nickname, maiden, suffix, prefix, paperdate, page, column, birthdate, birthplace, deathdate, deathplace, othersurnames, papername, paperlocality FROM obituaries, newspapers WHERE obituaryid = $in_id AND obituaries.paperid = newspapers.paperid"; $dataObject = $dbh->prepare( $sql ); $dataObject->execute(); $dataObject->bind_columns( undef, \$last_name, \$first_name, \$middle_name, \$nick_name, \$maiden_name, \$suffix, \$prefix, \$paper_date, \$paper_page, \$paper_column, \$birth_date, \$birth_place, \$death_date, \$death_place, \$other_surnames, \$paper_name, \$paper_locality ); $dataObject->fetch(); print p( "Individual view for obituary #$in_id:" ); print table( { -border => "0" }, Tr( th( { -align => "left" }, "Last Name:" ), td( $last_name ) ), Tr( th( { -align => "left" }, "First Name:" ), td( $first_name ) ), Tr( th( { -align => "left" }, "Middle Name:" ), td( $middle_name ) ), Tr( th( { -align => "left" }, "Nick Name:" ), td( $nick_name ) ), Tr( th( { -align => "left" }, "Maiden Name:" ), td( $maiden_name ) ), Tr( th( { -align => "left" }, "Suffix:" ), td( $suffix ) ), Tr( th( { -align => "left" }, "Prefix:" ), td( $prefix ) ), Tr( th( { -align => "left" }, "Birth Date:" ), td( $birth_date ) ), Tr( th( { -align => "left" }, "Birth Place:" ), td( $birth_place ) ), Tr( th( { -align => "left" }, "Death Date:" ), td( $death_date ) ), Tr( th( { -align => "left" }, "Death Place:" ), td( $death_place ) ), Tr( th( { -align => "left" }, "Other Names:" ), td( $other_surnames ) ), Tr( th( { -align => "left" }, "Paper Name:" ), td( $paper_name ) ), Tr( th( { -align => "left" }, "Locality:" ), td( $paper_locality ) ), Tr( th( { -align => "left" }, "Paper Date:" ), td( $paper_date ) ), Tr( th( { -align => "left" }, "Page:" ), td( $paper_page ) ), Tr( th( { -align => "left" }, "Column:" ), td( $paper_column ) ) ), p(a( { -href => "$thisscript" }, "Click Here to Search Again!" )); $dataObject->finish(); $dbh->disconnect(); } } else { $sql = "SELECT obituaryid, lname, fname, middle, suffix, prefix, birthdate, deathdate, paperdate FROM obituaries where lname like '$in_lname%' ORDER BY lname, fname, middle, birthdate, deathdate"; $dataObject = $dbh->prepare( $sql ); $dataObject->execute(); $dataObject->bind_columns( undef, \$obituary_id, \$last_name, \$first_name, \$middle_name, \$suffix, \$prefix, \$birth_date, \$death_date, \$paper_date ); print p( "Your search for \"$in_lname\" returned the following results:" ); print qq!
| Last Name | First Name | Middle Name | Prefix | Suffix | Birth | Death | Paper Date | |
|---|---|---|---|---|---|---|---|---|
| $last_name | ", "$first_name | ", "$middle_name | ", "$prefix | ", "$suffix | ", "$birth_date | ", "$death_date | ", "$paper_date | ", "More Info |