Do they mention what extention your script must have? .cgi .pl and where it is supposed to be placed in order to be executable?
Anton -----Original Message----- From: Nick Hoffman [HWA-Inc] [mailto:[EMAIL PROTECTED]] Sent: Monday, June 24, 2002 11:21 AM To: DBI-Users Subject: RE: need execute perms? Actually, on the hoster's website, it says that to run Perl scripts on their server, you don't need to include a shebang line. They do, though, give the path to Perl. I've tried both (their shebang line and no shebang line), and neither work. I gave your suggestion of <#!perl> a try and it also didn't work. I'm really at a loss now as to what to do. I'll find out what webserver they're using. As for what version of Perl, it's 5.60 Thanks, Nick > -----Original Message----- > From: Jeff Seger [mailto:[EMAIL PROTECTED]] > Sent: June 24, 2002 1:02 PM > To: John Day > Cc: DBI-Users > Subject: Re: need execute perms? > > > Are you certain that you have the correct path to the perl executable? > > Try changing your shebang line to: > #!perl > and see if they are then executable. > > > > On Mon, 2002-06-24 at 11:52, John Day wrote: > > 1.. Have you made the scripts executable? by using CHMOD 755 > or something similar. You can often do this in your ftp client. > > > > 2.. Who is your provider, so we may all studiously avoid them > in the future? > > > > > > John Day > > Words & Images > > Toronto, Canada > > > > > > > > At 11:07 AM 6/24/2002 -0400, Nick Hoffman [UWO] wrote: > > >Hi. The hosting company that I am with says that you only > need "execute for > > >scripts" permissions to run Perl scripts in my cgi-bin > directory. However, > > >I'm unable to run *any* of my scripts. Might anyone know why > that may be? > > >Whenever I try to, I get a 403.1 Forbidden: Execute Access > Forbidden. The > > >hosting company refuses to tell me how to get my scripts > working, and cling > > >to this motto "We provide accessibility, not functionality." > So, I have no > > >idea how to get my scripts going. Below is one of my many scripts that > > >simply won't run. > > > > > >Thanks for your help > > > Nick Hoffman > > > > > > > > > > > >#!perl\perl.exe > > > > > >use DBI; > > >use strict; > > >use CGI::Carp qw(fatalsToBrowser); > > > > > >#data source name > > >my ($dsn) = "DBI:ODBC:ebahoops"; > > > > > >#for holding the username and password that the user entered > > >my (@username, @password); > > > > > >#for holding the usernameS and passwordS in the pwd file > > >my (@unames, @pwds); > > > > > >#whether the username and password exist AND match > > >my ($match) = "false"; > > > > > >#file that holds the different EBA divisions > > >my ($DivisionsFile) = "divisions.dat"; > > >my (@division_contents); > > > > > >#path to pwd file > > >my ($pwd_file) = "dont_delete.dat"; > > > > > >#for converting query string > > >my ($NameValue, $Name, $Value); > > > > > >#array for holding query data > > >my (@data); > > > > > >#database and statement handles > > >my ($dbh); > > >my ($sth); > > > > > >#array for holding team names and numbers > > >my (@COEDTeamNames, @COEDTeamNums, @COEDDivisions); > > >my (@BoysTeamNames, @BoysTeamNums, @BoysDivisions); > > >my (@GirlsTeamNames, @GirlsTeamNums, @GirlsDivisions); > > > > > >#temp vars > > >my (@temp, @params, $counter, $temp); > > > > > >#put each param into the array > > >@params = split("&", $ENV {'QUERY_STRING'}); > > > > > >#convert ugly chars to regular chars > > >$counter = 0; > > >while (@params[$counter]) > > > { > > > ($Name, $Value) = split("=", @params[$counter]); > > > $Value =~ tr/+/ /; > > > $Value =~ s/%([\dA-Fa-f][\dA-Fa-f])/ pack ("C", hex($1))/eg; > > > @params[$counter] = $Name . "=" . $Value; > > > > > > $counter++; > > > } > > > > > >print <<HTMLSTUFF; > > > <html> > > > <head> > > > > > > <meta http-equiv="Content-Type" content="text/html; > charset=iso-8859-1"> > > > <meta name="description" content="The Official > Etobicoke Basketball > > >Association's Web Page"> > > > <meta name="keywords" content="EBA, Etobicoke > Basketball Association, > > >Basketball, League, BBall, Ball, Sport, Sports, fun, games, activity, > > >activities, net"> > > > > > > <title>Etobicoke Basketball Association - > Registration Form</title> > > > </head> > > > > > > <body bgcolor="#FFFFFF" link="#FF0000" > vlink="#FF0000" alink="#FF0000"> > > > > > > <table border=0 cellpadding=0 cellspacing=0 width=600> > > > <tr> > > > <td valign="top" width="600"> > > > <table border=0 cellpadding=0 > cellspacing=0 width=100%> > > > <tr> > > > <td colspan=2> > > > <center> > > > <table border=3 > cellpadding=10 cellspacing=0> > > > <tr> > > > <td> > > > > <center> > > > > <b>ETOBICOKE BASKETBALL ASSOCIATION</b><br> > > > > <b>Administration Page</b> > > > > </center> > > > </td> > > > </tr> > > > </table> > > > </center> > > > </td> > > > </tr> > > > <tr> > > > <td width=70%> </td> > > > <td width=30%> </td> > > > </tr> > > >HTMLSTUFF > > >; > > > > > >if ((@params[0] !~ "username=") || (@params[1] !~ "password=")) > > > { #if the username or password isn't specified, ask for it > > > print " > > > <form > action=\"edit_teams.pl\" method=\"get\"> > > > <tr> > > > <td width=70%>Username:</td> > > > <td width=30%><input > type=text size=12 maxlength=12 > > >name=username></td> > > > </tr> > > > <tr> > > > <td width=70%>Password</td> > > > <td width=30%><input > type=password size=12 maxlength=12 > > >name=password></td> > > > </tr> > > > <tr> > > > <td width=70%> </td> > > > <td width=30%> </td> > > > </tr> > > > <tr> > > > <td colspan=2><center><input > type=submit value=\"Submit\" > > >STYLE=\"background:AD5100\"><center></td> > > > </form> > > > </tr> > > > </table> > > > "; > > > } > > >else > > > { > > > #split up the username > > > @username = split("=", @params[0]); > > > @password = split("=", @params[1]); > > > > > > #encrypt the password > > > @password[2] = crypt(@password[1], "fish"); > > > > > > #grab the usernames and passwords from the pwd file > > > open (pwd, $pwd_file) || die print "Error while > opening pwd file for > > >reading:<br>$!<br>"; > > > @temp = <pwd>; > > > close pwd; > > > > > > #build the uname and pwd arrays > > > $counter = 0; > > > while ((@temp[$counter]) && ($match eq "false")) > > > { > > > (@unames[$counter], @pwds[$counter]) = split > (",", @temp[$counter]); > > > > > > #get rid of the end-of-line char from the pwd > > > chomp(@pwds[$counter]); > > > > > > if ((@username[1] eq @unames[$counter]) && > (@password[2] eq > > >@pwds[$counter])) > > > {$match = "true";} > > > > > > $counter++; > > > } > > > > > > if ($match eq "false") > > > { > > > print " > > > <tr> > > > <td colspan=2> > > > <b><font color=red><center> > > > ERROR: the username > and password do not match > > > </center></font></b> > > > </td> > > > </tr> > > > </table> > > > "; > > > } > > > else #the username and password match > > > { > > > if (@username[1] eq "admin") > > > { > > > print " > > > <tr><td width=100%><b><font > size=+1>Team Editing</font></b></td></tr> > > > <tr><td width=100%><font > size=-1>You are logged in as the > > >administrator.</font></td></tr> > > > <tr><td width=100%> </td></tr> > > > <tr><td width=100%> > > > "; > > > > > > #get all of the existing teams > > > > > > #***Connect to the database*** > > > $dbh = DBI->connect($dsn, "", "") || > die print "$DBI::errstr<hr>"; > > > > > > #***Extract the teams from the database > > > $sth = $dbh->prepare("SELECT TeamNum, > TeamName, Division FROM Teams WHERE > > >Gender=? ORDER BY Gender, Division, TeamName") || die print > "Died while > > >preparing:<br>$DBI::errstr<hr>"; > > > > > > #execute for CO-ED and retrieve the data > > > $sth->execute('CO-ED') || die print > "Died while > > >executing:<br>$DBI::errstr<hr>"; > > > $counter = 0; > > > while (@data = $sth->fetchrow_array()) > > > { > > > @COEDTeamNums[$counter] = @data[0]; > > > @COEDTeamNames[$counter] = @data[1]; > > > @COEDDivisions[$counter] = @data[2]; > > > $counter++; > > > } > > > > > > #execute for Boys and retrieve the data > > > $sth->execute('Boys') || die print "Died while > > >executing:<br>$DBI::errstr<hr>"; > > > $counter = 0; > > > while (@data = $sth->fetchrow_array()) > > > { > > > @BoysTeamNums[$counter] = @data[0]; > > > @BoysTeamNames[$counter] = @data[1]; > > > @BoysDivisions[$counter] = @data[2]; > > > $counter++; > > > } > > > > > > #execute for Girls and retrieve the data > > > $sth->execute('Girls') || die print > "Died while > > >executing:<br>$DBI::errstr<hr>"; > > > $counter = 0; > > > while (@data = $sth->fetchrow_array()) > > > { > > > @GirlsTeamNums[$counter] = @data[0]; > > > @GirlsTeamNames[$counter] = @data[1]; > > > @GirlsDivisions[$counter] = @data[2]; > > > $counter++; > > > } > > > > > > if ((@COEDTeamNums == 0) && > (@BoysTeamNums == 0) && (@GirlsTeamNums == > > >0)) #no teams currently exist > > > { #make sure at least 1 team exists > > > print " > > > No teams currently exist.<p> > > > <table border=0 > cellpadding=4 cellspacing=0 width=100%> > > > "; > > > } > > > else > > > { #at least 1 team exists, so > let's display them > > > print " > > > <table border=0 > cellpadding=4 cellspacing=20 width=100%> > > > <tr> > > > <td > bgcolor=AD5200><b>CO-ED</b></td> > > > <td > bgcolor=AD5200><b>Boys</b></td> > > > <td > bgcolor=AD5200><b>Girls</b></td> > > > </tr> > > > <tr> > > > <td > bgcolor=AD5200 valign=top> > > > > <table border=0 cellpadding=4 cellspacing=0> > > > > <tr> > > > > <td bgcolor=AD5200 width=50%><b>Name</b></td> > > > > <td bgcolor=AD5200 width=50%><b>Division</b></td> > > > > </tr> > > > "; > > > > > > $counter = 0; > > > while (@COEDTeamNums[$counter]) > > > { > > > print " <tr> > > > > <td bgcolor=AD6200 width=50%>@COEDTeamNames[$counter]</td> > > > > <td bgcolor=AD6200 width=50%>@COEDDivisions[$counter]</td> > > > > </tr>"; > > > $counter++; > > > } #end while > > > print " </table> > > > </td> > > > <td > bgcolor=AD5200 valign=top> > > > > <table border=0 cellpadding=4 cellspacing=0> > > > > <tr> > > > > <td bgcolor=AD5200><b>Name</b></td> > > > > <td bgcolor=AD5200><b>Division</b></td> > > > > </tr> > > > "; > > > > > > $counter = 0; > > > while (@BoysTeamNums[$counter]) > > > { > > > print " <tr> > > > > <td bgcolor=AD6200>@BoysTeamNames[$counter]</td> > > > > <td bgcolor=AD6200>@BoysDivisions[$counter]</td> > > > > </tr>"; > > > $counter++; > > > } #end while > > > > > > print " </table> > > > </td> > > > <td > bgcolor=AD5200 valign=top> > > > > <table border=0 cellpadding=4 cellspacing=0> > > > > <tr> > > > > <td bgcolor=AD5200><b>Name</b></td> > > > > <td bgcolor=AD5200><b>Division</b></td> > > > > </tr> > > > "; > > > > > > $counter = 0; > > > while (@GirlsTeamNums[$counter]) > > > { > > > print " <tr> > > > > <td bgcolor=AD6200>@GirlsTeamNames[$counter]</td> > > > > <td bgcolor=AD6200>@GirlsDivisions[$counter]</td> > > > > </tr>"; > > > $counter++; > > > } #end while > > > > > > print " </table> > > > </td> > > > </tr> > > > </table> > > > </td> > > > </tr> > > > "; > > > > > > print " > > > <tr> > > > <td> </td> > > > <td> </td> > > > </tr> > > > <tr> > > > <td> </td> > > > <td> </td> > > > </tr> > > > <tr> > > > <td colspan=2> > > > <table > border=0 cellpadding=4 cellspacing=0 width=100%> > > > <tr> > > > > <td width=40% bgcolor=AD5200> > > > > <form action=\"rename_a_team.pl\" method=\"get\"> > > > > <input type=hidden name=username value=@username[1]> > > > > <input type=hidden name=password value=@password[1]> > > > > > > > <b>Rename A Team</b> > > > </td> > > > > <td width=40% bgcolor=AD5200> </td> > > > > <td width=20% bgcolor=AD5200> </td> > > > </tr> > > > <tr> > > > > <td width=40% bgcolor=AD5200> Current Team > > >Name:</td> > > > > <td width=40% bgcolor=AD5200><input type=text size=20 maxlength=50 > > >name=CurrentTeamName></td> > > > > <td width=20% bgcolor=AD5200> </td> > > > </tr> > > > <tr> > > > > <td width=40% bgcolor=AD5200> New Team > > >Name:</td> > > > > <td width=40% bgcolor=AD5200><input type=text size=20 maxlength=50 > > >name=NewTeamName></td> > > > > <td width=20% bgcolor=AD5200><input type=submit > > >value=\"Submit\"></td> > > > > </form> > > > </tr> > > > <tr> > > > > <td bgcolor=AD5200> </td> > > > > <td bgcolor=AD5200> </td> > > > > <td bgcolor=AD5200> </td> > > > </tr> > > > <tr> > > > > <td bgcolor=AD6200> </td> > > > > <td bgcolor=AD6200> </td> > > > > <td bgcolor=AD6200> </td> > > > </tr> > > > <tr> > > > > <td width=40% bgcolor=AD6200> > > > > <form action=\"delete_a_team.pl\" method=\"get\"> > > > > <input type=hidden name=username value=@username[1]> > > > > <input type=hidden name=password value=@password[1]> > > > > > > > <b>Delete A Team</b> > > > </td> > > > > <td width=40% bgcolor=AD6200> </td> > > > > <td width=20% bgcolor=AD6200> </td> > > > </tr> > > > <tr> > > > > <td width=40% bgcolor=AD6200> Team Name:</td> > > > > <td width=40% bgcolor=AD6200><input type=text size=20 maxlength=50 > > >name=TeamName></td> > > > > <td width=20% bgcolor=AD6200><input type=submit > > >value=\"Submit\"></td> > > > > </form> > > > </tr> > > > <tr> > > > > <td bgcolor=AD6200> </td> > > > > <td bgcolor=AD6200> </td> > > > > <td bgcolor=AD6200> </td> > > > </tr> > > > <tr> > > > > <td bgcolor=AD5200> </td> > > > > <td bgcolor=AD5200> </td> > > > > <td bgcolor=AD5200> </td> > > > </tr> > > > <tr> > > > > <td width=40% bgcolor=AD5200> > > > > <form action=\"add_a_game.pl\" method=\"get\"> > > > > <input type=hidden name=username value=@username[1]> > > > > <input type=hidden name=password value=@password[1]> > > > > > > > <b>Add A Game</b> > > > </td> > > > > <td width=40% bgcolor=AD5200> </td> > > > > <td width=20% bgcolor=AD5200> </td> > > > </tr> > > > <tr> > > > > <td width=40% bgcolor=AD5200> Team Name:</td> > > > > <td width=40% bgcolor=AD5200><input type=text size=20 maxlength=50 > > >name=Team1Name></td> > > > > <td width=20% bgcolor=AD5200> </td> > > > </tr> > > > <tr> > > > > <td width=40% bgcolor=AD5200> Team Name:</td> > > > > <td width=40% bgcolor=AD5200><input type=text size=20 maxlength=50 > > >name=Team2Name></td> > > > > <td width=20% bgcolor=AD5200> </td> > > > </tr> > > > <tr> > > > > <td width=40% bgcolor=AD5200> Date > > >(DD/MM/YY):</td> > > > > <td width=40% bgcolor=AD5200><input type=text size=20 maxlength=8 > > >name=Date></td> > > > > <td width=20% bgcolor=AD5200> </td> > > > </tr> > > > <tr> > > > > <td width=40% bgcolor=AD5200> Time:</td> > > > > <td width=40% bgcolor=AD5200><input type=text size=20 maxlength=20 > > >name=Time></td> > > > > <td width=20% bgcolor=AD5200> </td> > > > </tr> > > > <tr> > > > > <td width=40% bgcolor=AD5200> Location:</td> > > > > <td width=40% bgcolor=AD5200><input type=text size=20 maxlength=255 > > >name=Location></td> > > > > <td width=20% bgcolor=AD5200><input type=submit > > >value=\"Submit\"></td> > > > > </form> > > > </tr> > > > <tr> > > > > <td bgcolor=AD5200> </td> > > > > <td bgcolor=AD5200> </td> > > > > <td bgcolor=AD5200> </td> > > > </tr> > > > "; > > > } #end else: there's at least 1 team > > > > > > print " > > > <tr> > > > > <td bgcolor=AD6200> </td> > > > > <td bgcolor=AD6200> </td> > > > > <td bgcolor=AD6200> </td> > > > </tr> > > > <tr> > > > > <td width=40% bgcolor=AD6200> > > > > <form action=\"add_a_team.pl\" method=\"get\"> > > > > <input type=hidden name=username value=@username[1]> > > > > <input type=hidden name=password value=@password[1]> > > > > > > > <b>Add A Team</b> > > > </td> > > > > <td width=40% bgcolor=AD6200> </td> > > > > <td width=20% bgcolor=AD6200> </td> > > > </tr> > > > <tr> > > > > <td width=40% bgcolor=AD6200> New Team's > > >Name:</td> > > > > <td width=40% bgcolor=AD6200><input type=text size=20 maxlength=50 > > >name=NewTeamName></td> > > > > <td width=20% bgcolor=AD6200> </td> > > > </tr> > > > <tr> > > > > <td width=40% bgcolor=AD6200> New Team's > > >Division:</td> > > > > <td width=40% bgcolor=AD6200> > > > "; > > > > > > #print the divisions, but without the cost > > > open (divisions, $DivisionsFile) || > die print "Error while opening > > >divisions file for reading:<br>$!<br>"; > > > @division_contents = <divisions>; > > > close divisions; > > > > > > chomp (@division_contents); > > > > > > foreach $_ (@division_contents) > > > { > > > #only grab entries that start > with C, B or G > > > #this gets rid of the > "--Select--" and "- - - - - -" entries > > > if (/select /) > > > {print "$_\n";} > > > elsif (/select_one/) > > > {} > > > else #it's an <option> that we want > > > { > > > /(<.*?>.*):.*(<.*?>)/; > > > > > > print "\t\t\t\t\t$1$2\n"; > > > } > > > } > > > > > > print " > > > > </select> > > > </td> > > > > <td bgcolor=AD6200><input type=submit value=\"Submit\"></form></td> > > > </table> > > > </td> > > > </tr> > > > "; > > > > > > $dbh->disconnect(); > > > } #end if username == "admin" > > > else > > > { > > > print " > > > <tr> > > > <td colspan=2> > > > <b><font > color=red><center> > > > ERROR: you > are not allowed access to this page > > > </center></font></b> > > > </td> > > > </tr> > > > </table> > > > "; > > > } > > > } > > > } #end else > > > > > >print <<HTMLSTUFF; > > > <tr> > > > <td colspan=2> > > > <p> > > > <form > action="edit_teams.pl" method="get"> > > > > <input type=hidden name=username value=@username[1]> > > > > <input type=hidden name=password value=@password[1]> > > > > <input type="Submit" value="Reload Page"> > > > </form> > > > </td> > > > </tr> > > > </td> > > > </tr> > > > </table> > > > </body> > > > </html> > > > > > >HTMLSTUFF > > >; > > >
