Jump to content

PHP NOOB - Survey Form


mindfield

Recommended Posts

Ok, so I am very new to php and don't really know much about it. I am just trying to help a friend figure this out.

 

This code is NOT ours! and was given to  her with permission.. by her company.

What the company wants to do is this:

 

t_picturem_4dd9668.jpg

 

 

This is the script:

 

$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 = '';

 

# 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/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'] = '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'] = 'Check Test 2';

$question['3']['deft'] = 'n';

 

$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 = 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";

 

  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 = "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";

 

      # --------------------------------------------

 

    }

 

    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); }

?>

 

We just want to know how you can edit the script to make it look horizontal like the one in the picture.

Link to comment
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.