n***@gmail.com
2007-10-20 17:23:28 UTC
I am new to cgi and have a query about same...
I wan to connect to database and display soem data in HTMl format.
Below is the code which i have wriiten.
DbSettings.Pets contains database information like username,pswd,Db
name.
When i run this cgi using " http://www.web.com/TEST/cgi-bin-kerb/test.cgi"
it displays " Page cannot be displayed"
Can somebody help e out with this?
Thanks,
#!/opt/bin/perl5.004
#*************************
#******* Trecs.cgi *****
#*************************
#$Log
require "DbSettings.Pets";
Sybase::DBlib::dberrhandle('error_handler');
Sybase::DBlib::dbmsghandle('message_handler');
use CGI;
$query = new CGI;
&Main ();
$dbproc->dbclose();
sub Main {
print "Content-type: text/html\n\n";
&GetRegions;
&display_menu;
sub GetRegions
{
@RegionData = $dbproc->sql("SELECT CheckName FROM CheckTb");
$NumRegions = @RegionData;
}
sub display_menu {
print <<EOF;
<HTML>
<HEAD>
<TABLE>
<TR><TD><FONT COLOR="BLUE"><B>ICOLT<TD>--</B>
<TD>
CHECKNAME:
<TD><SELECT NAME=CHECKNAME>
EOF
foreach $Region (@RegionData)
{
print "<OPTION>$$Region[0]";
}
print <<EOF;
</SELECT>
</TABLE>
EOF
} #Main
#*************************************************************************************
#******************** error handler
***********************************************
#*************************************************************************************
sub error_handler
{
print "Content-type: text/html\n\n";
my ($db, $severity, $error, $os_error, $error_msg,
$os_error_msg) = @_;
# Check the error code to see if we should report this.
# Traps operating system level errors; much more severe than
sql related errors
# Add whatever code necessary to handle the error properly
print "Error detected:<BR>";
print "severity: $severity<BR>";
print "error: $error<BR>";
print "database: $db<BR>";
print "message: $error_msg<BR>";
print "os error msg: $os_error_msg<BR>";
INT_CANCEL;
}
sub message_handler
{
print "Content-type: text/html\n\n";
my ($db, $message, $state, $severity, $text, $server,
$procedure, $line) = @_;
# Used to trap Sybase messages generated in cases like trying
to
# insert a row that violates an index. Currently we don't do
anything,
# add whatever code necessary to handle the message properly
print "Message detected:<BR>";
print "database: $db<BR>";
print "message: $message<BR>";
print "text: $text<BR>";
print "server: $server<BR>";
print "line no: $line<BR>n";
0;
}
I wan to connect to database and display soem data in HTMl format.
Below is the code which i have wriiten.
DbSettings.Pets contains database information like username,pswd,Db
name.
When i run this cgi using " http://www.web.com/TEST/cgi-bin-kerb/test.cgi"
it displays " Page cannot be displayed"
Can somebody help e out with this?
Thanks,
#!/opt/bin/perl5.004
#*************************
#******* Trecs.cgi *****
#*************************
#$Log
require "DbSettings.Pets";
Sybase::DBlib::dberrhandle('error_handler');
Sybase::DBlib::dbmsghandle('message_handler');
use CGI;
$query = new CGI;
&Main ();
$dbproc->dbclose();
sub Main {
print "Content-type: text/html\n\n";
&GetRegions;
&display_menu;
sub GetRegions
{
@RegionData = $dbproc->sql("SELECT CheckName FROM CheckTb");
$NumRegions = @RegionData;
}
sub display_menu {
print <<EOF;
<HTML>
<HEAD>
<TABLE>
<TR><TD><FONT COLOR="BLUE"><B>ICOLT<TD>--</B>
<TD>
CHECKNAME:
<TD><SELECT NAME=CHECKNAME>
EOF
foreach $Region (@RegionData)
{
print "<OPTION>$$Region[0]";
}
print <<EOF;
</SELECT>
</TABLE>
EOF
} #Main
#*************************************************************************************
#******************** error handler
***********************************************
#*************************************************************************************
sub error_handler
{
print "Content-type: text/html\n\n";
my ($db, $severity, $error, $os_error, $error_msg,
$os_error_msg) = @_;
# Check the error code to see if we should report this.
# Traps operating system level errors; much more severe than
sql related errors
# Add whatever code necessary to handle the error properly
print "Error detected:<BR>";
print "severity: $severity<BR>";
print "error: $error<BR>";
print "database: $db<BR>";
print "message: $error_msg<BR>";
print "os error msg: $os_error_msg<BR>";
INT_CANCEL;
}
sub message_handler
{
print "Content-type: text/html\n\n";
my ($db, $message, $state, $severity, $text, $server,
$procedure, $line) = @_;
# Used to trap Sybase messages generated in cases like trying
to
# insert a row that violates an index. Currently we don't do
anything,
# add whatever code necessary to handle the message properly
print "Message detected:<BR>";
print "database: $db<BR>";
print "message: $message<BR>";
print "text: $text<BR>";
print "server: $server<BR>";
print "line no: $line<BR>n";
0;
}