From 582478ebeca009066b0445dca96d56c10d6a2f6e Mon Sep 17 00:00:00 2001 From: ivan Date: Thu, 22 Apr 1999 05:54:53 +0000 Subject: [PATCH] update sets --- cgi/persons.cgi | 50 +++++++++++++++++++++++++++++++------------------- cgi/sets.cgi | 44 +++++++++++++++++++++++++------------------- 2 files changed, 56 insertions(+), 38 deletions(-) diff --git a/cgi/persons.cgi b/cgi/persons.cgi index df22ced..0a84508 100755 --- a/cgi/persons.cgi +++ b/cgi/persons.cgi @@ -1,5 +1,5 @@ #!/usr/bin/perl -Tw -# $Id: persons.cgi,v 1.5 1999-04-22 04:34:46 ivan Exp $ +# $Id: persons.cgi,v 1.6 1999-04-22 05:54:53 ivan Exp $ # Copyright (c) 1999 Ivan Kohler. All rights reserved. # This program is free software; you can redistribute it and/or modify it under # the same terms as perl itself @@ -9,7 +9,7 @@ use vars qw ( $data_source $user $password $table @fields $cgi $dbh ); use subs qw( print_form ); -use CGI; +use CGI qw(tr th td); use CGI::Carp qw(fatalsToBrowser); use DBI; @@ -27,30 +27,42 @@ $dbh = DBI->connect( $data_source, $user, $password ) unless ( $cgi->param('magic') ) { #first time through - my $sth = $dbh->do( "SELECT * FROM PERSONS" ) or die $dbh->errstr; + my $sth = $dbh->prepare( "SELECT * FROM PERSONS" ) + or die $dbh->errstr; + my $rv = $sth->execute; + die $sth->errstr unless $rv; - print $cgi->header, + print $cgi->header( '-expires' => 'now' ), $cgi->start_html('Person listing'), $cgi->h1('Person listing'), ; unless ( $sth eq '0E0' ) { + my @columns = @{ $sth->{'NAME'} }; + print $cgi->start_table, $cgi->tr( map { $cgi->th($_) - } @{$sth->{NAME}} - ), - map { - $cgi->tr( - map { - $cgi->td( $_ ) - } @{ $_ } - ) - } @{ $sth->fetchall_arrayref }, - $cgi->end_table, + } @columns + ) ; + + my %hash = (); + my $hashref = undef; + while ( $hashref = $sth->fetchrow_hashref ) { + %hash = %{$hashref}; + $hash{'EMAIL'} = ''. + $hash{'EMAIL'}. ""; + $hash{'HOMEPAGE'} = 'http://'. $hash{'HOMEPAGE'} + unless $hash{'HOMEPAGE'} =~ /^http\:\/\//; + $hash{'HOMEPAGE'} = ''. + $hash{'HOMEPAGE'}. ""; + print $cgi->tr( map { $cgi->td( $hash{$_} ) } @columns ); + } + print $cgi->end_table; + } $cgi->param('magic', 'new_form'); @@ -76,7 +88,7 @@ unless ( $cgi->param('magic') ) { #first time through my $statement = 'INSERT INTO PERSONS ( '. join(', ', @fields ). ' ) VALUES ( '. - join( ', ', map { $cgi->param($_) } @fields ). + join( ', ', map { $dbh->quote($cgi->param($_)) } @fields ). ' )' ; my $sth = $dbh->prepare($statement) @@ -84,15 +96,15 @@ unless ( $cgi->param('magic') ) { #first time through my $rv = $sth->execute; die $sth->errstr unless $rv; - print $cgi->header, - "person added?" - ; + my $url = $cgi->url; + $url =~ s/^\/[\/]+$//; + print $cgi->redirect($url); } sub print_form { my $cgi = shift; my $action = shift; - print $cgi->header, + print $cgi->header( '-expires' => 'now' ), $cgi->start_html($action), $cgi->h1($action), $cgi->start_form, diff --git a/cgi/sets.cgi b/cgi/sets.cgi index e94a25b..b4ef999 100755 --- a/cgi/sets.cgi +++ b/cgi/sets.cgi @@ -1,5 +1,5 @@ #!/usr/bin/perl -Tw -# $Id: sets.cgi,v 1.1 1999-04-22 05:04:56 trose Exp $ +# $Id: sets.cgi,v 1.2 1999-04-22 05:54:53 ivan Exp $ # Copyright (c) 1999 Ivan Kohler. All rights reserved. # This program is free software; you can redistribute it and/or modify it under # the same terms as perl itself @@ -9,7 +9,7 @@ use vars qw ( $data_source $user $password $table @fields $cgi $dbh ); use subs qw( print_form ); -use CGI; +use CGI qw(tr th td); use CGI::Carp qw(fatalsToBrowser); use DBI; @@ -27,30 +27,35 @@ $dbh = DBI->connect( $data_source, $user, $password ) unless ( $cgi->param('magic') ) { #first time through - my $sth = $dbh->do( "SELECT * FROM PERSONS" ) or die $dbh->errstr; + my $sth = $dbh->prepare( "SELECT * FROM $table" ) + or die $dbh->errstr; + my $rv = $sth->execute; + die $sth->errstr unless $rv; - print $cgi->header, + print $cgi->header( '-expires' => 'now' ), $cgi->start_html('Person listing'), $cgi->h1('Person listing'), ; unless ( $sth eq '0E0' ) { + my @columns = @{ $sth->{'NAME'} }; + print $cgi->start_table, $cgi->tr( map { $cgi->th($_) - } @{$sth->{NAME}} - ), - map { - $cgi->tr( - map { - $cgi->td( $_ ) - } @{ $_ } - ) - } @{ $sth->fetchall_arrayref }, - $cgi->end_table, + } @columns + ) ; + + my %hash = (); + my $hashref = undef; + while ( $hashref = $sth->fetchrow_hashref ) { + %hash = %{$hashref}; + print $cgi->tr( map { $cgi->td( $hash{$_} ) } @columns ); + } + print $cgi->end_table; } $cgi->param('magic', 'new_form'); @@ -76,7 +81,7 @@ unless ( $cgi->param('magic') ) { #first time through my $statement = 'INSERT INTO PERSONS ( '. join(', ', @fields ). ' ) VALUES ( '. - join( ', ', map { $cgi->param($_) } @fields ). + join( ', ', map { $dbh->quote($cgi->param($_)) } @fields ). ' )' ; my $sth = $dbh->prepare($statement) @@ -84,15 +89,16 @@ unless ( $cgi->param('magic') ) { #first time through my $rv = $sth->execute; die $sth->errstr unless $rv; - print $cgi->header, - "person added?" - ; + my $url = $cgi->url; + $url =~ s/^\/[\/]+$//; + print $cgi->redirect($url); + } sub print_form { my $cgi = shift; my $action = shift; - print $cgi->header, + print $cgi->header( '-expires' => 'now' ), $cgi->start_html($action), $cgi->h1($action), $cgi->start_form, -- 2.11.0