There is no error message... it correctly displays the "thank you" page when the user clicks the "submit" button.
This is the code; I've taken out most of the questions for brevity's sake.
Code:
<?php
# -------------------------------------------------------------------
# License and copyright:
#
# This program is designed and copyrighted by
# Aaron Colman on August 5, 2004 under the terms
# of the GPL provided under gpl.txt
#
# For more information visit
http://www.ibasics.biz
# or write me at
aaron@ibasics.biz
#
# I will be updating this software as time goes
# on, if you want the newest version... that's
# where you need to go.
#
# No warranty of any kind is implied or expressed.
# Neither fitness for a purpose nor warranty of
# merchantability. You alone are liable for your
# own actions with this script. If something goes
# wrong it's your fault and you get to deal with
# the consequences. Not I! If you don't agree with
# these terms then don't use this script.
# -------------------------------------------------------------------
# Get URL-based and absolute-based directory and filename.
$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 = 'editor@watleyreview.com ';
# The name of the survey. What do you want to call it?
$name_of_survey = 'Test 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/open.php";
$close_template = $thisdir_ABS."templates/close.php";
$survey_heading_page = $thisdir_ABS."templates/head.php";
$survey_complete_page = $thisdir_ABS."templates/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'] = 'radio';
$question['1']['desc'] = '1) The newsletter provides sufficient background information for the meetings.';
$question['1']['deft'] = '3';
$question['1']['opts'][] = 'Strongly agree';
$question['1']['opts'][] = 'Agree';
$question['1']['opts'][] = 'Neither agree nor disagree';
$question['1']['opts'][] = 'Disagree';
$question['1']['opts'][] = 'Strongly disagree';
$question['2']['type'] = 'radio';
$question['2']['desc'] = '2) I usually read most or all of the newsletter.';
$question['2']['deft'] = '3';
$question['2']['opts'][] = 'Strongly agree';
$question['2']['opts'][] = 'Agree';
$question['2']['opts'][] = 'Neither agree nor disagree';
$question['2']['opts'][] = 'Disagree';
$question['2']['opts'][] = 'Strongly disagree';
$question['3']['type'] = 'radio';
$question['3']['desc'] = '3) The new design is:';
$question['3']['deft'] = '3';
$question['3']['opts'][] = 'Much better';
$question['3']['opts'][] = 'Somewhat better';
$question['3']['opts'][] = 'About the same';
$question['3']['opts'][] = 'Somewhat worse';
$question['3']['opts'][] = 'Much worse';
$question['4']['type'] = 'radio';
$question['4']['desc'] = '4) The newsletter covers the subjects and stories I think are important.';
$question['4']['deft'] = '3';
$question['4']['opts'][] = 'Strongly agree';
$question['4']['opts'][] = 'Agree';
$question['4']['opts'][] = 'Neither agree nor disagree';
$question['4']['opts'][] = 'Disagree';
$question['4']['opts'][] = 'Strongly disagree';
$question['5']['type'] = 'textarea';
$question['5']['desc'] = 'Additional Comments';
$question['5']['deft'] = 'Default Junk';
$question['5']['opts']['rows'] = '10';
$question['5']['opts']['cols'] = '30';
$button_text = 'Submit your answers';
# -------------------------------------------------------------------
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 = security_filter($value);
$key = trim(strstr($key,'_'),'_');
if (isset($hidden[$key])) {
$hidden_data[$key] = $value;
}
}
else {
if (isset($question[$key])) {
$value = security_filter($value);
if ($question[$key]['type'] == 'checkbox') { $value = "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";
# Prep and send email.
$headers = 'Return-Path: $email_to_send_to\r\n';
$headers .= 'From: Newsletter Survey processor <ccst@ccst.us>\r\n';
$headers .= 'Content-type: text/plain; charset=$charset\r\n';
mail($email_to_send_to, $name_of_survey, $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 = "1"; $CHECKED = ' CHECKED'; }
else { $box_value = "0"; $CHECKED = ''; }
print "<input type=\"checkbox\" name=\"$key\" value=\"$box_value\"$CHECKED>\n<br>";
}
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=\"$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=\"$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=\"$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";
# --------------------------------------------
mail($email_to_send_to, $name_of_survey, $msg, $headers);
}
foreach ($hidden as $key => $value) {
print "<input type=\"hidden\" name=\"hidden_$key\" value=\"$value\">\n";
}
print "<input type=\"submit\" name=\"button\" value=\"$button_text\">\n";
print " -- \n";
print "<INPUT TYPE=\"reset\" VALUE=\"Clear\">\n";
print "</form>";
print "<center><font size=\"2\">Powered by <A HREF=\"http://www.ibasics.biz/sss\">Super Simple Survey</A></font></center><br>\n";
}
if (!(empty($close_template))) { include($close_template); }
?>