Difference between revisions of "Web Hosting Feedback Script"

From SchoolsWiki
Jump to: navigation, search
(Web Hosting Feedback Script)
 
(27 intermediate revisions by 3 users not shown)
Line 1: Line 1:
 +
== Feedback Script ==
 +
Schools who wish to allow users to leave feedback on their websites may use the supplied FormMail feedback script.  This is as easy as copying the [[Web Hosting Feedback Script#Sample_HTML|sample HTML]] below into your page.  This will send the feedback to the email address you specified in your [[Web Hosting Account Settings|Settings]].  Advanced users have the option of using the [[Web Hosting Feedback Script#Advanced Configuration Variables| Advanced Configuration]] variables if they wish.
 +
 
== NMS FormMail ==
 
== NMS FormMail ==
 
[[Image:Nms.g‎if||right]]
 
[[Image:Nms.g‎if||right]]
 
 
NMS FormMail is a drop-in replacement for Matt Wright's FormMail script. It converts an HTML form submission to an email message.
 
NMS FormMail is a drop-in replacement for Matt Wright's FormMail script. It converts an HTML form submission to an email message.
 
 
  
 
== Form Configuration ==
 
== Form Configuration ==
  
 +
To make use of it, you need to write an HTML form that refers to the FormMail script. Here's an example which will send mail to the address you specified in your [[Web Hosting Account Settings|Settings]] when someone submits the form:
  
To make use of it, you need to write an HTML form that refers to the
+
=== Sample HTML ===
 
 
FormMail script. Here's an example which will send mail to the address
 
  
'feedback@your.domain' when someone submits the form:
 
  
<pre>
+
<source lang="html4strict">
<form method="post" action="http://your.domain/cgi-bin/FormMail.pl">
+
<form method="post" action="/feedback/FormMail.pl">
   <input type="hidden" name="recipient" value="feedback@your.domain" />
+
   <table>
  <input type="text" name="feedback" /><br />
+
    <tr>
  Please enter your comments<br />
+
      <td>Your name:</td>
  <input type="submit" />
+
      <td><input type="text" name="realname" /><font style="color: red;">*</font></td>
 +
    </tr>
 +
    <tr>
 +
      <td>Your email address:</td>
 +
      <td><input type="text" name="email" /></td>
 +
    </tr>
 +
    <tr>
 +
      <td>Your feedback:</td>
 +
      <td><textarea name="feedback" cols="40" rows="5"></textarea><font style="color: red;">*</font></td>
 +
    </tr>
 +
    <tr>
 +
      <td colspan="2" align="center"><input type="submit" /></td>
 +
    </tr>
 +
    <tr>
 +
      <td colspan="2">
 +
        <input type="hidden" name="subject" value="Feedback from your scoilnet Web Hosting form" />
 +
        <input type="hidden" name="required" value="realname,feedback" />
 +
      </td>
 +
    </tr>
 +
  </table>
 
</form>
 
</form>
</pre>
+
</source>
 
 
 
 
See how the hidden 'recipient' input in the example above told formmail who
 
 
 
to send the mail to ? This is how almost all of formmail's configuration
 
 
 
works. Here's the full list of things you can set with hidden form inputs:
 
 
 
 
 
=== Configuration Variables ===
 
 
 
recipient              - The email address to which the form submission
 
 
 
                          should be sent. If you would like it copied to
 
 
 
                          more than one recipient then you can separate
 
 
 
                          multiple email addresses with commas, for
 
 
 
                          example:
 
 
 
 
 
<pre>
 
                          <input type="hidden" name="recipient"
 
 
 
                                value="you@your.domain,me@your.domain" />
 
</pre>
 
 
 
 
 
                          If you leave the 'recipient' field out of the
 
 
 
                          form, formmail will send to the first address
 
 
 
                          listed in the @allow_mail_to configuration
 
 
 
                          variable (see above).  This allows you to avoid
 
 
 
                          putting your email address in the form, which
 
 
 
                          might be desirable if you're concerned about
 
 
 
                          address harvesters collecting it and sending
 
 
 
                          you SPAM. This feature is disabled if the
 
 
 
                          $emulate_matts_code configuration variable is
 
 
 
                          set to 1.
 
 
 
 
 
 
 
subject                - The subject line for the email. For example:
 
 
 
 
 
<pre>
 
                          <input type="hidden" name="subject"
 
 
 
                                value="From the feedback form" />
 
</pre>
 
 
 
 
 
redirect                - If this value is present it should be a URL, and
 
 
 
                          the user will be redirected there after a
 
 
 
                          successful form submission.  For example:
 
 
 
 
 
<pre>
 
                          <input type="hidden" name="redirect"
 
 
 
                          value="http://www.your.domain/foo.html" />
 
</pre>
 
 
 
 
 
                          If you don't specify a redirect URL then instead
 
 
 
                          of redirecting formmail will generate a success
 
 
 
                          page telling the user that their submission was
 
 
 
                          successful.
 
 
 
 
 
 
 
bgcolor                - The background color for the success page.
 
 
 
 
 
 
 
background              - The URL of the background image for the success
 
 
 
                          page.
 
 
 
 
 
 
 
text_color              - The text color for the success page.
 
 
 
 
 
 
 
link_color              - The link color for the success page.
 
 
 
 
 
 
 
vlink_color            - The vlink color for the success page.
 
 
 
 
 
 
 
alink_color            - The alink color for the success page.
 
 
 
 
 
 
 
title                  - The title for the success page.
 
 
 
 
 
 
 
return_link_url        - The target URL for a link at the end of the
 
 
 
                          success page. This is normally used to provide
 
 
 
                          a link from the success page back to your main
 
 
 
                          page or back to the page with the form on. For
 
 
 
                          example:
 
 
 
 
 
<pre>
 
                          <input type="hidden" name="return_link_url"
 
 
 
                          value="/home.html" />
 
</pre>
 
 
 
 
 
return_link_title      - The label for the return link.  For example:
 
 
 
 
 
<pre>
 
                          <input type="hidden" name="return_link_title"
 
 
 
                          value="Back to my home page" />
 
</pre>
 
 
 
 
 
sort                    - This sets the order in which the submitted form
 
 
 
                          inputs will appear in the email and on the
 
 
 
                          success page.  It can be the string 'alphabetic'
 
 
 
                          for alphabetic order, or the string "order:"
 
 
 
                          followed by a comma separated list of the input
 
 
 
                          names, for example:
 
 
 
 
 
<pre>
 
                          <input type="hidden" name="sort"
 
 
 
                          value="order:name,email,age,comments" />
 
</pre>
 
 
 
 
 
                          If "order:" is used you must supply the names of
 
 
 
                          all of the fields that you want to be in the body of
 
 
 
                          the mail message.
 
 
 
 
 
 
 
print_config            - This is mainly used for debugging, and if set it
 
 
 
                          causes formmail to include a dump of the
 
 
 
                          specified configuration settings in the email.
 
 
 
                          For example:
 
 
 
 
 
 
 
                          <input type="hidden" name="print_config"
 
 
 
                          value="title,sort" />
 
 
 
 
 
 
 
                          ... will include whatever values you set for
 
 
 
                          'title' and 'sort' (if any) in the email.
 
 
 
 
 
 
 
required                - This is a list of fields that the user must fill
 
 
 
                          in before they submit the form. If they leave
 
 
 
                          any of these fields blank then they will be sent
 
 
 
                          back to the form to try again.  For example:
 
 
 
  
 +
This is how the form will appear on your site with the above code.
 +
[[Image:FormMail-screenshot1.png‎|frame|center|Sample FormMail]]
  
                          <input type="hidden" name="required"
 
  
                          value="name,comments" />
+
See how the hidden 'subject' input in the example above told formmail what to set the mail subject to? This is how almost all of formmail's advanced configuration works. Here's the full list of things you can set with hidden form inputs:
  
 +
== Advanced Configuration Variables ==
  
 +
The settings below are recommended for advanced users only.
  
missing_fields_redirect - If this is set, it must be a URL, and the user
+
=== subject ===
  
                          will be redirected there if any of the fields
+
The subject line for the email. For example:
  
                          listed in 'required' are left blank. Use this if
+
<source lang="html4strict">
 +
<input type="hidden" name="subject" value="From the feedback form" />
 +
</source>
  
                          you want finer control over the the error that
+
=== redirect ===
  
                          the user see's if they miss out a field.
+
If this value is present it should be a URL, and the user will be redirected there after a successful form submission. For example:
  
 +
<source lang="html4strict">
 +
<input type="hidden" name="redirect" value="http://www.your.domain/thankyou.html" />
 +
</source>
  
 +
If you don't specify a redirect URL then instead of redirecting formmail will generate a success page telling the user that their submission was successful.
  
env_report              - This is a list of the CGI environment variables
+
=== bgcolor ===
 +
 +
The background color for the success page.
  
                          that should be included in the email.  This is
+
=== background ===
  
                          useful for recording things like the IP address
+
The URL of the background image for the success page.
  
                          of the user in the email. Any environment
+
=== text_color ===
  
                          variables that you want to use in 'env_report' in
+
The text color for the success page.
  
                          any of your forms will need to be in the
+
=== link_color ===
  
                          @valid_ENV configuration variable described
+
The link color for the success page.
  
                          above.
+
=== vlink_color ===
  
 +
The vlink color for the success page.
  
 +
=== alink_color ===
  
print_blank_fields      - If this is set then fields that the user left
+
The alink color for the success page.
  
                          blank will be included in the email. Normally,
+
=== title ===
 +
 
 +
The title for the success page.
  
                          blank fields are suppressed to save space.
+
=== return_link_url ===
 +
 
 +
The target URL for a link at the end of the success page. This is normally used to provide a link from the success page back to your main page or back to the page with the form on. For example:
  
 +
<source lang="html4strict">
 +
<input type="hidden" name="return_link_url" value="/home.html" />
 +
</source>
  
 +
=== return_link_title ===
  
As well as all these hidden inputs, there are a couple of non-hidden
+
The label for the return link.  For example:
  
inputs which get special treatment:
+
<source lang="html4strict">
 +
<input type="hidden" name="return_link_title" value="Back to my home page" />
 +
</source>
  
 +
=== sort ===
 +
   
 +
This sets the order in which the submitted form inputs will appear in the email and on the success page.  It can be the string 'alphabetic' for alphabetic order, or the string "order:" followed by a comma separated list of the input names, for example:
  
 +
<source lang="html4strict">
 +
<input type="hidden" name="sort" value="order:name,email,age,comments" />
 +
</source>
  
email    - If one of the things you're asking the user to fill in is their
+
If "order:" is used you must supply the names of all of the fields that you want to be in the body of the mail message.
  
          email address and you call that input 'email', formmail will use
+
=== required ===
  
          it as the address part of the sender's email address in the
+
This is a list of fields that the user must fill in before they submit the form. If they leave any of these fields blank then they will be sent back to the form to try again.  For example:
  
          email.
+
<input type="hidden" name="required" value="name,comments" />
  
 +
=== missing_fields_redirect ===
  
 +
If this is set, it must be a URL, and the user will be redirected there if any of the fields listed in 'required' are left blank. Use this if you want finer control over the the error that the user see's if they miss out a field.
  
realname - If one of the things you're asking the user to fill in is their
+
=== email ===
  
          full name and you call that input 'realname', formmail will use
+
If one of the things you're asking the user to fill in is their email address and you call that input 'email', formmail will use it as the address part of the sender's email address in the email.
  
          it as the name part of the sender's email address in the email.
+
=== realname ===
 +
If one of the things you're asking the user to fill in is their full name and you call that input 'realname', formmail will use it as the name part of the sender's email address in the email.

Latest revision as of 11:37, 2 December 2008

Feedback Script

Schools who wish to allow users to leave feedback on their websites may use the supplied FormMail feedback script. This is as easy as copying the sample HTML below into your page. This will send the feedback to the email address you specified in your Settings. Advanced users have the option of using the Advanced Configuration variables if they wish.

NMS FormMail

Nms.gif

NMS FormMail is a drop-in replacement for Matt Wright's FormMail script. It converts an HTML form submission to an email message.

Form Configuration

To make use of it, you need to write an HTML form that refers to the FormMail script. Here's an example which will send mail to the address you specified in your Settings when someone submits the form:

Sample HTML

<source lang="html4strict"> <form method="post" action="/feedback/FormMail.pl">

Your name: <input type="text" name="realname" />*
Your email address: <input type="text" name="email" />
Your feedback: <textarea name="feedback" cols="40" rows="5"></textarea>*
<input type="submit" />
       <input type="hidden" name="subject" value="Feedback from your scoilnet Web Hosting form" />
       <input type="hidden" name="required" value="realname,feedback" />

</form> </source>

This is how the form will appear on your site with the above code.

Sample FormMail


See how the hidden 'subject' input in the example above told formmail what to set the mail subject to? This is how almost all of formmail's advanced configuration works. Here's the full list of things you can set with hidden form inputs:

Advanced Configuration Variables

The settings below are recommended for advanced users only.

subject

The subject line for the email. For example:

<source lang="html4strict"> <input type="hidden" name="subject" value="From the feedback form" /> </source>

redirect

If this value is present it should be a URL, and the user will be redirected there after a successful form submission. For example:

<source lang="html4strict"> <input type="hidden" name="redirect" value="http://www.your.domain/thankyou.html" /> </source>

If you don't specify a redirect URL then instead of redirecting formmail will generate a success page telling the user that their submission was successful.

bgcolor

The background color for the success page.

background

The URL of the background image for the success page.

text_color

The text color for the success page.

link_color

The link color for the success page.

vlink_color

The vlink color for the success page.

alink_color

The alink color for the success page.

title

The title for the success page.

return_link_url

The target URL for a link at the end of the success page. This is normally used to provide a link from the success page back to your main page or back to the page with the form on. For example:

<source lang="html4strict"> <input type="hidden" name="return_link_url" value="/home.html" /> </source>

return_link_title

The label for the return link. For example:

<source lang="html4strict"> <input type="hidden" name="return_link_title" value="Back to my home page" /> </source>

sort

This sets the order in which the submitted form inputs will appear in the email and on the success page. It can be the string 'alphabetic' for alphabetic order, or the string "order:" followed by a comma separated list of the input names, for example:

<source lang="html4strict"> <input type="hidden" name="sort" value="order:name,email,age,comments" /> </source>

If "order:" is used you must supply the names of all of the fields that you want to be in the body of the mail message.

required

This is a list of fields that the user must fill in before they submit the form. If they leave any of these fields blank then they will be sent back to the form to try again. For example:

<input type="hidden" name="required" value="name,comments" />

missing_fields_redirect

If this is set, it must be a URL, and the user will be redirected there if any of the fields listed in 'required' are left blank. Use this if you want finer control over the the error that the user see's if they miss out a field.

email

If one of the things you're asking the user to fill in is their email address and you call that input 'email', formmail will use it as the address part of the sender's email address in the email.

realname

If one of the things you're asking the user to fill in is their full name and you call that input 'realname', formmail will use it as the name part of the sender's email address in the email.