Why is my php loop not working?

Ok I have a PHP variable $question that looks like this:\[code\]$question['3']['type'] = 'checkbox';$question['3']['desc'] = 'checkbox question';$question['3']['deft'] = '1';$question['3']['opts'] = 'Check Test 1';$question['3']['opts'] = 'Check Test 2';\[/code\]What I want to do is have this be a question on a survey where the desc is the question, and opts are the multiple answers. I currently have this statement:\[code\] if ($type == "checkbox") { if (strtolower($deft) == 'y') { $box_value = "http://stackoverflow.com/questions/3887479/1"; $CHECKED = ' CHECKED'; } else { $box_value = "http://stackoverflow.com/questions/3887479/0"; $CHECKED = ''; } print "<input type=\"checkbox\" name=\"$key\" value=http://stackoverflow.com/"$box_value\"$CHECKED>\n<br>"; }\[/code\]It works but it doesn't allow me to include a question (only answers).I want to do something like this:\[code\] if ($type == "checkbox") { print "<br>\n"; $i = 1; foreach ($opts as $opt_key => $opt_value) { if ($deft == $i) {$CHECKED = "checked=\"checked\""; } else { $CHECKED = ''; } print "<input type=\"checkbox\" name=\"$key\" value=http://stackoverflow.com/"$opt_value\"$CHECKED> - $opt_value <br>\n"; $i++; } }\[/code\]I'm getting an error because my code is crappy. Can anyone tell help me fix this code? THanksHere is the rest of the code\[code\] <?php$thisfile_URL = "http://".$_SERVER['SERVER_NAME'].$_SERVER['PHP_SELF'];$thisdir_URL = substr($thisfile_URL, 0, strrpos($thisfile_URL, '/')).'/';$thisfile_ABS = $_SERVER['SCRIPT_FILENAME'];$thisdir_ABS = substr($thisfile_ABS, 0, strrpos($thisfile_ABS, '/')).'/';# -------------------------------------------------------------------# ***** CONFIGURATION SETTINGS *****# The Email address you want results mailed to.$email_to_send_to = '[email protected]';# The name of the survey. What do you want to call it?$name_of_survey = 'Nurse Resume Toolkit Sales Page Exit Survey';# Template files to load. The opening template, the close template.# The template displayed before the survey form is printed and# The template displayed after the email is sent. Or leave empty.$open_template = $thisdir_ABS."templates/sss.open.php";$close_template = $thisdir_ABS."templates/sss.close.php";$survey_heading_page = $thisdir_ABS."templates/sss.head.php";$survey_complete_page = $thisdir_ABS."templates/sss.done.php";# The charset being used for all messages sent out. ISO-8859-1 by default,# but you can use anything you want (Unicode, etc).$charset = 'ISO-8859-1';# -------------------------------------------------------------------# ----------------------- Survey Form Information -------------------# Type: checkbox# Deft: Y or N for default check.## Type: radio# Deft: Default selected option# Opts: Array of option values## Type: select# Deft: Default selected option# Opts: Array of option values## Type: text# Deft: Default field text# Opts: maxl, size - Maxlength and field size## Type: textarea# Deft: Default textarea field text# Opts: rows, cols - row size, column size## $hidden is an array of hidden fields.# key being the name of the field, value as the value.## $button_text is the submit button text# -------------------------------------------------------------------# ***** SAMPLE DATA *****$question['1']['type'] = 'select';$question['1']['desc'] = 'Whats Your Current Employment Status';$question['1']['deft'] = '1';$question['1']['opts'][] = 'Employed';$question['1']['opts'][] = 'Unemployed';$question['1']['opts'][] = 'Not Sure';$question['2']['type'] = 'radio';$question['2']['desc'] = 'Are You Currently Looking for a Job';$question['2']['deft'] = '1';$question['2']['opts'][] = 'Yes';$question['2']['opts'][] = 'No';/*$question['1']['type'] = 'text';$question['1']['desc'] = 'Test Text';$question['1']['deft'] = 'Blah';$question['1']['opts']['maxl'] = '30';$question['1']['opts']['size'] = '10';$question['2']['type'] = 'checkbox';$question['2']['desc'] = 'Check Test 1';$question['2']['deft'] = 'y';*/$question['3']['type'] = 'checkbox';$question['3']['desc'] = 'checkbox question';$question['3']['deft'] = '1';$question['3']['opts'] = 'Check Test 1';$question['3']['opts'] = 'Check Test 2';$question['4']['type'] = 'radio';$question['4']['desc'] = 'Radio Test';$question['4']['deft'] = '2';$question['4']['opts'][] = 'Option 1';$question['4']['opts'][] = 'Option 2';$question['4']['opts'][] = 'Option 3';$question['5']['type'] = 'select';$question['5']['desc'] = 'Select Test';$question['5']['deft'] = '2';$question['5']['opts'][] = 'Option 1';$question['5']['opts'][] = 'Option 2';$question['5']['opts'][] = 'Option 3';$question['6']['type'] = 'textarea';$question['6']['desc'] = 'Textarea Test';$question['6']['deft'] = 'Default Junk';$question['6']['opts']['rows'] = '10';$question['6']['opts']['cols'] = '30';$hidden['test1'] = "TEST!";$hidden['test2'] = "TESTO!";$button_text = 'Send it!';# -------------------------------------------------------------------function my_remove_slashes($st) { if (get_magic_quotes_gpc()) { return stripslashes($st); } else { return $st; }}function security_filter($st) { $attribs = 'javascript:|onclick|ondblclick|onmousedown|onmouseup|onmouseover|'. 'onmousemove|onmouseout|onkeypress|onkeydown|onkeyup'; $st = my_remove_slashes($st); $st = stripslashes(preg_replace("/$attribs/i", 'forbidden', $st)); $st = strip_tags($st); $st = htmlentities($st); return $st;}# -------------------------------------------------------------------if (!(empty($open_template))) { include($open_template); }if (isset($_POST['button'])) { foreach ($_POST as $key => $value) { if ($key != 'button') { if (preg_match('/^hidden_(.*)/i',$key)) { $value = http://stackoverflow.com/questions/3887479/security_filter($value); $key = trim(strstr($key,'_'),'_'); if (isset($hidden[$key])) { $hidden_data[$key] = $value; } } else { if (isset($question[$key])) { $value = http://stackoverflow.com/questions/3887479/security_filter($value); if ($question[$key]['type'] == 'checkbox') { $value = "http://stackoverflow.com/questions/3887479/YES"; } $results[$key] = $value; } } } } # Now that the responses are processed, prepare the email. $msg = "----------------- User Info -----------------\n\n"; $msg .= "Sent from: ".$_SERVER['REMOTE_HOST']." [".$_SERVER['REMOTE_ADDR']."] \n"; $msg .= "Coming from (referer): ".$_SERVER['HTTP_REFERER']."\n"; $msg .= "Using (user agent): ".$_SERVER['HTTP_USER_AGENT']."\n\n"; $msg .= "---------------------------------------------\n\n"; if (isset($question)) { $lineflag = FALSE; foreach ($results as $key => $value) { if ($lineflag == FALSE) { $msg .= "----------------- Questions -----------------\n\n"; $lineflag = TRUE; } $msg .= "Question: ". $key ." - ". $question[$key]['desc'] ."\n"; $msg .= "Response: ". $value . "\n\n"; } $msg .= "---------------------------------------------\n"; } $msg .= "\n"; if (isset($hidden_data)) { $lineflag = FALSE; foreach ($hidden_data as $key => $value) { if ($lineflag == FALSE) { $msg .= "---------------- Hidden vars ----------------\n\n"; $lineflag = TRUE; } $msg .= $key ." - ". $value ."\n"; } $msg .= "\n---------------------------------------------\n"; } # Prep and send email. $headers = "Return-Path: $email_to_send_to\r\n"; $headers .= "From: $name_of_survey processor < $email_to_send_to >\r\n"; $headers .= "Content-type: text/plain; charset=$charset\r\n"; mail($email_to_send_to, $name_of_survey . " mailer", $msg, $headers); # Include template file. if (!(empty($survey_complete_page))) { include($survey_complete_page); }}else { if (!(empty($survey_heading_page))) { include($survey_heading_page); } print "<form action=\"$thisfile_URL\" method=\"POST\"> \n"; foreach ($question as $key => $value) { $type = strtolower($question[$key]['type']); $desc = $question[$key]['desc']; $deft = $question[$key]['deft']; $opts = $question[$key]['opts']; print $desc."\n"; /* if ($type == "checkbox") { if (strtolower($deft) == 'y') { $box_value = "http://stackoverflow.com/questions/3887479/1"; $CHECKED = ' CHECKED'; } else { $box_value = "http://stackoverflow.com/questions/3887479/0"; $CHECKED = ''; } print "<input type=\"checkbox\" name=\"$key\" value=http://stackoverflow.com/"$box_value\"$CHECKED>\n<br>"; } */ if ($type == "checkbox") { print "<br>\n"; $i = 1; foreach ($opts as $opt_key => $opt_value) { if ($deft == $i) {$CHECKED = "checked=\"checked\""; } else { $CHECKED = ''; } print "<input type=\"checkbox\" name=\"$key\" value=http://stackoverflow.com/"$opt_value\"$CHECKED> - $opt_value <br>\n"; $i++; } } if ($type == "radio") { print "<br>\n"; $i = 1; foreach ($opts as $opt_key => $opt_value) { if ($deft == $i) { $CHECKED = " checked=\"checked\""; } else { $CHECKED = ''; } print "<input type=\"RADIO\" name=\"$key\" value=http://stackoverflow.com/"$opt_value\"$CHECKED> - $opt_value <br>\n"; $i++; } } if ($type == "select") { print "<br>\n"; print "<select name=\"$key\">\n"; $i = 1; foreach ($opts as $opt_key => $opt_value) { if ($deft == $i) { $CHECKED = ' SELECTED'; } else { $CHECKED = ''; } print "<option value=http://stackoverflow.com/"$opt_value\"$CHECKED>$opt_value</option>\n"; $i++; } print "</select><br>\n"; } if ($type == "text") { print "<br>\n"; $size = $opts['size']; $maxl = $opts['maxl']; print "<input maxlength=\"$maxl\" size=\"$size\" name=\"$key\" value=http://stackoverflow.com/"$deft\"><br>\n"; } if ($type == "textarea") { print "<br>\n"; $colz = $opts['cols']; $rowz = $opts['rows']; print "<textarea name=\"$key\" rows=\"$rowz\" cols=\"$colz\">$deft</textarea><br>\n"; } # Spacing between survey questions ----------- print "<br>\n"; # -------------------------------------------- } foreach ($hidden as $key => $value) { print "<input type=\"hidden\" name=\"hidden_$key\" value=http://stackoverflow.com/"$value\">\n"; } print "<input type=\"submit\" name=\"button\" value=http://stackoverflow.com/"$button_text\">\n"; print " &nbsp; -- &nbsp; \n"; print "<INPUT TYPE=\"reset\" VALUE=http://stackoverflow.com/"Clear\">\n"; print "</form>"; print "<center><font size=\"2\">Powered by <A HREF=http://stackoverflow.com/"http://www.violetonresumes.com\">A Plus Professional Resumes</A></font></center><br>\n";}if (!(empty($close_template))) { include($close_template); }?>\[/code\]
 
Back
Top