in reply to Retrieving Check Box Parameters

As documented in CGI
my $checkbox = param($word[0]);
Note: You should use qq instead of "" for your strings anytime that double quotes will be enclosed in the value. Saves you from having to escape them:
#!/usr/bin/perl #cgi lib, no need to parse form use strict; use warnings; use CGI qw(:standard); print header(); print start_html("Available Classes"); print qq{<form action="EnrollStudentPL.cgi" method="POST">}; my $infile = "/home/ajb004/public_html/arabic.txt"; open my $fh, $infile or die $!; while (<$fh>) { s/_/ /g; my @word = split ','; print qq{<input type="checkbox" name="$word[0]" value="on"> $word[ +0]<br>}; print qq{$word[1] <br>}; print qq{$word[2] <br>}; print qq{$word[3] <br>}; } close $fh or die $!; print qq{<table border="0">}; print qq{<tr>}; print qq{ <td> Enter your University ID number: </td>}; print qq{ <td><input type="text" size="20" name="ID"></td>}; print qq{</tr>}; print qq{</table>}; print qq{<input type="submit" value="Enroll">}; print end_html();

Replies are listed 'Best First'.
Re^2: Retrieving Check Box Parameters
by ajbrewe (Novice) on Apr 28, 2011 at 02:17 UTC

    I don't understand my $checkbox = param($word[0]). Let's say I've just hit the submit button and I'm in EnrollStudentsPL.cgi. I'm trying to use if else statements so that I can say "if arabic was checked then do this/ else do nothing". Using $word[0] as the parameter doesn't work because I'm using a subroutine to make each checkbox for over 15 classes. I've tried tried to use things such as "my $checkbox = param('ARAB_1016') (ARAB_1016 is what $word[0] would be equal to on its first pass through the subroutine) and then using if $checkbox.length > 0 to see if it was checked (that was recommended by an online source I found) however nothing I've tried to that effect works, and was wondering what the actual syntax I would need to use in "EnrollStudentsPL.cgi" so that I could see which of the classes was checked.

      Since you're using dynamic keys, you'll have to pull those keys when the user does a post to your form

      #!/usr/bin/perl #cgi lib, no need to parse form use strict; use warnings; use CGI qw(:standard); my $infile = "/home/ajb004/public_html/arabic.txt"; print header(); print start_html("Available Classes"); if (request_method() eq 'POST') { open my $fh, $infile or die $!; while (<$fh>) { s/_/ /g; my @word = split ','; my $result = param($word[0]) ? 'checked' : 'not checked'; print qq{$word[0]: $result<br>}; } close $fh or die $!; } else { print qq{<form action="EnrollStudentPL.cgi" method="POST">}; open my $fh, $infile or die $!; while (<$fh>) { s/_/ /g; my @word = split ','; print qq{<input type="checkbox" name="$word[0]" value="on"> $w +ord[0]<br>}; } close $fh or die $!; print qq{<input type="submit" value="Enroll">}; } print end_html();