My dear Monks, I would like to ask for some advice on this quiz script: This script let's you create a quiz online. The problem is that when it generates the html it needs to have a unique name, what I'd like it to do would be to overwrite the existing, or previous generated html file, or better to have the added option in the interface. The other thing, I would like it to write all fonts in arial. thanks in advance
#!/usr/local/bin/perl $password = "test"; $quizmastercgilocation = "http://www.mydomain.com/cgi-bin/quizmaster.c +gi"; $quizcgilocation = "http://www.mydomain.com/cgi-bin/quiz.cgi"; $quizhtmldirectory = "/usr/home/mydomainname/public_html/quiz"; $quizhtmldirectoryurl = "http://www.mydomain.com/quiz"; read(STDIN, $input, $ENV{'CONTENT_LENGTH'}); # split the input @pairs = split(/&/, $input); # split the name/value pairs foreach $pair (@pairs) { ($name, $value) = split(/=/, $pair); $name =~ tr/+/ /; $name =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg; $value =~ tr/+/ /; $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg; $value =~ s/<([^>]|\n)*>//g; $FORM{$name} = $value; } #translate form input into scalar variables $pass = $FORM{'pass'}; $title = $FORM{'title'}; $nowwhat = $FORM{'nowwhat'}; $lessthanhalf = $FORM{'lessthanhalf'}; $morethanhalf = $FORM{'morethanhalf'}; $reallygood = $FORM{'reallygood'}; $emailyesorno = $FORM{'emailyesorno'}; $email = $FORM{'email'}; $returnlinkurl = $FORM{'returnlinkurl'}; $returnlinktext = $FORM{'returnlinktext'}; $again = $FORM{'again'}; $colororimage = $FORM{'colororimage'}; #0 for BGimage 1 for BGcolor $bgcolor = $FORM{'bgcolor'}; $bgimageurl = $FORM{'bgimageurl'}; $textcolor = $FORM{'textcolor'}; $linkcolor = $FORM{'linkcolor'}; $vlinkcolor = $FORM{'vlinkcolor'}; $alinkcolor = $FORM{'alinkcolor'}; $numques = $FORM{'numques'}; $leadingtext = $FORM{'leadingtext'}; $trailingtext = $FORM{'trailingtext'}; $onemoretime = $FORM{'onemoretime'}; $filename = $FORM{'filename'}; $ques1 = $FORM{'ques1'}; $q1ans = $FORM{'q1ans'}; $q1opt1 = $FORM{'q1opt1'}; $q1opt2 = $FORM{'q1opt2'}; $q1opt3 = $FORM{'q1opt3'}; $q1opt4 = $FORM{'q1opt4'}; $q1opt5 = $FORM{'q1opt5'}; $q1opt6 = $FORM{'q1opt6'}; $ques2 = $FORM{'ques2'}; $q2ans = $FORM{'q2ans'}; $q2opt1 = $FORM{'q2opt1'}; $q2opt2 = $FORM{'q2opt2'}; $q2opt3 = $FORM{'q2opt3'}; $q2opt4 = $FORM{'q2opt4'}; $q2opt5 = $FORM{'q2opt5'}; $q2opt6 = $FORM{'q2opt6'}; $ques3 = $FORM{'ques3'}; $q3ans = $FORM{'q3ans'}; $q3opt1 = $FORM{'q3opt1'}; $q3opt2 = $FORM{'q3opt2'}; $q3opt3 = $FORM{'q3opt3'}; $q3opt4 = $FORM{'q3opt4'}; $q3opt5 = $FORM{'q3opt5'}; $q3opt6 = $FORM{'q3opt6'}; $ques4 = $FORM{'ques4'}; $q4ans = $FORM{'q4ans'}; $q4opt1 = $FORM{'q4opt1'}; $q4opt2 = $FORM{'q4opt2'}; $q4opt3 = $FORM{'q4opt3'}; $q4opt4 = $FORM{'q4opt4'}; $q4opt5 = $FORM{'q4opt5'}; $q4opt6 = $FORM{'q4opt6'}; $ques5 = $FORM{'ques5'}; $q5ans = $FORM{'q5ans'}; $q5opt1 = $FORM{'q5opt1'}; $q5opt2 = $FORM{'q5opt2'}; $q5opt3 = $FORM{'q5opt3'}; $q5opt4 = $FORM{'q5opt4'}; $q5opt5 = $FORM{'q5opt5'}; $q5opt6 = $FORM{'q5opt6'}; $ques6 = $FORM{'ques6'}; $q6ans = $FORM{'q6ans'}; $q6opt1 = $FORM{'q6opt1'}; $q6opt2 = $FORM{'q6opt2'}; $q6opt3 = $FORM{'q6opt3'}; $q6opt4 = $FORM{'q6opt4'}; $q6opt5 = $FORM{'q6opt5'}; $q6opt6 = $FORM{'q6opt6'}; $ques7 = $FORM{'ques7'}; $q7ans = $FORM{'q7ans'}; $q7opt1 = $FORM{'q7opt1'}; $q7opt2 = $FORM{'q7opt2'}; $q7opt3 = $FORM{'q7opt3'}; $q7opt4 = $FORM{'q7opt4'}; $q7opt5 = $FORM{'q7opt5'}; $q7opt6 = $FORM{'q7opt6'}; $ques8 = $FORM{'ques8'}; $q8ans = $FORM{'q8ans'}; $q8opt1 = $FORM{'q8opt1'}; $q8opt2 = $FORM{'q8opt2'}; $q8opt3 = $FORM{'q8opt3'}; $q8opt4 = $FORM{'q8opt4'}; $q8opt5 = $FORM{'q8opt5'}; $q8opt6 = $FORM{'q8opt6'}; $ques9 = $FORM{'ques9'}; $q9ans = $FORM{'q9ans'}; $q9opt1 = $FORM{'q9opt1'}; $q9opt2 = $FORM{'q9opt2'}; $q9opt3 = $FORM{'q9opt3'}; $q9opt4 = $FORM{'q9opt4'}; $q9opt5 = $FORM{'q9opt5'}; $q9opt6 = $FORM{'q9opt6'}; $ques10 = $FORM{'ques10'}; $q10ans = $FORM{'q10ans'}; $q10opt1 = $FORM{'q10opt1'}; $q10opt2 = $FORM{'q10opt2'}; $q10opt3 = $FORM{'q10opt3'}; $q10opt4 = $FORM{'q10opt4'}; $q10opt5 = $FORM{'q10opt5'}; $q10opt6 = $FORM{'q10opt6'}; $ques11 = $FORM{'ques11'}; $q11ans = $FORM{'q11ans'}; $q11opt1 = $FORM{'q11opt1'}; $q11opt2 = $FORM{'q11opt2'}; $q11opt3 = $FORM{'q11opt3'}; $q11opt4 = $FORM{'q11opt4'}; $q11opt5 = $FORM{'q11opt5'}; $q11opt6 = $FORM{'q11opt6'}; $ques12 = $FORM{'ques12'}; $q12ans = $FORM{'q12ans'}; $q12opt1 = $FORM{'q12opt1'}; $q12opt2 = $FORM{'q12opt2'}; $q12opt3 = $FORM{'q12opt3'}; $q12opt4 = $FORM{'q12opt4'}; $q12opt5 = $FORM{'q12opt5'}; $q12opt6 = $FORM{'q12opt6'}; $ques13 = $FORM{'ques13'}; $q13ans = $FORM{'q13ans'}; $q13opt1 = $FORM{'q13opt1'}; $q13opt2 = $FORM{'q13opt2'}; $q13opt3 = $FORM{'q13opt3'}; $q13opt4 = $FORM{'q13opt4'}; $q13opt5 = $FORM{'q13opt5'}; $q13opt6 = $FORM{'q13opt6'}; $ques14 = $FORM{'ques14'}; $q14ans = $FORM{'q14ans'}; $q14opt1 = $FORM{'q14opt1'}; $q14opt2 = $FORM{'q14opt2'}; $q14opt3 = $FORM{'q14opt3'}; $q14opt4 = $FORM{'q14opt4'}; $q14opt5 = $FORM{'q14opt5'}; $q14opt6 = $FORM{'q14opt6'}; $ques15 = $FORM{'ques15'}; $q15ans = $FORM{'q15ans'}; $q15opt1 = $FORM{'q15opt1'}; $q15opt2 = $FORM{'q15opt2'}; $q15opt3 = $FORM{'q15opt3'}; $q15opt4 = $FORM{'q15opt4'}; $q15opt5 = $FORM{'q15opt5'}; $q15opt6 = $FORM{'q15opt6'}; $ques16 = $FORM{'ques16'}; $q16ans = $FORM{'q16ans'}; $q16opt1 = $FORM{'q16opt1'}; $q16opt2 = $FORM{'q16opt2'}; $q16opt3 = $FORM{'q16opt3'}; $q16opt4 = $FORM{'q16opt4'}; $q16opt5 = $FORM{'q16opt5'}; $q16opt6 = $FORM{'q16opt6'}; $ques17 = $FORM{'ques17'}; $q17ans = $FORM{'q17ans'}; $q17opt1 = $FORM{'q17opt1'}; $q17opt2 = $FORM{'q17opt2'}; $q17opt3 = $FORM{'q17opt3'}; $q17opt4 = $FORM{'q17opt4'}; $q17opt5 = $FORM{'q17opt5'}; $q17opt6 = $FORM{'q17opt6'}; $ques18 = $FORM{'ques18'}; $q18ans = $FORM{'q18ans'}; $q18opt1 = $FORM{'q18opt1'}; $q18opt2 = $FORM{'q18opt2'}; $q18opt3 = $FORM{'q18opt3'}; $q18opt4 = $FORM{'q18opt4'}; $q18opt5 = $FORM{'q18opt5'}; $q18opt6 = $FORM{'q18opt6'}; $ques19 = $FORM{'ques19'}; $q19ans = $FORM{'q19ans'}; $q19opt1 = $FORM{'q19opt1'}; $q19opt2 = $FORM{'q19opt2'}; $q19opt3 = $FORM{'q19opt3'}; $q19opt4 = $FORM{'q19opt4'}; $q19opt5 = $FORM{'q19opt5'}; $q19opt6 = $FORM{'q19opt6'}; $ques20 = $FORM{'ques20'}; $q20ans = $FORM{'q20ans'}; $q20opt1 = $FORM{'q20opt1'}; $q20opt2 = $FORM{'q20opt2'}; $q20opt3 = $FORM{'q20opt3'}; $q20opt4 = $FORM{'q20opt4'}; $q20opt5 = $FORM{'q20opt5'}; $q20opt6 = $FORM{'q20opt6'}; $ques21 = $FORM{'ques21'}; $q21ans = $FORM{'q21ans'}; $q21opt1 = $FORM{'q21opt1'}; $q21opt2 = $FORM{'q21opt2'}; $q21opt3 = $FORM{'q21opt3'}; $q21opt4 = $FORM{'q21opt4'}; $q21opt5 = $FORM{'q21opt5'}; $q21opt6 = $FORM{'q21opt6'}; $ques22 = $FORM{'ques22'}; $q22ans = $FORM{'q22ans'}; $q22opt1 = $FORM{'q22opt1'}; $q22opt2 = $FORM{'q22opt2'}; $q22opt3 = $FORM{'q22opt3'}; $q22opt4 = $FORM{'q22opt4'}; $q22opt5 = $FORM{'q22opt5'}; $q22opt6 = $FORM{'q22opt6'}; $ques23 = $FORM{'ques23'}; $q23ans = $FORM{'q23ans'}; $q23opt1 = $FORM{'q23opt1'}; $q23opt2 = $FORM{'q23opt2'}; $q23opt3 = $FORM{'q23opt3'}; $q23opt4 = $FORM{'q23opt4'}; $q23opt5 = $FORM{'q23opt5'}; $q23opt6 = $FORM{'q23opt6'}; $ques24 = $FORM{'ques24'}; $q24ans = $FORM{'q24ans'}; $q24opt1 = $FORM{'q24opt1'}; $q24opt2 = $FORM{'q24opt2'}; $q24opt3 = $FORM{'q24opt3'}; $q24opt4 = $FORM{'q24opt4'}; $q24opt5 = $FORM{'q24opt5'}; $q24opt6 = $FORM{'q24opt6'}; $ques25 = $FORM{'ques25'}; $q25ans = $FORM{'q25ans'}; $q25opt1 = $FORM{'q25opt1'}; $q25opt2 = $FORM{'q25opt2'}; $q25opt3 = $FORM{'q25opt3'}; $q25opt4 = $FORM{'q25opt4'}; $q25opt5 = $FORM{'q25opt5'}; $q25opt6 = $FORM{'q25opt6'}; #Start our login page unless($pass eq $password){ print "Content-type: text/html\n\n"; print "<HTML><HEAD><TITLE>Quizmaster</TITLE></HEAD>\n"; print "<BODY BGCOLOR=WHITE TEXT=BLACK>\n"; print "<CENTER><H1>Quizmaster Login</H1>\n"; print "Please submit the quizmaster password\n"; print "<FORM ACTION=\"$quizmastercgilocation\" METHOD=POST>\n"; print "<INPUT TYPE=TEXT SIZE=\"30\" NAME=\"pass\">\n"; print "<INPUT TYPE=SUBMIT VALUE=\"SUBMIT PASSWORD\">\n"; print "</FORM>\n"; &endhtml; exit; } #Create our first configuration page unless($nowwhat eq "setup"){ print "Content-type: text/html\n\n"; print "<HTML><HEAD><TITLE>Quizmaster</TITLE></HEAD>\n"; print "<BODY BGCOLOR=WHITE TEXT=BLACK>\n"; print "<CENTER><H1>Quizmaster Configuration Part 1</H1>\n"; print "<FORM ACTION=\"$quizmastercgilocation\" METHOD=POST>\n"; print "<INPUT TYPE=HIDDEN NAME=\"pass\" VALUE=\"$pass\">\n"; print "<INPUT TYPE=HIDDEN NAME=\"nowwhat\" VALUE=\"setup\">\n"; print "<TABLE BORDER=3><TR>\n"; print "<TD>1)\&nbsp\;What is the title of your quiz??</TD>\n"; print "<TD><INPUT TYPE=TEXT SIZE=20 NAME=\"title\"></TD></TR>\n"; print "<TR><TD>2)\&nbsp\;Would you like to use a backround image ( +wallpaper),\n"; print "or a solid background color for your quiz??</TD>\n"; print "<TD><INPUT TYPE=RADIO NAME=\"colororimage\" VALUE=\"1\">Ima +ge\&nbsp\;\n"; print "<INPUT TYPE=RADIO NAME=\"colororimage\" VALUE=\"0\" CHECKED +>Color</TD></TR>\n"; print "<TR><TD>3)\&nbsp\;What text color would you like to use??</ +TD><TD>\n"; print "<INPUT TYPE=RADIO NAME=\"textcolor\" VALUE=\"black\">black< +BR>\n"; print "<INPUT TYPE=RADIO NAME=\"textcolor\" VALUE=\"red\">red<BR>\ +n"; print "<INPUT TYPE=RADIO NAME=\"textcolor\" VALUE=\"darkblue\" CHE +CKED>darkblue<BR>\n"; print "<INPUT TYPE=RADIO NAME=\"textcolor\" VALUE=\"green\">green< +BR>\n"; print "<INPUT TYPE=RADIO NAME=\"textcolor\" VALUE=\"yellow\">yello +w<BR>\n"; print "<INPUT TYPE=RADIO NAME=\"textcolor\" VALUE=\"white\">white< +BR></TD></TR>\n"; print "<TR><TD>4)\&nbsp\;What link color would you like to use??</ +TD><TD>\n"; print "<INPUT TYPE=RADIO NAME=\"linkcolor\" VALUE=\"black\">black< +BR>\n"; print "<INPUT TYPE=RADIO NAME=\"linkcolor\" VALUE=\"red\" CHECKED> +red<BR>\n"; print "<INPUT TYPE=RADIO NAME=\"linkcolor\" VALUE=\"darkblue\">dar +kblue<BR>\n"; print "<INPUT TYPE=RADIO NAME=\"linkcolor\" VALUE=\"green\">green< +BR>\n"; print "<INPUT TYPE=RADIO NAME=\"linkcolor\" VALUE=\"yellow\">yello +w<BR>\n"; print "<INPUT TYPE=RADIO NAME=\"linkcolor\" VALUE=\"white\">white< +BR></TD></TR>\n"; print "<TR><TD>5)\&nbsp\;What visited (vlink) color would you like + to use??</TD><TD>\n"; print "<INPUT TYPE=RADIO NAME=\"vlinkcolor\" VALUE=\"black\">black +<BR>\n"; print "<INPUT TYPE=RADIO NAME=\"vlinkcolor\" VALUE=\"red\" CHECKED +>red<BR>\n"; print "<INPUT TYPE=RADIO NAME=\"vlinkcolor\" VALUE=\"darkblue\">da +rkblue<BR>\n"; print "<INPUT TYPE=RADIO NAME=\"vlinkcolor\" VALUE=\"green\">green +<BR>\n"; print "<INPUT TYPE=RADIO NAME=\"vlinkcolor\" VALUE=\"yellow\">yell +ow<BR>\n"; print "<INPUT TYPE=RADIO NAME=\"vlinkcolor\" VALUE=\"white\">white +<BR></TD></TR>\n"; print "<TR><TD>6)\&nbsp\;What active (alink) color would you like +to use??</TD><TD>\n"; print "<INPUT TYPE=RADIO NAME=\"alinkcolor\" VALUE=\"black\">black +<BR>\n"; print "<INPUT TYPE=RADIO NAME=\"alinkcolor\" VALUE=\"red\" CHECKED +>red<BR>\n"; print "<INPUT TYPE=RADIO NAME=\"alinkcolor\" VALUE=\"darkblue\">da +rkblue<BR>\n"; print "<INPUT TYPE=RADIO NAME=\"alinkcolor\" VALUE=\"green\">green +<BR>\n"; print "<INPUT TYPE=RADIO NAME=\"alinkcolor\" VALUE=\"yellow\">yell +ow<BR>\n"; print "<INPUT TYPE=RADIO NAME=\"alinkcolor\" VALUE=\"white\">white +<BR></TD></TR>\n"; print "<TR><TD>7)\&nbsp\;What message would you like to use to con +gratulate the user upon getting 50\% or less correct??</TD>\n"; print "<TD><INPUT TYPE=TEXT SIZE=30 NAME=\"lessthanhalf\"></TD></T +R>\n"; print "<TR><TD>8)\&nbsp\;What message would you like to use to con +gratulate the user upon getting 50 - 80\% correct??</TD>\n"; print "<TD><INPUT TYPE=TEXT SIZE=30 NAME=\"morethanhalf\"></TD></T +R>\n"; print "<TR><TD>9)\&nbsp\;What message would you like to use to con +gratulate the user upon getting 80\% correct or better??</TD>\n"; print "<TD><INPUT TYPE=TEXT SIZE=30 NAME=\"reallygood\"></TD></TR> +\n"; print "<TR><TD>10)\&nbsp\;Would you like to have the users results + emailed to someone?</TD>\n"; print "<TD><INPUT TYPE=RADIO NAME=\"emailyesorno\" VALUE=\"0\" CHE +CKED>No\&nbsp\;\n"; print "<INPUT TYPE=RADIO NAME=\"emailyesorno\" VALUE=\"1\">Yes</TD +></TR>\n"; print "<TR><TD>11)\&nbsp\;Quiz puts a return link at the bottom of + its pages, what URL would you like to use??(Start with http://)</TD> +\n"; print "<TD><INPUT TYPE=TEXT SIZE=30 NAME=\"returnlinkurl\"></TD></ +TR>\n"; print "<TR><TD>12)\&nbsp\;What text would you like linked to the r +eturnlink url??</TD>\n"; print "<TD><INPUT TYPE=TEXT SIZE=30 NAME=\"returnlinktext\"></TD>< +/TR>\n"; print "<TR><TD>13)\&nbsp\;How many questions do you wish to have i +n your quiz (You may have up to 25)??</TD>\n"; print "<TD><INPUT TYPE=TEXT SIZE=3 NAME=\"numques\"></TD></TR>\n"; + print "</TABLE><BR><INPUT TYPE=SUBMIT VALUE=\"OK, Done with this p +art, take me to the next page\">\n"; &endhtml; exit; } ##This is our second config page unless($again eq "preview"){ @names = ("pass", "title", "nowwhat", "lessthanhalf", "morethanhal +f", "reallygood", "emailyesorno", "returnlinkurl", "returnlinktext", +"colororimage", "textcolor", "linkcolor", "vlinkcolor", "alinkcolor", + "numques"); @values = ($pass, $title, $nowwhat, $lessthanhalf, $morethanhalf, +$reallygood, $emailyesorno, $returnlinkurl, $returnlinktext, $coloror +image, $textcolor, $linkcolor, $vlinkcolor, $alinkcolor, $numques); print "Content-type: text/html\n\n"; print "<HTML><HEAD><TITLE>Quizmaster</TITLE></HEAD>\n"; print "<BODY BGCOLOR=WHITE TEXT=BLACK>\n"; print "<CENTER><H1>$title Configuration Part 2</H1>\n"; print "<FORM ACTION=\"$quizmastercgilocation\" METHOD=POST>\n"; print "<INPUT TYPE=HIDDEN NAME=\"again\" VALUE=\"preview\">\n"; $fieldcount = 0; while($fieldcount <= 15){ $getaname = shift(@names); $getavalue = shift(@values); print "<INPUT TYPE=HIDDEN NAME=\"$getaname\" VALUE=\"$getavalu +e\">\n"; ++$fieldcount; } print "<TABLE BORDER=3>\n"; if($colororimage == 0){ print "<TR><TD>What is the url of the background image (wallpa +per) you'd like to use (start with http://)??</TD>\n"; print "<TD><INPUT TYPE=TEXT SIZE=30 NAME=\"bgimageurl\"></TD>< +/TR>\n"; } else{ print "<TR><TD>What background color would you like to use??</ +TD><TD>\n"; print "<INPUT TYPE=RADIO NAME=\"bgcolor\" VALUE=\"black\">blac +k<BR>\n"; print "<INPUT TYPE=RADIO NAME=\"bgcolor\" VALUE=\"red\">red<BR +>\n"; print "<INPUT TYPE=RADIO NAME=\"bgcolor\" VALUE=\"darkblue\">d +arkblue<BR>\n"; print "<INPUT TYPE=RADIO NAME=\"bgcolor\" VALUE=\"green\">gree +n<BR>\n"; print "<INPUT TYPE=RADIO NAME=\"bgcolor\" VALUE=\"yellow\">yel +low<BR>\n"; print "<INPUT TYPE=RADIO NAME=\"bgcolor\" VALUE=\"white\" CHEC +KED>white<BR></TD></TR>\n"; } if($emailyesorno == 1){ print "<TR><TD>What is the email address of the person you'd l +ike the quiz results mailed to??</TD>\n"; print "<TD><INPUT TYPE=TEXT SIZE=30 NAME=\"email\"></TD></TR>\ +n"; } $quescount = 0; while($quescount < $numques){ ++$quescount; print "<TR><TD>Type question number $quescount here\.</TD>\n"; print "<TD><INPUT TYPE=TEXT SIZE=30 NAME=\"ques$quescount\"></ +TD></TR>\n"; print "<TR><TD>Type the CORRECT answer to Question $quescount +here\.</TD>\n"; print ("<TD><INPUT TYPE=TEXT SIZE=30 NAME=\"q" . "$quescount" +. "ans\"></TD></TR>\n"); print "<TR><TD>Type 6 more incorrect options for Question $que +scount\.</TD>\n"; print ("<TD><INPUT TYPE=TEXT SIZE=30 NAME=\"q" . "$quescount" +. "opt1\"><BR>\n"); print ("<INPUT TYPE=TEXT SIZE=30 NAME=\"q" . "$quescount" . "o +pt2\"><BR>\n"); print ("<INPUT TYPE=TEXT SIZE=30 NAME=\"q" . "$quescount" . "o +pt3\"><BR>\n"); print ("<INPUT TYPE=TEXT SIZE=30 NAME=\"q" . "$quescount" . "o +pt4\"><BR>\n"); print ("<INPUT TYPE=TEXT SIZE=30 NAME=\"q" . "$quescount" . "o +pt5\"><BR>\n"); print ("<INPUT TYPE=TEXT SIZE=30 NAME=\"q" . "$quescount" . "o +pt6\"></TD></TR>\n"); } print "<TR><TD>Put some leading text (shows up right after the hea +ding) here\.</TD>\n"; print "<TD><INPUT TYPE=TEXT SIZE=30 NAME=\"leadingtext\"></TD></TR +>\n"; print "<TR><TD>Put some trailing text (shows up right at the botto +m) here\.</TD>\n"; print "<TD><INPUT TYPE=TEXT SIZE=30 NAME=\"trailingtext\"></TD></T +R>\n"; print "<TR><TD>Enter a filename for your quiz (one word, alphanume +ric only please)</TD>\n"; print "<TD><INPUT TYPE=TEXT SIZE=30 NAME=\"filename\"></TD></TR>\n +"; print "</TABLE><BR>\n"; print "<INPUT TYPE=SUBMIT VALUE=\"NEXT\"></FORM>\n"; &endhtml; exit; } #Now let's preview the quiz page and give them the option of writing t +he page ##Check the filename the user chose, to see if it already exists $fullpathname = "$quizhtmldirectory" . "/" . "$filename" . ".html"; if(-e $fullpathname){ print "Content-type: text/html\n\n"; print "<HTML><HEAD><TITLE>Quizmaster</TITLE></HEAD>\n"; print "<BODY BGCOLOR=WHITE TEXT=BLACK>\n"; print "<H1>OOPS!!</H1><HR>\n"; print "The filename you chose is already taken\, please use your b +rowser\'s BACK button, and choose a new one\.\n"; &endhtml; exit; } ##Check the filnename for undesirable characters. if($filename =~ /\W|\.|\s/){ print "Content-type: text/html\n\n"; print "<HTML><HEAD><TITLE>Quizmaster</TITLE></HEAD>\n"; print "<BODY BGCOLOR=WHITE TEXT=BLACK>\n"; print "<H1>OOPS!!</H1><HR>\n"; print "The filename you chose has some undesirable characters\, pl +ease use your browser\'s BACK button, and choose a new one\.\n"; &endhtml; exit; } unless($onemoretime eq "makepage"){ $whattodo = "confirm"; &starthtml; print "<HR>This is exactly how your quiz will look, if you need to + make any changes, you can use your browser\'s BACK button, and make +them now\. You may also answer the questions, and test the Quiz\.<BR> +\n"; print "When you are sure you have everything the way you want it\, + you must click the WRITE QUIZ PAGE button to create your quiz page o +n this server\. You\'ll be given a URL for your quiz page at that tim +e\.<HR>\n"; print "<CENTER><H1>$title</H1>\n"; print "$leadingtext\n"; print "<FORM ACTION=\"$quizcgilocation\" METHOD=POST>\n"; ##Pass the variables back to the form, so they can be passed back agai +n. @names = ("title", "filename", "whattodo", "bgimageurl", "bgcolor" +, "lessthanhalf", "morethanhalf", "reallygood", "emailyesorno", "emai +l", "returnlinkurl", "returnlinktext", "colororimage", "textcolor", " +linkcolor", "vlinkcolor", "alinkcolor", "numques", "q1ans", "q2ans", +"q3ans", "q4ans", "q5ans", "q6ans", "q7ans", "q8ans", "q9ans", "q10an +s", "q11ans", "q12ans", "q13ans", "q14ans", "q15ans", "q16ans", "q17a +ns", "q18ans", "q19ans", "q20ans", "q21ans", "q22ans", "q23ans", "q24 +ans", "q25ans"); @values = ($title, $filename, $whattodo, $bgimageurl, $bgcolor, $l +essthanhalf, $morethanhalf, $reallygood, $emailyesorno, $email, $retu +rnlinkurl, $returnlinktext, $colororimage, $textcolor, $linkcolor, $v +linkcolor, $alinkcolor, $numques, $q1ans, $q2ans, $q3ans, $q4ans, $q5 +ans, $q6ans, $q7ans, $q8ans, $q9ans, $q10ans, $q11ans, $q12ans, $q13a +ns, $q14ans, $q15ans, $q16ans, $q17ans, $q18ans, $q19ans, $q20ans, $q +21ans, $q22ans, $q23ans, $q24ans, $q25ans); $fieldcount = "0"; while($fieldcount <= 43){ $getaname = shift(@names); $getavalue = shift(@values); print "<INPUT TYPE=HIDDEN NAME=\"$getaname\" VALUE=\"$getavalu +e\">\n"; ++$fieldcount; } print "<TABLE BORDER=0>\n"; print "<TR><TD>Your Name: (optional)</TD><TD><INPUT TYPE=TEXT SIZE +=30 NAME=\"username\"></TD></TR>\n"; print "<TR><TD>Your Email Address: (optional)</TD><TD><INPUT TYPE= +TEXT SIZE=30 NAME=\"useremail\"></TD></TR>\n"; #####Here are the question routines for the preview page. if($numques >= 1){ print "<TR><TD>1) $ques1</TD>\n"; print "<TD><SELECT NAME=\"q1res\"><OPTION SELECTED>\n"; print "<OPTION>$q1opt1\n"; print "<OPTION>$q1opt2\n"; print "<OPTION>$q1opt3\n"; print "<OPTION>$q1ans\n"; print "<OPTION>$q1opt4\n"; print "<OPTION>$q1opt5\n"; print "<OPTION>$q1opt6\n"; print "</SELECT>\n"; } if($numques >= 2){ print "<TR><TD>2) $ques2</TD>\n"; print "<TD><SELECT NAME=\"q2res\"><OPTION SELECTED>\n"; print "<OPTION>$q2opt1\n"; print "<OPTION>$q2opt2\n"; print "<OPTION>$q2opt3\n"; print "<OPTION>$q2opt4\n"; print "<OPTION>$q2opt5\n"; print "<OPTION>$q2opt6\n"; print "<OPTION>$q2ans\n"; print "</SELECT>\n"; } if($numques >= 3){ print "<TR><TD>3) $ques3</TD>\n"; print "<TD><SELECT NAME=\"q3res\"><OPTION SELECTED>\n"; print "<OPTION>$q3opt1\n"; print "<OPTION>$q3ans\n"; print "<OPTION>$q3opt2\n"; print "<OPTION>$q3opt3\n"; print "<OPTION>$q3opt4\n"; print "<OPTION>$q3opt5\n"; print "<OPTION>$q3opt6\n"; print "</SELECT>\n"; } if($numques >= 4){ print "<TR><TD>4) $ques4</TD>\n"; print "<TD><SELECT NAME=\"q4res\"><OPTION SELECTED>\n"; print "<OPTION>$q4ans\n"; print "<OPTION>$q4opt1\n"; print "<OPTION>$q4opt2\n"; print "<OPTION>$q4opt3\n"; print "<OPTION>$q4opt4\n"; print "<OPTION>$q4opt5\n"; print "<OPTION>$q4opt6\n"; print "</SELECT>\n"; } if($numques >= 5){ print "<TR><TD>5) $ques5</TD>\n"; print "<TD><SELECT NAME=\"q5res\"><OPTION SELECTED>\n"; print "<OPTION>$q5opt1\n"; print "<OPTION>$q5opt2\n"; print "<OPTION>$q5opt3\n"; print "<OPTION>$q5opt4\n"; print "<OPTION>$q5opt5\n"; print "<OPTION>$q5opt6\n"; print "<OPTION>$q5ans\n"; print "</SELECT>\n"; } if($numques >= 6){ print "<TR><TD>6) $ques6</TD>\n"; print "<TD><SELECT NAME=\"q6res\"><OPTION SELECTED>\n"; print "<OPTION>$q6opt1\n"; print "<OPTION>$q6opt2\n"; print "<OPTION>$q6opt3\n"; print "<OPTION>$q6ans\n"; print "<OPTION>$q6opt4\n"; print "<OPTION>$q6opt5\n"; print "<OPTION>$q6opt6\n"; print "</SELECT>\n"; } if($numques >= 7){ print "<TR><TD>7) $ques7</TD>\n"; print "<TD><SELECT NAME=\"q7res\"><OPTION SELECTED>\n"; print "<OPTION>$q7opt1\n"; print "<OPTION>$q7opt2\n"; print "<OPTION>$q7ans\n"; print "<OPTION>$q7opt3\n"; print "<OPTION>$q7opt4\n"; print "<OPTION>$q7opt5\n"; print "<OPTION>$q7opt6\n"; print "</SELECT>\n"; } if($numques >= 8){ print "<TR><TD>8) $ques8</TD>\n"; print "<TD><SELECT NAME=\"q8res\"><OPTION SELECTED>\n"; print "<OPTION>$q8opt1\n"; print "<OPTION>$q8opt2\n"; print "<OPTION>$q8opt3\n"; print "<OPTION>$q8opt4\n"; print "<OPTION>$q8opt5\n"; print "<OPTION>$q8ans\n"; print "<OPTION>$q8opt6\n"; print "</SELECT>\n"; } if($numques >= 9){ print "<TR><TD>9) $ques9</TD>\n"; print "<TD><SELECT NAME=\"q9res\"><OPTION SELECTED>\n"; print "<OPTION>$q9opt1\n"; print "<OPTION>$q9opt2\n"; print "<OPTION>$q9opt3\n"; print "<OPTION>$q9opt4\n"; print "<OPTION>$q9ans\n"; print "<OPTION>$q9opt5\n"; print "<OPTION>$q9opt6\n"; print "</SELECT>\n"; } if($numques >= 10){ print "<TR><TD>10) $ques10</TD>\n"; print "<TD><SELECT NAME=\"q10res\"><OPTION SELECTED>\n"; print "<OPTION>$q10opt1\n"; print "<OPTION>$q10opt2\n"; print "<OPTION>$q10ans\n"; print "<OPTION>$q10opt3\n"; print "<OPTION>$q10opt4\n"; print "<OPTION>$q10opt5\n"; print "<OPTION>$q10opt6\n"; print "</SELECT>\n"; } if($numques >= 11){ print "<TR><TD>11) $ques11</TD>\n"; print "<TD><SELECT NAME=\"q11res\"><OPTION SELECTED>\n"; print "<OPTION>$q11opt1\n"; print "<OPTION>$q11opt2\n"; print "<OPTION>$q11opt3\n"; print "<OPTION>$q11ans\n"; print "<OPTION>$q11opt4\n"; print "<OPTION>$q11opt5\n"; print "<OPTION>$q11opt6\n"; print "</SELECT>\n"; } if($numques >= 12){ print "<TR><TD>12) $ques12</TD>\n"; print "<TD><SELECT NAME=\"q12res\"><OPTION SELECTED>\n"; print "<OPTION>$q12opt1\n"; print "<OPTION>$q12opt2\n"; print "<OPTION>$q12ans\n"; print "<OPTION>$q12opt3\n"; print "<OPTION>$q12opt4\n"; print "<OPTION>$q12opt5\n"; print "<OPTION>$q12opt6\n"; print "</SELECT>\n"; } if($numques >= 13){ print "<TR><TD>13) $ques13</TD>\n"; print "<TD><SELECT NAME=\"q13res\"><OPTION SELECTED>\n"; print "<OPTION>$q13opt1\n"; print "<OPTION>$q13opt2\n"; print "<OPTION>$q13opt3\n"; print "<OPTION>$q13opt4\n"; print "<OPTION>$q13opt5\n"; print "<OPTION>$q13opt6\n"; print "<OPTION>$q13ans\n"; print "</SELECT>\n"; } if($numques >= 14){ print "<TR><TD>14) $ques14</TD>\n"; print "<TD><SELECT NAME=\"q14res\"><OPTION SELECTED>\n"; print "<OPTION>$q14opt1\n"; print "<OPTION>$q14opt2\n"; print "<OPTION>$q14opt3\n"; print "<OPTION>$q14opt4\n"; print "<OPTION>$q14opt5\n"; print "<OPTION>$q14opt6\n"; print "<OPTION>$q14ans\n"; print "</SELECT>\n"; } if($numques >= 15){ print "<TR><TD>15) $ques15</TD>\n"; print "<TD><SELECT NAME=\"q15res\"><OPTION SELECTED>\n"; print "<OPTION>$q15opt1\n"; print "<OPTION>$q15ans\n"; print "<OPTION>$q15opt2\n"; print "<OPTION>$q15opt3\n"; print "<OPTION>$q15opt4\n"; print "<OPTION>$q15opt5\n"; print "<OPTION>$q15opt6\n"; print "</SELECT>\n"; } if($numques >= 16){ print "<TR><TD>16) $ques16</TD>\n"; print "<TD><SELECT NAME=\"q16res\"><OPTION SELECTED>\n"; print "<OPTION>$q16opt1\n"; print "<OPTION>$q16opt2\n"; print "<OPTION>$q16opt3\n"; print "<OPTION>$q16opt4\n"; print "<OPTION>$q16opt5\n"; print "<OPTION>$q16opt6\n"; print "<OPTION>$q16ans\n"; print "</SELECT>\n"; } if($numques >= 17){ print "<TR><TD>17) $ques17</TD>\n"; print "<TD><SELECT NAME=\"q17res\"><OPTION SELECTED>\n"; print "<OPTION>$q17opt1\n"; print "<OPTION>$q17opt2\n"; print "<OPTION>$q17opt3\n"; print "<OPTION>$q17opt4\n"; print "<OPTION>$q17ans\n"; print "<OPTION>$q17opt5\n"; print "<OPTION>$q17opt6\n"; print "</SELECT>\n"; } if($numques >= 18){ print "<TR><TD>18) $ques18</TD>\n"; print "<TD><SELECT NAME=\"q18res\"><OPTION SELECTED>\n"; print "<OPTION>$q18opt1\n"; print "<OPTION>$q18ans\n"; print "<OPTION>$q18opt2\n"; print "<OPTION>$q18opt3\n"; print "<OPTION>$q18opt4\n"; print "<OPTION>$q18opt5\n"; print "<OPTION>$q18opt6\n"; print "</SELECT>\n"; } if($numques >= 19){ print "<TR><TD>19) $ques19</TD>\n"; print "<TD><SELECT NAME=\"q19res\"><OPTION SELECTED>\n"; print "<OPTION>$q19ans\n"; print "<OPTION>$q19opt1\n"; print "<OPTION>$q19opt2\n"; print "<OPTION>$q19opt3\n"; print "<OPTION>$q19opt4\n"; print "<OPTION>$q19opt5\n"; print "<OPTION>$q19opt6\n"; print "</SELECT>\n"; } if($numques >= 20){ print "<TR><TD>20) $ques20</TD>\n"; print "<TD><SELECT NAME=\"q20res\"><OPTION SELECTED>\n"; print "<OPTION>$q20opt1\n"; print "<OPTION>$q20opt2\n"; print "<OPTION>$q20opt3\n"; print "<OPTION>$q20opt4\n"; print "<OPTION>$q20opt5\n"; print "<OPTION>$q20ans\n"; print "<OPTION>$q20opt6\n"; print "</SELECT>\n"; } if($numques >= 21){ print "<TR><TD>21) $ques21</TD>\n"; print "<TD><SELECT NAME=\"q21res\"><OPTION SELECTED>\n"; print "<OPTION>$q21opt1\n"; print "<OPTION>$q21opt2\n"; print "<OPTION>$q21ans\n"; print "<OPTION>$q21opt3\n"; print "<OPTION>$q21opt4\n"; print "<OPTION>$q21opt5\n"; print "<OPTION>$q21opt6\n"; print "</SELECT>\n"; } if($numques >= 22){ print "<TR><TD>22) $ques22</TD>\n"; print "<TD><SELECT NAME=\"q22res\"><OPTION SELECTED>\n"; print "<OPTION>$q22opt1\n"; print "<OPTION>$q22ans\n"; print "<OPTION>$q22opt2\n"; print "<OPTION>$q22opt3\n"; print "<OPTION>$q22opt4\n"; print "<OPTION>$q22opt5\n"; print "<OPTION>$q22opt6\n"; print "</SELECT>\n"; } if($numques >= 23){ print "<TR><TD>23) $ques23</TD>\n"; print "<TD><SELECT NAME=\"q23res\"><OPTION SELECTED>\n"; print "<OPTION>$q23opt1\n"; print "<OPTION>$q23opt2\n"; print "<OPTION>$q23opt3\n"; print "<OPTION>$q23opt4\n"; print "<OPTION>$q23opt5\n"; print "<OPTION>$q23opt6\n"; print "<OPTION>$q23ans\n"; print "</SELECT>\n"; } if($numques >= 24){ print "<TR><TD>24) $ques24</TD>\n"; print "<TD><SELECT NAME=\"q24res\"><OPTION SELECTED>\n"; print "<OPTION>$q24opt1\n"; print "<OPTION>$q24opt2\n"; print "<OPTION>$q24opt3\n"; print "<OPTION>$q24opt4\n"; print "<OPTION>$q24opt5\n"; print "<OPTION>$q24ans\n"; print "<OPTION>$q24opt6\n"; print "</SELECT>\n"; } if($numques >= 25){ print "<TR><TD>25) $ques25</TD>\n"; print "<TD><SELECT NAME=\"q25res\"><OPTION SELECTED>\n"; print "<OPTION>$q25opt1\n"; print "<OPTION>$q25opt2\n"; print "<OPTION>$q25opt3\n"; print "<OPTION>$q25ans\n"; print "<OPTION>$q25opt4\n"; print "<OPTION>$q25opt5\n"; print "<OPTION>$q25opt6\n"; print "</SELECT>\n"; } print "</TABLE><BR><INPUT TYPE=SUBMIT VALUE=\"TEST YOUR QUIZ\"></F +ORM><BR>\n"; print "$trailingtext\n"; ##Create our WRITE PAGE form, after the preview form. print "<FORM ACTION=\"$quizmastercgilocation\" METHOD=POST>\n"; ####Pass the bizillions of question variables to the WRITE PAGE form. @q1ngroup = ("ques1", "q1ans", "q1opt1", "q1opt2", "q1opt3", "q1op +t4", "q1opt5", "q1opt6"); @q2ngroup = ("ques2", "q2ans", "q2opt1", "q2opt2", "q2opt3", "q2op +t4", "q2opt5", "q2opt6"); @q3ngroup = ("ques3", "q3ans", "q3opt1", "q3opt2", "q3opt3", "q3op +t4", "q3opt5", "q3opt6"); @q4ngroup = ("ques4", "q4ans", "q4opt1", "q4opt2", "q4opt3", "q4op +t4", "q4opt5", "q4opt6"); @q5ngroup = ("ques5", "q5ans", "q5opt1", "q5opt2", "q5opt3", "q5op +t4", "q5opt5", "q5opt6"); @q6ngroup = ("ques6", "q6ans", "q6opt1", "q6opt2", "q6opt3", "q6op +t4", "q6opt5", "q6opt6"); @q7ngroup = ("ques7", "q7ans", "q7opt1", "q7opt2", "q7opt3", "q7op +t4", "q7opt5", "q7opt6"); @q8ngroup = ("ques8", "q8ans", "q8opt1", "q8opt2", "q8opt3", "q8op +t4", "q8opt5", "q8opt6"); @q9ngroup = ("ques9", "q9ans", "q9opt1", "q9opt2", "q9opt3", "q9op +t4", "q9opt5", "q9opt6"); @q10ngroup = ("ques10", "q10ans", "q10opt1", "q10opt2", "q10opt3", + "q10opt4", "q10opt5", "q10opt6"); @q11ngroup = ("ques11", "q11ans", "q11opt1", "q11opt2", "q11opt3", + "q11opt4", "q11opt5", "q11opt6"); @q12ngroup = ("ques12", "q12ans", "q12opt1", "q12opt2", "q12opt3", + "q12opt4", "q12opt5", "q12opt6"); @q13ngroup = ("ques13", "q13ans", "q13opt1", "q13opt2", "q13opt3", + "q13opt4", "q13opt5", "q13opt6"); @q14ngroup = ("ques14", "q14ans", "q14opt1", "q14opt2", "q14opt3", + "q14opt4", "q14opt5", "q14opt6"); @q15ngroup = ("ques15", "q15ans", "q15opt1", "q15opt2", "q15opt3", + "q15opt4", "q15opt5", "q15opt6"); @q16ngroup = ("ques16", "q16ans", "q16opt1", "q16opt2", "q16opt3", + "q16opt4", "q16opt5", "q16opt6"); @q17ngroup = ("ques17", "q17ans", "q17opt1", "q17opt2", "q17opt3", + "q17opt4", "q17opt5", "q17opt6"); @q18ngroup = ("ques18", "q18ans", "q18opt1", "q18opt2", "q18opt3", + "q18opt4", "q18opt5", "q18opt6"); @q19ngroup = ("ques19", "q19ans", "q19opt1", "q19opt2", "q19opt3", + "q19opt4", "q19opt5", "q19opt6"); @q20ngroup = ("ques20", "q20ans", "q20opt1", "q20opt2", "q20opt3", + "q20opt4", "q20opt5", "q20opt6"); @q21ngroup = ("ques21", "q21ans", "q21opt1", "q21opt2", "q21opt3", + "q21opt4", "q21opt5", "q21opt6"); @q22ngroup = ("ques22", "q22ans", "q22opt1", "q22opt2", "q22opt3", + "q22opt4", "q22opt5", "q22opt6"); @q23ngroup = ("ques23", "q23ans", "q23opt1", "q23opt2", "q23opt3", + "q23opt4", "q23opt5", "q23opt6"); @q24ngroup = ("ques24", "q24ans", "q24opt1", "q24opt2", "q24opt3", + "q24opt4", "q24opt5", "q24opt6"); @q25ngroup = ("ques25", "q25ans", "q25opt1", "q25opt2", "q25opt3", + "q25opt4", "q25opt5", "q25opt6"); @q1vgroup = ($ques1, $q1ans, $q1opt1, $q1opt2, $q1opt3, $q1opt4, $ +q1opt5, $q1opt6); @q2vgroup = ($ques2, $q2ans, $q2opt1, $q2opt2, $q2opt3, $q2opt4, $ +q2opt5, $q2opt6); @q3vgroup = ($ques3, $q3ans, $q3opt1, $q3opt2, $q3opt3, $q3opt4, $ +q3opt5, $q3opt6); @q4vgroup = ($ques4, $q4ans, $q4opt1, $q4opt2, $q4opt3, $q4opt4, $ +q4opt5, $q4opt6); @q5vgroup = ($ques5, $q5ans, $q5opt1, $q5opt2, $q5opt3, $q5opt4, $ +q5opt5, $q5opt6); @q6vgroup = ($ques6, $q6ans, $q6opt1, $q6opt2, $q6opt3, $q6opt4, $ +q6opt5, $q6opt6); @q7vgroup = ($ques7, $q7ans, $q7opt1, $q7opt2, $q7opt3, $q7opt4, $ +q7opt5, $q7opt6); @q8vgroup = ($ques8, $q8ans, $q8opt1, $q8opt2, $q8opt3, $q8opt4, $ +q8opt5, $q8opt6); @q9vgroup = ($ques9, $q9ans, $q9opt1, $q9opt2, $q9opt3, $q9opt4, $ +q9opt5, $q9opt6); @q10vgroup = ($ques10, $q10ans, $q10opt1, $q10opt2, $q10opt3, $q10 +opt4, $q10opt5, $q10opt6); @q11vgroup = ($ques11, $q11ans, $q11opt1, $q11opt2, $q11opt3, $q11 +opt4, $q11opt5, $q11opt6); @q12vgroup = ($ques12, $q12ans, $q12opt1, $q12opt2, $q12opt3, $q12 +opt4, $q12opt5, $q12opt6); @q13vgroup = ($ques13, $q13ans, $q13opt1, $q13opt2, $q13opt3, $q13 +opt4, $q13opt5, $q13opt6); @q14vgroup = ($ques14, $q14ans, $q14opt1, $q14opt2, $q14opt3, $q14 +opt4, $q14opt5, $q14opt6); @q15vgroup = ($ques15, $q15ans, $q15opt1, $q15opt2, $q15opt3, $q15 +opt4, $q15opt5, $q15opt6); @q16vgroup = ($ques16, $q16ans, $q16opt1, $q16opt2, $q16opt3, $q16 +opt4, $q16opt5, $q16opt6); @q17vgroup = ($ques17, $q17ans, $q17opt1, $q17opt2, $q17opt3, $q17 +opt4, $q17opt5, $q17opt6); @q18vgroup = ($ques18, $q18ans, $q18opt1, $q18opt2, $q18opt3, $q18 +opt4, $q18opt5, $q18opt6); @q19vgroup = ($ques19, $q19ans, $q19opt1, $q19opt2, $q19opt3, $q19 +opt4, $q19opt5, $q19opt6); @q20vgroup = ($ques20, $q20ans, $q20opt1, $q20opt2, $q20opt3, $q20 +opt4, $q20opt5, $q20opt6); @q21vgroup = ($ques21, $q21ans, $q21opt1, $q21opt2, $q21opt3, $q21 +opt4, $q21opt5, $q21opt6); @q22vgroup = ($ques22, $q22ans, $q22opt1, $q22opt2, $q22opt3, $q22 +opt4, $q22opt5, $q22opt6); @q23vgroup = ($ques23, $q23ans, $q23opt1, $q23opt2, $q23opt3, $q23 +opt4, $q23opt5, $q23opt6); @q24vgroup = ($ques24, $q24ans, $q24opt1, $q24opt2, $q24opt3, $q24 +opt4, $q24opt5, $q24opt6); @q25vgroup = ($ques25, $q25ans, $q25opt1, $q25opt2, $q25opt3, $q25 +opt4, $q25opt5, $q25opt6); $fieldcount = "0"; @names = ("leadingtext", "trailingtext", "again", "pass", "nowwhat +", "title", "filename", "whattodo", "bgimageurl", "bgcolor", "lesstha +nhalf", "morethanhalf", "reallygood", "emailyesorno", "email", "retur +nlinkurl", "returnlinktext", "colororimage", "textcolor", "linkcolor" +, "vlinkcolor", "alinkcolor", "numques", @q1ngroup, @q2ngroup, @q3ngr +oup, @q4ngroup, @q5ngroup, @q6ngroup, @q7ngroup, @q8ngroup, @q9ngroup +, @q10ngroup, @q11ngroup, @q12ngroup, @q13ngroup, @q14ngroup, @q15ngr +oup, @q16ngroup, @q17ngroup, @q18ngroup, @q19ngroup, @q20ngroup, @q21 +ngroup, @q22ngroup, @q23ngroup, @q24ngroup, @q25ngroup); @values = ($leadingtext, $trailingtext, $again, $pass, $nowwhat, $ +title, $filename, $whattodo, $bgimageurl, $bgcolor, $lessthanhalf, $m +orethanhalf, $reallygood, $emailyesorno, $email, $returnlinkurl, $ret +urnlinktext, $colororimage, $textcolor, $linkcolor, $vlinkcolor, $ali +nkcolor, $numques, @q1vgroup, @q2vgroup, @q3vgroup, @q4vgroup, @q5vgr +oup, @q6vgroup, @q7vgroup, @q8vgroup, @q9vgroup, @q10vgroup, @q11vgro +up, @q12vgroup, @q13vgroup, @q14vgroup, @q15vgroup, @q16vgroup, @q17v +group, @q18vgroup, @q19vgroup, @q20vgroup, @q21vgroup, @q22vgroup, @q +23vgroup, @q24vgroup, @q25vgroup); while($fieldcount <= 245){ $getaname = shift(@names); $getavalue = shift(@values); print "<INPUT TYPE=HIDDEN NAME=\"$getaname\" VALUE=\"$getavalu +e\">\n"; ++$fieldcount; } print "<INPUT TYPE=HIDDEN NAME=\"onemoretime\" VALUE=\"makepage\"> +\n"; print "<BR><INPUT TYPE=SUBMIT VALUE=\"WRITE YOUR QUIZ\"></FORM><BR +>\n"; &endhtml; exit; } ##Give the user an error message if something goes wrong with creating ##their HTML file. if($onemoretime eq "makepage"){ $fullpathname = "$quizhtmldirectory" . "/" . "$filename" . ".html" +; unless(open(HTML, ">$fullpathname")){ &starthtml; print "<H1>OOPS!!!</H1><HR>There was a problem creating your f +ile, you may wish to try again in a few minutes, or contact someone r +esponsible for this site\.\n"; &endhtml; exit; } ##Write the HTML to the file if ($colororimage eq "0"){ $backgroundtag = "BACKGROUND\=$bgimageurl"; $bgcolortag = ""; } else { $backgroundtag = ""; $bgcolortag = "BGCOLOR\=$bgcolor"; } print HTML "<HTML><HEAD><TITLE>$title</TITLE></HEAD>\n"; print HTML "<BODY $bgcolortag TEXT=$textcolor $backgroundtag LINK= +$linkcolor ALINK=$alinkcolor VLINK=$vlinkcolor>\n"; print HTML "<CENTER><H1>$title</H1>\n"; print HTML "$leadingtext\n"; print HTML "<FORM ACTION=\"$quizcgilocation\" METHOD=POST>\n"; $whattodo = "confirm"; @names = ("title", "whattodo", "bgimageurl", "bgcolor", "lessthanh +alf", "morethanhalf", "reallygood", "emailyesorno", "email", "returnl +inkurl", "returnlinktext", "colororimage", "textcolor", "linkcolor", +"vlinkcolor", "alinkcolor", "numques", "q1ans", "q2ans", "q3ans", "q4 +ans", "q5ans", "q6ans", "q7ans", "q8ans", "q9ans", "q10ans", "q11ans" +, "q12ans", "q13ans", "q14ans", "q15ans", "q16ans", "q17ans", "q18ans +", "q19ans", "q20ans", "q21ans", "q22ans", "q23ans", "q24ans", "q25an +s"); @values = ($title, $whattodo, $bgimageurl, $bgcolor, $lessthanhalf +, $morethanhalf, $reallygood, $emailyesorno, $email, $returnlinkurl, +$returnlinktext, $colororimage, $textcolor, $linkcolor, $vlinkcolor, +$alinkcolor, $numques, $q1ans, $q2ans, $q3ans, $q4ans, $q5ans, $q6ans +, $q7ans, $q8ans, $q9ans, $q10ans, $q11ans, $q12ans, $q13ans, $q14ans +, $q15ans, $q16ans, $q17ans, $q18ans, $q19ans, $q20ans, $q21ans, $q22 +ans, $q23ans, $q24ans, $q25ans); $fieldcount = "0"; while($fieldcount <= 42){ $getaname = shift(@names); $getavalue = shift(@values); print HTML "<INPUT TYPE=HIDDEN NAME=\"$getaname\" VALUE=\"$get +avalue\">\n"; ++$fieldcount; } print HTML "<TABLE BORDER=0>\n"; print HTML "<TR><TD>Your Name: (optional)</TD><TD><INPUT TYPE=TEXT + SIZE=30 NAME=\"username\"></TD></TR>\n"; print HTML "<TR><TD>Your Email Address: (optional)</TD><TD><INPUT +TYPE=TEXT SIZE=30 NAME=\"useremail\"></TD></TR>\n"; if($numques >= 1){ print HTML "<TR><TD>1) $ques1</TD>\n"; print HTML "<TD><SELECT NAME=\"q1res\"><OPTION SELECTED>\n"; print HTML "<OPTION>$q1opt1\n"; print HTML "<OPTION>$q1opt2\n"; print HTML "<OPTION>$q1opt3\n"; print HTML "<OPTION>$q1ans\n"; print HTML "<OPTION>$q1opt4\n"; print HTML "<OPTION>$q1opt5\n"; print HTML "<OPTION>$q1opt6\n"; print HTML "</SELECT>\n"; } if($numques >= 2){ print HTML "<TR><TD>2) $ques2</TD>\n"; print HTML "<TD><SELECT NAME=\"q2res\"><OPTION SELECTED>\n"; print HTML "<OPTION>$q2opt1\n"; print HTML "<OPTION>$q2opt2\n"; print HTML "<OPTION>$q2opt3\n"; print HTML "<OPTION>$q2opt4\n"; print HTML "<OPTION>$q2opt5\n"; print HTML "<OPTION>$q2opt6\n"; print HTML "<OPTION>$q2ans\n"; print HTML "</SELECT>\n"; } if($numques >= 3){ print HTML "<TR><TD>3) $ques3</TD>\n"; print HTML "<TD><SELECT NAME=\"q3res\"><OPTION SELECTED>\n"; print HTML "<OPTION>$q3opt1\n"; print HTML "<OPTION>$q3ans\n"; print HTML "<OPTION>$q3opt2\n"; print HTML "<OPTION>$q3opt3\n"; print HTML "<OPTION>$q3opt4\n"; print HTML "<OPTION>$q3opt5\n"; print HTML "<OPTION>$q3opt6\n"; print HTML "</SELECT>\n"; } if($numques >= 4){ print HTML "<TR><TD>4) $ques4</TD>\n"; print HTML "<TD><SELECT NAME=\"q4res\"><OPTION SELECTED>\n"; print HTML "<OPTION>$q4ans\n"; print HTML "<OPTION>$q4opt1\n"; print HTML "<OPTION>$q4opt2\n"; print HTML "<OPTION>$q4opt3\n"; print HTML "<OPTION>$q4opt4\n"; print HTML "<OPTION>$q4opt5\n"; print HTML "<OPTION>$q4opt6\n"; print HTML "</SELECT>\n"; } if($numques >= 5){ print HTML "<TR><TD>5) $ques5</TD>\n"; print HTML "<TD><SELECT NAME=\"q5res\"><OPTION SELECTED>\n"; print HTML "<OPTION>$q5opt1\n"; print HTML "<OPTION>$q5opt2\n"; print HTML "<OPTION>$q5opt3\n"; print HTML "<OPTION>$q5opt4\n"; print HTML "<OPTION>$q5opt5\n"; print HTML "<OPTION>$q5opt6\n"; print HTML "<OPTION>$q5ans\n"; print HTML "</SELECT>\n"; } if($numques >= 6){ print HTML "<TR><TD>6) $ques6</TD>\n"; print HTML "<TD><SELECT NAME=\"q6res\"><OPTION SELECTED>\n"; print HTML "<OPTION>$q6opt1\n"; print HTML "<OPTION>$q6opt2\n"; print HTML "<OPTION>$q6opt3\n"; print HTML "<OPTION>$q6ans\n"; print HTML "<OPTION>$q6opt4\n"; print HTML "<OPTION>$q6opt5\n"; print HTML "<OPTION>$q6opt6\n"; print HTML "</SELECT>\n"; } if($numques >= 7){ print HTML "<TR><TD>7) $ques7</TD>\n"; print HTML "<TD><SELECT NAME=\"q7res\"><OPTION SELECTED>\n"; print HTML "<OPTION>$q7opt1\n"; print HTML "<OPTION>$q7opt2\n"; print HTML "<OPTION>$q7ans\n"; print HTML "<OPTION>$q7opt3\n"; print HTML "<OPTION>$q7opt4\n"; print HTML "<OPTION>$q7opt5\n"; print HTML "<OPTION>$q7opt6\n"; print HTML "</SELECT>\n"; } if($numques >= 8){ print HTML "<TR><TD>8) $ques8</TD>\n"; print HTML "<TD><SELECT NAME=\"q8res\"><OPTION SELECTED>\n"; print HTML "<OPTION>$q8opt1\n"; print HTML "<OPTION>$q8opt2\n"; print HTML "<OPTION>$q8opt3\n"; print HTML "<OPTION>$q8opt4\n"; print HTML "<OPTION>$q8opt5\n"; print HTML "<OPTION>$q8ans\n"; print HTML "<OPTION>$q8opt6\n"; print HTML "</SELECT>\n"; } if($numques >= 9){ print HTML "<TR><TD>9) $ques9</TD>\n"; print HTML "<TD><SELECT NAME=\"q9res\"><OPTION SELECTED>\n"; print HTML "<OPTION>$q9opt1\n"; print HTML "<OPTION>$q9opt2\n"; print HTML "<OPTION>$q9opt3\n"; print HTML "<OPTION>$q9opt4\n"; print HTML "<OPTION>$q9ans\n"; print HTML "<OPTION>$q9opt5\n"; print HTML "<OPTION>$q9opt6\n"; print HTML "</SELECT>\n"; } if($numques >= 10){ print HTML "<TR><TD>10) $ques10</TD>\n"; print HTML "<TD><SELECT NAME=\"q10res\"><OPTION SELECTED>\n"; print HTML "<OPTION>$q10opt1\n"; print HTML "<OPTION>$q10opt2\n"; print HTML "<OPTION>$q10ans\n"; print HTML "<OPTION>$q10opt3\n"; print HTML "<OPTION>$q10opt4\n"; print HTML "<OPTION>$q10opt5\n"; print HTML "<OPTION>$q10opt6\n"; print HTML "</SELECT>\n"; } if($numques >= 11){ print HTML "<TR><TD>11) $ques11</TD>\n"; print HTML "<TD><SELECT NAME=\"q11res\"><OPTION SELECTED>\n"; print HTML "<OPTION>$q11opt1\n"; print HTML "<OPTION>$q11opt2\n"; print HTML "<OPTION>$q11opt3\n"; print HTML "<OPTION>$q11ans\n"; print HTML "<OPTION>$q11opt4\n"; print HTML "<OPTION>$q11opt5\n"; print HTML "<OPTION>$q11opt6\n"; print HTML "</SELECT>\n"; } if($numques >= 12){ print HTML "<TR><TD>12) $ques12</TD>\n"; print HTML "<TD><SELECT NAME=\"q12res\"><OPTION SELECTED>\n"; print HTML "<OPTION>$q12opt1\n"; print HTML "<OPTION>$q12opt2\n"; print HTML "<OPTION>$q12ans\n"; print HTML "<OPTION>$q12opt3\n"; print HTML "<OPTION>$q12opt4\n"; print HTML "<OPTION>$q12opt5\n"; print HTML "<OPTION>$q12opt6\n"; print HTML "</SELECT>\n"; } if($numques >= 13){ print HTML "<TR><TD>13) $ques13</TD>\n"; print HTML "<TD><SELECT NAME=\"q13res\"><OPTION SELECTED>\n"; print HTML "<OPTION>$q13opt1\n"; print HTML "<OPTION>$q13opt2\n"; print HTML "<OPTION>$q13opt3\n"; print HTML "<OPTION>$q13opt4\n"; print HTML "<OPTION>$q13opt5\n"; print HTML "<OPTION>$q13opt6\n"; print HTML "<OPTION>$q13ans\n"; print HTML "</SELECT>\n"; } if($numques >= 14){ print HTML "<TR><TD>14) $ques14</TD>\n"; print HTML "<TD><SELECT NAME=\"q14res\"><OPTION SELECTED>\n"; print HTML "<OPTION>$q14opt1\n"; print HTML "<OPTION>$q14opt2\n"; print HTML "<OPTION>$q14opt3\n"; print HTML "<OPTION>$q14opt4\n"; print HTML "<OPTION>$q14opt5\n"; print HTML "<OPTION>$q14opt6\n"; print HTML "<OPTION>$q14ans\n"; print HTML "</SELECT>\n"; } if($numques >= 15){ print HTML "<TR><TD>15) $ques15</TD>\n"; print HTML "<TD><SELECT NAME=\"q15res\"><OPTION SELECTED>\n"; print HTML "<OPTION>$q15opt1\n"; print HTML "<OPTION>$q15ans\n"; print HTML "<OPTION>$q15opt2\n"; print HTML "<OPTION>$q15opt3\n"; print HTML "<OPTION>$q15opt4\n"; print HTML "<OPTION>$q15opt5\n"; print HTML "<OPTION>$q15opt6\n"; print HTML "</SELECT>\n"; } if($numques >= 16){ print HTML "<TR><TD>16) $ques16</TD>\n"; print HTML "<TD><SELECT NAME=\"q16res\"><OPTION SELECTED>\n"; print HTML "<OPTION>$q16opt1\n"; print HTML "<OPTION>$q16opt2\n"; print HTML "<OPTION>$q16opt3\n"; print HTML "<OPTION>$q16opt4\n"; print HTML "<OPTION>$q16opt5\n"; print HTML "<OPTION>$q16opt6\n"; print HTML "<OPTION>$q16ans\n"; print HTML "</SELECT>\n"; } if($numques >= 17){ print HTML "<TR><TD>17) $ques17</TD>\n"; print HTML "<TD><SELECT NAME=\"q17res\"><OPTION SELECTED>\n"; print HTML "<OPTION>$q17opt1\n"; print HTML "<OPTION>$q17opt2\n"; print HTML "<OPTION>$q17opt3\n"; print HTML "<OPTION>$q17opt4\n"; print HTML "<OPTION>$q17ans\n"; print HTML "<OPTION>$q17opt5\n"; print HTML "<OPTION>$q17opt6\n"; print HTML "</SELECT>\n"; } if($numques >= 18){ print HTML "<TR><TD>18) $ques18</TD>\n"; print HTML "<TD><SELECT NAME=\"q18res\"><OPTION SELECTED>\n"; print HTML "<OPTION>$q18opt1\n"; print HTML "<OPTION>$q18ans\n"; print HTML "<OPTION>$q18opt2\n"; print HTML "<OPTION>$q18opt3\n"; print HTML "<OPTION>$q18opt4\n"; print HTML "<OPTION>$q18opt5\n"; print HTML "<OPTION>$q18opt6\n"; print HTML "</SELECT>\n"; } if($numques >= 19){ print HTML "<TR><TD>19) $ques19</TD>\n"; print HTML "<TD><SELECT NAME=\"q19res\"><OPTION SELECTED>\n"; print HTML "<OPTION>$q19ans\n"; print HTML "<OPTION>$q19opt1\n"; print HTML "<OPTION>$q19opt2\n"; print HTML "<OPTION>$q19opt3\n"; print HTML "<OPTION>$q19opt4\n"; print HTML "<OPTION>$q19opt5\n"; print HTML "<OPTION>$q19opt6\n"; print HTML "</SELECT>\n"; } if($numques >= 20){ print HTML "<TR><TD>20) $ques20</TD>\n"; print HTML "<TD><SELECT NAME=\"q20res\"><OPTION SELECTED>\n"; print HTML "<OPTION>$q20opt1\n"; print HTML "<OPTION>$q20opt2\n"; print HTML "<OPTION>$q20opt3\n"; print HTML "<OPTION>$q20opt4\n"; print HTML "<OPTION>$q20opt5\n"; print HTML "<OPTION>$q20ans\n"; print HTML "<OPTION>$q20opt6\n"; print HTML "</SELECT>\n"; } if($numques >= 21){ print HTML "<TR><TD>21) $ques21</TD>\n"; print HTML "<TD><SELECT NAME=\"q21res\"><OPTION SELECTED>\n"; print HTML "<OPTION>$q21opt1\n"; print HTML "<OPTION>$q21opt2\n"; print HTML "<OPTION>$q21ans\n"; print HTML "<OPTION>$q21opt3\n"; print HTML "<OPTION>$q21opt4\n"; print HTML "<OPTION>$q21opt5\n"; print HTML "<OPTION>$q21opt6\n"; print HTML "</SELECT>\n"; } if($numques >= 22){ print HTML "<TR><TD>22) $ques22</TD>\n"; print HTML "<TD><SELECT NAME=\"q22res\"><OPTION SELECTED>\n"; print HTML "<OPTION>$q22opt1\n"; print HTML "<OPTION>$q22ans\n"; print HTML "<OPTION>$q22opt2\n"; print HTML "<OPTION>$q22opt3\n"; print HTML "<OPTION>$q22opt4\n"; print HTML "<OPTION>$q22opt5\n"; print HTML "<OPTION>$q22opt6\n"; print HTML "</SELECT>\n"; } if($numques >= 23){ print HTML "<TR><TD>23) $ques23</TD>\n"; print HTML "<TD><SELECT NAME=\"q23res\"><OPTION SELECTED>\n"; print HTML "<OPTION>$q23opt1\n"; print HTML "<OPTION>$q23opt2\n"; print HTML "<OPTION>$q23opt3\n"; print HTML "<OPTION>$q23opt4\n"; print HTML "<OPTION>$q23opt5\n"; print HTML "<OPTION>$q23opt6\n"; print HTML "<OPTION>$q23ans\n"; print HTML "</SELECT>\n"; } if($numques >= 24){ print HTML "<TR><TD>24) $ques24</TD>\n"; print HTML "<TD><SELECT NAME=\"q24res\"><OPTION SELECTED>\n"; print HTML "<OPTION>$q24opt1\n"; print HTML "<OPTION>$q24opt2\n"; print HTML "<OPTION>$q24opt3\n"; print HTML "<OPTION>$q24opt4\n"; print HTML "<OPTION>$q24opt5\n"; print HTML "<OPTION>$q24ans\n"; print HTML "<OPTION>$q24opt6\n"; print HTML "</SELECT>\n"; } if($numques >= 25){ print HTML "<TR><TD>25) $ques25</TD>\n"; print HTML "<TD><SELECT NAME=\"q25res\"><OPTION SELECTED>\n"; print HTML "<OPTION>$q25opt1\n"; print HTML "<OPTION>$q25opt2\n"; print HTML "<OPTION>$q25opt3\n"; print HTML "<OPTION>$q25ans\n"; print HTML "<OPTION>$q25opt4\n"; print HTML "<OPTION>$q25opt5\n"; print HTML "<OPTION>$q25opt6\n"; print HTML "</SELECT>\n"; } print HTML "</TABLE><BR><INPUT TYPE=SUBMIT VALUE=\"OK\, DONE\"></F +ORM><BR>\n"; print HTML "$trailingtext</BODY></HTML>\n"; close(HTML); #Give the user a response, and a link back to his/her quiz page. &starthtml; print "OK..your quiz page was created\, this is the url\:<BR>\n"; print ("<A HREF=\"$quizhtmldirectoryurl" . "/" . "$filename" . ".h +tml\">" . "$quizhtmldirectoryurl" . "/" . "$filename" . ".html</A><BR +>"); print "Thanks for using QUIZMASTER!!\n"; &endhtml; exit; } # A couple of basic subroutines, because I'm Lazy. sub starthtml { if ($colororimage eq "0"){ $backgroundtag = "BACKGROUND\=$bgimageurl"; $bgcolortag = ""; } else { $backgroundtag = ""; $bgcolortag = "BGCOLOR\=$bgcolor"; } print "Content-type: text/html\n\n"; print "<HTML><HEAD><TITLE>$title</TITLE></HEAD>\n"; print "<BODY $bgcolortag TEXT=$textcolor $backgroundtag LINK=$linkcolo +r ALINK=$alinkcolor VLINK=$vlinkcolor>\n"; } #here's another sub endhtml { print "</BODY></HTML>"; }

Edit Petruchio Sun Sep 8 07:38:06 UTC 2002 - Added READMORE tag


In reply to Changes to Quiz script by pip

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.