Ezilon.com - Target Your Audience, be Seen in Your Region

form action isnt working

You are viewing this site as a guest. Join our community to get your questions answered and share knowledge. Active members may advertise and ask for a website critique.

They have: 314 posts

Joined: Nov 1999

hello,

i am working on a script and to make it simple to set up I am making it in one file. i am making it give the illusion of many different areas by using:

BEGIN {
use CGI::Carp qw(fatalsToBrowser);
}

use CGI qw(param header);
print header;

$section = param('section');
$function = $input{'function'};

if ($section eq "admin") { &admin; }
if ($section eq "") { &default; }

'

This works fine. I can link to other areas by using http://www.whatever.com/cgi-bin/scriptname.cgi?section=name

But when i try to use exactly the same technique for a form (the action is [url]http://www.whatever.com/cgi-bin/scriptname.cgi?section=name)[/url] it wont work and simply returns the default view.

to try and get around this i did:

if ($section eq "createheader") {
   if ($function eq "post") {
     &createheader;
}
}

'

but it still wont work and brings up the default view.

Does anyoneknow wghat's happening?? This is about the 3rd time i have restarted and i am getting stressed with it.

cheers

They have: 45 posts

Joined: Aug 2000

I do it this way:

#!/usr/bin/perl

print "Content-type: text/html\n\n"; #content is html

#get the varibles that are incoming!
if ($ENV{"REQUEST_METHOD"} eq "GET") {
$input = $ENV{QUERY_STRING};
@pairs = split /\&/ , $input;

foreach $pair (@pairs) {
($name,$value) = split(/=/,$pair);
$value =~ tr/+/ /;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C",hex($1))/eg;
$form{$name} = $value;
}
} else {
read(STDIN,$buffer,$ENV{'CONTENT_LENGTH'});
@pairs = split(/&/,$buffer);
foreach $pair (@pairs) {
($name,$value) = split(/=/,$pair);
$value =~ tr/+/ /;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C",hex($1))/eg;
$form{$name} = $value;
}
}

$action = $form{'action'};

#Begin the process
if ($action eq "something") {

#do this

} elsif ($action eq "somethingelse") {

#do this

}

#end

-if you wanted to access different parts you would type in myscript.pl(or .cgi)?action=something

[Edited by Laguna Loire on 08-05-2000 at 02:32 PM]

Laguna Loire
Site Director: Laguna's Jukebox (http://jukebox.3dstream.net)
Site Admin: RPGBoards (http://rpgboards.3dstream.net)

They have: 193 posts

Joined: Feb 2000

BEGIN {
use CGI::Carp qw(fatalsToBrowser);
}

use CGI qw(param header);
print header;

$section = param('section');
$function = param{'function'};

if ($section eq "admin") { &admin; }
elsif ($section eq "user") { &user; }
else { &default; }
exit;

'

I see no reason why the above code, as edited by myself, woudn't work. Wink Try, tell me if it doesn't. If it doesn't, please post your whole script...

Richard

richard@brevig.com

Everyone here has a website. It's just that not all are worth posting (Mine! Smiling).