My domain is being hosted on an NT server, so I can't chmod it
unfortunately. As for my hoster, they're called NEXTwebhosting.
Thanks,
Nick
> -----Original Message-----
> From: John Day [mailto:[EMAIL PROTECTED]]
> Sent: June 24, 2002 11:52 AM
> To: DBI-Users
> Subject: Re: need execute perms?
>
>
> 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
> >;