Bug in forms- Won't submit because required field is empty but it is not...

Hello,
I have the same bug in both our corporate and French website.
When someone fill in the form, it says that one of the required field is empty, even when it is not:
I put the form in a test page at www2.smasolutions.it/test.html
Please, help me as quickly as you can as the websites are live. We put the simple form for now as it is the only one that is working but we need to grab more info !
Thanks
Esther

Esther,
The field with the label 'Société*' is actually the email field, so it requires a valid email address.
I suspect you changed the label name in Muse from 'Email' to 'Société*'. Change the name of the label back to 'Email' so it's clear to the user what they need to enter in the field...

Similar Messages

  • Prevent submit if required field is empty

    HI.
    I have input text fields that has "Required" property set to true and indeed I can see "*" sign near the field.
    I also have a button on he page .
    How do I prevent the page from being submitted if required field is empty?

    Hi,
    1. point the disabled property of the command button to a managed bean (view scope) that has its default set to "true"
    2. set autoSubmit="true" to the input text component
    3. set a value change listener to point to a method in the same managed bean
    4. If the new value of the textfield is not null or empty, set the managed bean property that the disabled property points to to "false"
    5. Configure the command button Partial Trigger property to point to the ID of the input text field
    Frank

  • Dreamweaver Form Won't Submit- Says Error page cannot be displayed

    My dreamweaver form won't submit because it says there is an error. Am I doing something wrong? I don't know much about forms and how they submit but I heard that in order for their to be a confirmation page I have to create a php page? Here's my code. Thanks!
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>Rental and Availability Information</title>
    <style type="text/css">
    <!--
    @import url("CSS Styles/ThankYou.css");
    .style18 {font-size: 16px; font-weight: bold; }
    .style21 {color: #FFFFFF}
    .style42 {
    font-size: 16px;
    color: #000000;
    font-family: Garamond;
    a:link {
    color: #000000;
    .style43 {
    font-family: Garamond;
    color: #FFFFFF;
    font-weight: bold;
    .style44 {
    font-family: Georgia, "Times New Roman", Times, serif;
    font-size: large;
    -->
    </style>
    <link href="CSS Styles/ActivBorder.css" rel="stylesheet" type="text/css" />
    <link href="CSS Styles/border.css" rel="stylesheet" type="text/css" />
    <style type="text/css">
    <!--
    .style50 {
    font-family: "Goudy Old Style";
    font-weight: bold;
    font-size: 24px;
    color: #FFFFFF;
    .style57 {font-family: Verdana, Arial, Helvetica, sans-serif}
    .style58 {font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 14px; }
    -->
    </style>
    </head>
    <body>
    <form id="form2" name="form2" method="post" action="inquiryreceipt.html">
      <table width="556" border="0" align="center" cellspacing="0" bgcolor="#003366" class="ImageBorder">
        <tr>
          <td colspan="3" valign="top"><div align="center" class="style50"><u>Rental and Availability Information</u></div></td>
        </tr>
        <tr>
          <td width="189"><div align="right" class="style18 style57"><span class="style21">Name:</span></div></td>
          <td colspan="2"><input name="name" type="text" id="name" size="50" maxlength="100" /></td>
        </tr>
        <tr>
          <td><div align="right" class="style18 style57"><span class="style21">Property of Interest: </span></div></td>
          <td colspan="2"><label>
            <select name="property" size="1" id="property">
              <option>Butte Creek</option>
              <option>Casa De Ladrillo</option>
              <option>Collins Island</option>
              <option>The Crosby Estate</option>
              <option>Kailua Beach</option>
              <option>Keefer Ranch</option>
              <option>Koko Head</option>
              <option>Rancho Mirage</option>
              <option>San Diego Luxury High Rise</option>
              <option>Santiago Canyon</option>
              <option>South Lake Tahoe</option>
            </select>
          </label></td>
        </tr>
        <tr>
          <td><div align="right" class="style18 style57"><span class="style21">Dates:</span></div></td>
          <td width="83" align="right" bgcolor="#003366"><div align="right" class="style58">
            <div align="right"><span class="style21">Arrival:</span></div>
          </div></td>
          <td width="270" align="left" bgcolor="#003366" class="FormBorder"><strong>
            <select name="smonth" id="smonth">
              <option>Month</option>
              <option value="January">January</option>
              <option value="February">February</option>
              <option value="March">March</option>
              <option value="April">April</option>
              <option value="May">May</option>
              <option value="June">June</option>
              <option value="July">July</option>
              <option value="August">August</option>
              <option value="Semptember">September</option>
              <option value="Octover">October</option>
              <option value="November">November</option>
              <option value="December">December</option>
            </select>
            <select name="select" id="select">
              <option>Day</option>
              <option value="1">1</option>
              <option value="2">2</option>
              <option value="3">3</option>
              <option value="4">4</option>
              <option value="5">5</option>
              <option value="6">6</option>
              <option value="7">7</option>
              <option value="8">8</option>
              <option value="9">9</option>
              <option value="10">10</option>
              <option value="11">11</option>
              <option value="12">12</option>
              <option value="13">13</option>
              <option value="14">14</option>
              <option value="15">15</option>
              <option value="16">16</option>
              <option value="17">17</option>
              <option value="18">18</option>
              <option value="19">19</option>
              <option value="20">20</option>
              <option value="21">21</option>
              <option value="22">22</option>
              <option value="23">23</option>
              <option value="24">24</option>
              <option value="25">25</option>
              <option value="26">26</option>
              <option value="27">27</option>
              <option value="28">28</option>
              <option value="29">29</option>
              <option value="30">30</option>
              <option value="31">31</option>
            </select>
            <strong><strong>
            <select name="select2" id="select2">
              <option>Year</option>
              <option value="2002">2002</option>
              <option value="2003">2003</option>
              <option value="2004">2004</option>
              <option value="2005">2005</option>
              <option value="2006">2006</option>
              <option value="2007">2007</option>
              <option value="2003">2008</option>
            </select>
            </strong></strong>      </strong>       
          <div align="left"></div>      <div align="left"></div></td>
        </tr>
        <tr>
          <td><span class="style57"></span></td>
          <td bgcolor="#003366"><div align="right" class="style58">
            <div align="right"><span class="style21">Departure:</span></div>
          </div></td>
          <td align="left" valign="middle" bgcolor="#003366" class="FormBorder"><strong>
            <select name="smonth" id="smonth">
              <option>Month</option>
              <option value="January">January</option>
              <option value="February">February</option>
              <option value="March">March</option>
              <option value="April">April</option>
              <option value="May">May</option>
              <option value="June">June</option>
              <option value="July">July</option>
              <option value="August">August</option>
              <option value="Semptember">September</option>
              <option value="Octover">October</option>
              <option value="November">November</option>
              <option value="December">December</option>
            </select>
            <select name="sday" id="sday">
              <option>Day</option>
              <option value="1">1</option>
              <option value="2">2</option>
              <option value="3">3</option>
              <option value="4">4</option>
              <option value="5">5</option>
              <option value="6">6</option>
              <option value="7">7</option>
              <option value="8">8</option>
              <option value="9">9</option>
              <option value="10">10</option>
              <option value="11">11</option>
              <option value="12">12</option>
              <option value="13">13</option>
              <option value="14">14</option>
              <option value="15">15</option>
              <option value="16">16</option>
              <option value="17">17</option>
              <option value="18">18</option>
              <option value="19">19</option>
              <option value="20">20</option>
              <option value="21">21</option>
              <option value="22">22</option>
              <option value="23">23</option>
              <option value="24">24</option>
              <option value="25">25</option>
              <option value="26">26</option>
              <option value="27">27</option>
              <option value="28">28</option>
              <option value="29">29</option>
              <option value="30">30</option>
              <option value="31">31</option>
            </select>
            <strong> <strong><strong>
            <select name="syear" id="syear">
              <option>Year</option>
              <option value="2002">2002</option>
              <option value="2003">2003</option>
              <option value="2004">2004</option>
              <option value="2005">2005</option>
              <option value="2006">2006</option>
              <option value="2007">2007</option>
              <option value="2003">2008</option>
            </select>
            </strong></strong></strong>      </strong></td>
        </tr>
        <tr>
          <td><div align="right" class="style18 style57"><span class="style21">Email:</span></div></td>
          <td colspan="2"><input name="email" type="text" id="email" size="50" maxlength="50" /></td>
        </tr>
        <tr>
          <td><div align="right" class="style18 style57"><span class="style21">Phone: </span></div></td>
          <td colspan="2"><input name="phone" type="text" id="phone" size="30" maxlength="30" /></td>
        </tr>
        <tr>
          <td height="204" valign="top" bgcolor="#003366"><div align="right" class="style18 style57"><span class="style21">Additional Info: </span></div></td>
          <td colspan="2" bgcolor="#003366"><label>
            <textarea name="info" cols="40" rows="10" id="info"></textarea>
          </label></td>
        </tr>
        <tr bgcolor="#660000" class="FormBorder">
          <td height="33" valign="middle" bgcolor="#003366"><label for="Submit"></label>
              <label for="label3"></label></td>
          <td colspan="2" align="center" valign="middle" bgcolor="#003366"><div align="left">
              <input type="reset" name="Reset" value="Clear" id="Submit" />
              <input type="submit" name="Submit" value="Submit" id="label3" />
          </div></td>
        </tr>
        <tr bgcolor="#660000" class="FormBorder">
          <td height="33" valign="middle" bgcolor="#003366"><div align="left" class="style43"><span class="style29 style44"><strong>&laquo;</strong></span> <a href="Index.html" class="style60"><span class="style61 style21"><u>HOME</u></span></a></div></td>
          <td colspan="2" align="center" valign="middle" bgcolor="#003366"> </td>
        </tr>
      </table>
      <div align="center"><span class="style42">&copy;<strong><a href="Index.html">TheBestSpots.com</a>   Phone: (800) 761-9819 Fax: (949) 851-0450 <a href="mailto:[email protected]"><br />
      [email protected]</a></strong></span>  </div>
    </form>
    </body>
    </html>

    I believe my it guys have php on their server. When I look on the internet
    to try and use the form to test it, I get the error:
    The website cannot display the page
    HTTP 500
    Most likely causes:
    The website is under maintenance.
    The website has a programming error.
    What you can try:
    Refresh the page.
    Go back to the previous page.
    Here's one php code I have linked to one of my documents:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>Untitled Document</title>
    <style type="text/css">
    <!--
    .ThankYou {
    background-attachment: fixed;
    background-repeat: no-repeat;
    background-position: center center;
    border: thick dotted #660033;
    font-family: "Times New Roman", Times, serif;
    font-size: 24px;
    font-weight: bold;
    color: #660033;
    font-style: italic;
    background-color: #FFFFFF;
    .style3 {
    font-size: 18px;
    font-style: italic;
    font-weight: bold;
    font-family: Georgia, "Times New Roman", Times, serif;
    color: #000066;
    .style4 {font-size: 30px}
    a:link {
    color: #000066;
    a:visited {
    color: #000000;
    a:hover {
    color: #000000;
    a:active {
    color: #000000;
    -->
    </style>
    </head>
    <body>
    <div align="center">
      <table width="780" height="150" border="1" class="ThankYou">
        <tr>
          <td valign="middle"><div align="center">
            <p class="style4">Thank You For Submitting Your Comments!</p>
            <p>-The Best Spots<br />
              Luxury Vacation Rentals</p>
          </div></td>
        </tr>
      </table>
      <p align="left"><img src="BOPIcon copy.gif" alt="BirdOfParadise" width="36" height="36" /><span class="style3"><a href="Index.html">TheBestSpots.com </a></span></p>
    </div>
    <p>
      <?php
    $txtToAddr = '[email protected]' ;
       $txtSubj = 'Guest Comment From '. $_POST['fname'] . ' ' .  $_POST['lname'] . ' email '. $_POST['email'] . ' Property' . $_POST['property'] ;
    $txtFromAddr = $_POST['email'];
    $txtBody = $startdate = $_POST['smonth']  .  $_POST['sday'] . $_POST['syear'] . ' ' . $enddate = $_POST['emonth'] . $_POST['eday'] . $_POST['eyear'] . ' ' . $_POST['comments'] ;
       $headers = 'From: '. $txtFromAddr . "\r\n" .
        'Reply-To: ' . $txtFromAddr . "\r\n" .
        'X-Mailer: PHP/' . phpversion();
        // echo " Thank you for you request. You will be contacted within 1 business day."; 
        mail( "$txtToAddr", "$txtSubj", "$txtBody", "$headers");
    ?>
    </p>
    <p> </p>
    <p>  </p>
    </body>
    </html>
    And here's the other php code I have linked to the other:
    <?php
    $FM_VERS = "8.05";      // script version
    /* ex:set ts=4 sw=4 et:
    * FormMail PHP script from Tectite.com.  This script requires PHP 4 or later.
    * Copyright (c) 2001-2008 Root Software and Open Concepts Pty Ltd
    * (ABN 93 003 733 499), Melbourne, Australia.
    * This script is free for all use as described in the "Copying and Use" and
    * "Warranty and Disclaimer" sections below.
    * Visit us at http://www.tectite.com/ for updates and more information.
    *** If you use Tectite FormMail, please support its development and other
    *** freeware products by putting the following link on your website:
    ***  Visit www.tectite.com for free <a href="http://www.tectite.com/">form processing script</a>.
    * Author: Russell Robinson, 2nd October 2001
    * Last Modified: RR 14:07 Wed 15 August 2007
    * QVCS Version: $Revision: 1.4 $
    * Read This First
    * ~~~~~~~~~~~~~~~
    *  This script is very well documented and quite large!  It looks daunting,
    *  but really isn't.
    *  If you have experience with PHP or other scripting languages,
    *  here's what you *need* to read:
    *      - Configuration (TARGET_EMAIL & DEF_ALERT)
    *      - Creating Forms
    *  That's it!  (Alternatively, just read the Quick Start and/or
    *  Quicker Start section below).
    *  Full configuration documentation is here:
    *      http://www.tectite.com/fmdoc/index.php
    * Purpose:
    * ~~~~~~~~
    *  To accept information from an HTML form via HTTP and mail it to recipients.
    * What does this PHP script do?
    * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    *  On your web site, you may have one or more HTML forms that accept
    *  information from people visiting your website.  Your aim is for your
    *  website to email that information to you and/or add it to a database.
    *  FormMail performs those functions.
    * Quick Start
    * ~~~~~~~~~~~
    *  1. Edit this file and set TARGET_EMAIL for your requirements (near
    *      line 235 in this file - replace "yourhost\.com" with your mail server's
    *      name).  We also strongly recommend you set DEF_ALERT (the next
    *      configuration below TARGET_EMAIL).
    *  2. Install this file as formmail.php (or other name ending in .php)
    *     on your web server.
    *  3. Create an HTML form and:
    *      - specify a hidden field called "recipients" with the email address
    *        of the person to receive the form's results.
    *      - in the your form tag set the action attribute to
    *        the formmail.php you uploaded to your web server
    *  Once you have FormMail working, you may be interested in some advanced
    *  usage and features.  We have HOW-TO guides at www.tectite.com which
    *  describe many of the advanced processing you can do with FormMail.
    *      http://www.tectite.com/fmhowto/guides.php
    * Quicker Start
    * ~~~~~~~~~~~~~
    *  Use the FormMail Configuration Wizard here:
    *      http://www.tectite.com/wizards/fmconf.php
    *  By answering a few questions you'll get a configured FormMail and
    *  a sample HTML form ready to upload and use on your server.
    * Features
    * ~~~~~~~~
    *  For a list of features go to: http://www.tectite.com/formmailpage.php
    * Security
    * ~~~~~~~~
    *  Security is the primary concern in accepting data from your website
    *  visitors.
    *  Tectite FormMail has several security features designed into it.  Note,
    *  however, it requires configuration for your particular web site.
    * Configuration
    * ~~~~~~~~~~~~~
    *  To configure this script, go to the section titled "CONFIGURATION"
    *  (after reading the legal stuff below).
    *  There is only one mandatory setting: TARGET_EMAIL
    *  and one strongly recommended setting: DEF_ALERT
    *  Full configuration information is available here:
    *      http://www.tectite.com/fmdoc/index.php
    * Creating Forms
    * ~~~~~~~~~~~~~~
    *  Go to this URL to learn how to write HTML forms for use with
    *  Tectite FormMail: http://www.tectite.com/fmdoc/creating_forms.php
    * Copying and Use
    * ~~~~~~~~~~~~~~~
    *  Tectite FormMail is provided free of charge and may be freely distributed
    *  and used provided that you:
    *      1. keep this header, including copyright and comments,
    *         in place and unmodified; and,
    *      2. do not charge a fee for distributing it, without an agreement
    *         in writing with Root Software allowing you to do so; and,
    *      3. if you modify FormMail before distributing it, you clearly
    *         identify:
    *              a) who you are
    *              b) how to contact you
    *              c) what changes you have made
    *              d) why you have made those changes.
    * Warranty and Disclaimer
    * ~~~~~~~~~~~~~~~~~~~~~~~
    *  Tectite FormMail is provided free-of-charge and with ABSOLUTELY NO WARRANTY.
    *  It has not been verified for use in critical applications, including,
    *  but not limited to, medicine, defense, aircraft, space exploration,
    *  or any other potentially dangerous activity.
    *  By using Tectite FormMail you agree to indemnify Root Software and
    *  Open Concepts Pty Ltd, their agents, employees, directors and
    *  associated companies and businesses from any liability whatsoever.
    * We still care
    * ~~~~~~~~~~~~~
    *  If you find a bug or fault in FormMail, please report it to us.
    *  We will respond to your report and make endeavours to rectify any
    *  faults you've detected as soon as possible.
    *  To contact us please register on our forums at:
    *      http://www.tectite.com/vbforums/
    *  or view our contact information:
    *      http://www.tectite.com/contacts.php
    * Version History
    * ~~~~~~~~~~~~~~~
    *  Near the top of this file, you'll find its version. The version
    *  line looks like this:
    *       $FM_VERS = "N.MM";     /* script version ...
    *  The version history used to be located within this file.  However,
    *  starting with Version 8.00 we've moved it...
    *  You can read the complete version history of FormMail on our
    *  main website here:
    *   http://www.tectite.com/fmdoc/version_history.php
        // Capture the current date and time, for various purposes.
    $lNow = time();
    set_magic_quotes_runtime(0);        // disable this silly setting (usually not enabled)
    ini_set('track_errors',1);          // enable $php_errormsg
    $aAlertInfo = array();
    $aPHPVERSION = array();
    $sLangID = "";                      // the language ID
    $aMessages = array();               // all FormMail messages in the appropriate
                                        // language
    $bUseOldVars = IsOldVersion($aPHPVERSION);
        // seed the random number generate if not version 4.2.0 or later
    if (!IsPHPAtLeast("4.2.0"))
        mt_srand(time());
        // we set references to the appropriate arrays to handle PHP version differences
        // Session vars are selected after we start the session.
    if ($bUseOldVars)
        $aServerVars = &$HTTP_SERVER_VARS;
        $aGetVars = &$HTTP_GET_VARS;
        $aFormVars = &$HTTP_POST_VARS;
        $aFileVars = &$HTTP_POST_FILES;
        $aEnvVars = &$HTTP_ENV_VARS;
    else
        $aServerVars = &$_SERVER;
        $aGetVars = &$_GET;
        $aFormVars = &$_POST;
        $aFileVars = &$_FILES;
        $aEnvVars = &$_ENV;
    $bIsGetMethod = false;
        // If the form submission was using the GET method, switch to the
        // GET vars instead of the POST vars
    if (isset($aServerVars["REQUEST_METHOD"]) && $aServerVars["REQUEST_METHOD"] === "GET")
        $bIsGetMethod = true;
        if ($bUseOldVars)
            $aFormVars = &$HTTP_GET_VARS;
        else
            $aFormVars = &$_GET;
    if (!isset($REAL_DOCUMENT_ROOT))
        SetRealDocumentRoot();
    if (isset($aServerVars['SERVER_PORT']))
        $SCHEME = ($aServerVars['SERVER_PORT'] == 80) ? "http://" : "https://";
    else
        $SCHEME = "";
    if (isset($aServerVars['SERVER_NAME']))
        $SERVER = $aServerVars['SERVER_NAME'];
    else
        $SERVER = "";
    /* CONFIGURATION (do not alter this line in any way!!!)                      */
    * This is the *only* place where you need to modify things to use formmail.php
    * on your particular system.  This section finishes at "END OF CONFIGURATION".
    * Help for all settings can be found on our website:
    *  http://www.tectite.com/fmdoc/index.php
    * Also, above each setting is a direct URL to the help information for the
    * setting.
                /* Help: http://www.tectite.com/fmdoc/email_name.php */
    define("EMAIL_NAME","^[-a-z0-9.]+");    // the '^' is an important security feature!
                /* Help: http://www.tectite.com/fmdoc/target_email.php */
    $TARGET_EMAIL = array(EMAIL_NAME."@thebestspots\.com$");
                /* Help: http://www.tectite.com/fmdoc/def_alert.php */
    define("DEF_ALERT","[email protected]");
                /* Help: http://www.tectite.com/fmdoc/set_real_document_root.php */
    $SET_REAL_DOCUMENT_ROOT = "";       // overrides the value set by SetRealDocumentRoot function
        // override $REAL_DOCUMENT_ROOT from the $SET_REAL_DOCUMENT_ROOT value (if any)
        // Do not alter the following code (next 3 lines)!
    if (isset($SET_REAL_DOCUMENT_ROOT) && $SET_REAL_DOCUMENT_ROOT !== "")
        $REAL_DOCUMENT_ROOT = $SET_REAL_DOCUMENT_ROOT;
                /* Help: http://www.tectite.com/fmdoc/config_check.php */
    $CONFIG_CHECK = array("TARGET_EMAIL");
                /* Help: http://www.tectite.com/fmdoc/at_mangle.php */
    define("AT_MANGLE","5VLNXQL");
                /* Help: http://www.tectite.com/fmdoc/target_urls.php */
    $TARGET_URLS = array();         // default; no URLs allowed
                /* Help: http://www.tectite.com/fmdoc/head_crlf.php */
    define("HEAD_CRLF","\r\n");
                /* Help: http://www.tectite.com/fmdoc/body_lf.php */
    define("BODY_LF","\r\n");       // the new default: use this for CR+LF
    //define("BODY_LF","\n");       // the old default: just LF
                /* Help: http://www.tectite.com/fmdoc/from_user.php */
    $FROM_USER = "";                            // the default - setting not used
                /* Help: http://www.tectite.com/fmdoc/sendmail_f_option.php */
    define("SENDMAIL_F_OPTION",false);
    define("SENDMAIL_F_OPTION_LINE",__LINE__-1);    // don't modify this line!
                /* Help: http://www.tectite.com/fmdoc/fixed_sender.php */
    $FIXED_SENDER = "";
                /* Help: http://www.tectite.com/fmdoc/set_sender_from_email.php */
    define("SET_SENDER_FROM_EMAIL",false);
                /* Help: http://www.tectite.com/fmdoc/ini_set_from.php */
    define("INI_SET_FROM",false);
                /* Help: http://www.tectite.com/fmdoc/logdir.php */
    $LOGDIR = "";                           // directory for log files; empty string to
                                            // disallow log files
                /* Help: http://www.tectite.com/fmdoc/autorespondlog.php */
    $AUTORESPONDLOG = "";           // file name in $LOGDIR for the auto responder
                                    // log; empty string for no auto responder log
                /* Help: http://www.tectite.com/fmdoc/csv_file_settings.php */
    $CSVDIR = "";                       // directory for csv files; empty string to
                                        // disallow csv files
    $CSVSEP = ",";      // comma separator between fields (columns)
    $CSVINTSEP = ";";   // semicolon is the separator for fields (columns)
                        // with multiple values (checkboxes, etc.)
    $CSVQUOTE = '"';    // all fields in the CSV are quoted with this character;
                        // default is double quote.  You can change it to
                        // single quote or leave it empty for no quotes.
    //$CSVQUOTE = "'";  // use this if you want single quotes
    $CSVOPEN = "";      // set to "b" to force line terminations to be
                        // kept as $CSVLINE setting below, regardless of
                        // operating system.  Keep as empty string and
                        // leave $CSVLINE unchanged, to get text file
                        // terminations for your server's operating system.
                        // (Line feed on UNIX, carriage-return line feed on Windows).
    $CSVLINE = "\n";    // line termination for CSV files.  The default is
                        // a single line feed, which may be modified for your
                        // server's operating system.  If you want to change
                        // this value, you *must* set $CSVOPEN = "b".
                /* Help: http://www.tectite.com/fmdoc/templatedir.php */
    $TEMPLATEDIR = "";                  // directory for template files; empty string
                                        // if you don't have any templates
                /* Help: http://www.tectite.com/fmdoc/templateurl.php */
    $TEMPLATEURL = "";                  // default; no template URL
                /* Help: http://www.tectite.com/fmdoc/multiformdir.php */
    $MULTIFORMDIR = "";         // directory for multi-form template files; empty string
                                // if you're not using multi-forms
                /* Help: http://www.tectite.com/fmdoc/multiformurl.php */
    $MULTIFORMURL = "";                 // default; no multi-forms templates URL
                /* Help: http://www.tectite.com/fmdoc/authentication_settings.php */
    $AUTHENTICATE = "";
    //$AUTHENTICATE = "Basic cnVzc2VsbHI6dGVzdA==";        // example
    $AUTH_USER = "";
    $AUTH_PW = "";
                /* Help: http://www.tectite.com/fmdoc/form_ini_file.php */
    $FORM_INI_FILE = "";
                /* Help: http://www.tectite.com/fmdoc/moduledir.php */
    $MODULEDIR = ".";
                /* Help: http://www.tectite.com/fmdoc/fmcompute.php */
    $FMCOMPUTE = "fmcompute.php";
                /* Help: http://www.tectite.com/fmdoc/fmgeoip.php */
    $FMGEOIP = "fmgeoip.php";
                /* Help: http://www.tectite.com/fmdoc/advanced_templates.php */
    define("ADVANCED_TEMPLATES",false);     // set to true for advanced templates
                /* Help: http://www.tectite.com/fmdoc/limited_import.php */
    define("LIMITED_IMPORT",true);      // set to true if your database cannot
                                        // handle escaped quotes or newlines within
                                        // imported data.  Microsoft Access is one
                                        // example.
                /* Help: http://www.tectite.com/fmdoc/valid_env.php */
    $VALID_ENV = array('HTTP_REFERER','REMOTE_HOST','REMOTE_ADDR','REMOTE_USER',
                    'HTTP_USER_AGENT');
                /* Help: http://www.tectite.com/fmdoc/fileuploads.php */
    define("FILEUPLOADS",false);        // set to true to allow file attachments
                /* Help: http://www.tectite.com/fmdoc/max_file_upload_size.php */
    define("MAX_FILE_UPLOAD_SIZE",0);       // default of 0 means that other software
                                            // controls the maximum file upload size
                                            // (FormMail doesn't test the file size)
                /* Help: http://www.tectite.com/fmdoc/file_repository.php */
    $FILE_REPOSITORY = "";
                /* Help: http://www.tectite.com/fmdoc/file_mode.php */
    define("FILE_MODE",0664);     // always precede with 0 to specify octal!
                /* Help: http://www.tectite.com/fmdoc/file_overwrite.php */
    define("FILE_OVERWRITE",true);
                /* Help: http://www.tectite.com/fmdoc/next_num_file.php */
    $NEXT_NUM_FILE = "";
                /* Help: http://www.tectite.com/fmdoc/put_data_in_url.php */
    define("PUT_DATA_IN_URL",true); // set to true to place data in the URL
                                        // for bad_url redirects
                /* Help: http://www.tectite.com/fmdoc/db_see_input.php */
    define("DB_SEE_INPUT",false);       // set to true to just see the input values
                /* Help: http://www.tectite.com/fmdoc/db_see_ini.php */
    define("DB_SEE_INI",false);     // set to true to just see the ini file
                /* Help: http://www.tectite.com/fmdoc/maxstring.php */
    define("MAXSTRING",1024);           // maximum string length for a value
                /* Help: http://www.tectite.com/fmdoc/bshowmesgnumbers.php */
    $bShowMesgNumbers = false;
                /* Help: http://www.tectite.com/fmdoc/filters.php */
                /* Note for Tectite personnel: the upgrade Wizard will merge new values
                 * but be careful of $var usage and quoting in new entries.
    $FILTERS = array("encode"=>"$REAL_DOCUMENT_ROOT/cgi-bin/fmencoder -kpubkey.txt",
                    "null"=>"null",
                    "csv"=>"csv");
                /* Help: http://www.tectite.com/fmdoc/socket_filters.php */
    $SOCKET_FILTERS = array(
                     "httpencode"=>array("site"=>"YourSiteHere",
                        "port"=>80,
                        "path"=>"/cgi-bin/fmencoder",
                        "params"=>array(array("name"=>"key",
                                "file"=>"$REAL_DOCUMENT_ROOT/cgi-bin/pubkey.txt"))),
                     "sslencode"=>array("site"=>"ssl://YourSecureSiteHere",
                        "port"=>443,
                        "path"=>"/cgi-bin/fmencoder",
                        "params"=>array(array("name"=>"key",
                                "file"=>"$REAL_DOCUMENT_ROOT/cgi-bin/pubkey.txt"))),
                /* Help: http://www.tectite.com/fmdoc/filter_attribs.php */
    $FILTER_ATTRIBS = array("encode"=>"Strips,MIME=application/vnd.fmencoded,Encrypts",
                            "httpencode"=>"Strips,MIME=application/vnd.fmencoded,Encrypts",
                            "sslencode"=>"Strips,MIME=application/vnd.fmencoded,Encrypts",
                            "csv"=>"Strips,MIME=text/csv",);
                /* Help: http://www.tectite.com/fmdoc/check_for_new_version.php */
    define("CHECK_FOR_NEW_VERSION",true);
    define("CHECK_DAYS",30);
                /* Help: http://www.tectite.com/fmdoc/scratch_pad.php */
    $SCRATCH_PAD = "";
                /* Help: http://www.tectite.com/fmdoc/cleanup_time.php */
    $CLEANUP_TIME = 60;     // cleanup time in minutes
                /* Help: http://www.tectite.com/fmdoc/cleanup_chance.php */
    $CLEANUP_CHANCE = 20;     // percentage probability that cleanup will be performed
                /* Help: http://www.tectite.com/fmdoc/pear_settings.php */
    $PEAR_SMTP_HOST = "";
    $PEAR_SMTP_PORT = 25;
    $PEAR_SMTP_USER = "";
    $PEAR_SMTP_PWD = "";
                /* Help: http://www.tectite.com/fmdoc/alert_on_user_error.php */
    define("ALERT_ON_USER_ERROR",true);
                /* Help: http://www.tectite.com/fmdoc/enable_attack_detection.php */
    define("ENABLE_ATTACK_DETECTION",true);
                /* Help: http://www.tectite.com/fmdoc/attack_detection_url.php */
    define("ATTACK_DETECTION_URL","");
                /* Help: http://www.tectite.com/fmdoc/alert_on_attack_detection.php */
    define("ALERT_ON_ATTACK_DETECTION",false);
                /* Help: http://www.tectite.com/fmdoc/attack_detection_mime.php */
    define("ATTACK_DETECTION_MIME",true);
                /* Help: http://www.tectite.com/fmdoc/attack_detection_dups.php */
    $ATTACK_DETECTION_DUPS = array("realname","address1","address2","country","zip",
                                    "phone","postcode","state","email");
                /* Help: http://www.tectite.com/fmdoc/attack_detection_specials.php */
    define("ATTACK_DETECTION_SPECIALS",true);
                /* Help: http://www.tectite.com/fmdoc/attack_detection_specials.php */
    $ATTACK_DETECTION_SPECIALS_ONLY_EMAIL = array("derive_fields","required",
                        "mail_options","good_url","bad_url","good_template",
                        "bad_template");
                /* Help: http://www.tectite.com/fmdoc/attack_detection_specials.php */
    $ATTACK_DETECTION_SPECIALS_ANY_EMAIL = array("subject");
                /* Help: http://www.tectite.com/fmdoc/attack_detection_many_urls.php */
    define("ATTACK_DETECTION_MANY_URLS",0);
                /* Help: http://www.tectite.com/fmdoc/attack_detection_many_url_fields.php */
    define("ATTACK_DETECTION_MANY_URL_FIELDS",0);
                /* Help: http://www.tectite.com/fmdoc/attack_detection_url_patterns.php */
    $ATTACK_DETECTION_URL_PATTERNS = array(
                '(^|[^-a-z_.0-9]+)(?<!@)([-a-z0-9]+\.)+(com|org|net|biz|info|name|pro|tel|asia|cat)\b',
                '(^|[^-a-z_.0-9]+)(?<!@)([-a-z0-9]+\.)+(com{0,1}|org|net)\.[a-z][a-z]\b');
                /* Help: http://www.tectite.com/fmdoc/attack_detection_ignore_errors.php */
    define("ATTACK_DETECTION_IGNORE_ERRORS",false);
                /* Help: http://www.tectite.com/fmdoc/geoip_lic.php */
    $GEOIP_LIC = "";        // default - no GeoIP
                /* Help: http://www.tectite.com/fmdoc/zero_is_empty.php */
    define("ZERO_IS_EMPTY",false);
                /* Help: http://www.tectite.com/fmdoc/session_name.php */
    $SESSION_NAME = "";
                /* Help: http://www.tectite.com/fmdoc/hook_dir.php */
    $HOOK_DIR = "";
    /* UPGRADE CONTROL
    ** FILTERS:lt:8.04:merge:The FILTERS configuration has
    ** been modified to include some new standard filters.:
    ** FILTER_ATTRIBS:lt:8.04:no_keep:The FILTER_ATTRIBS configuration has
    ** been modified to include new information about the standard filters.:
    ** ATTACK_DETECTION_URL_PATTERNS:eq:8.02:no_keep:The ATTACK_DETECTION_URL_PATTERNS
    ** configuration has been modified to fix a bug.:
    ** FILTER_ATTRIBS:lt:4.00:no_keep:The FILTER_ATTRIBS configuration has
    ** been modified to include new information about the standard filters.:
    ** SET_REAL_DOCUMENT_ROOT:gt:4.07:copy_from=REAL_DOCUMENT_ROOT:The
    ** REAL_DOCUMENT_ROOT configuration has been renamed to SET_REAL_DOCUMENT_ROOT.:
    ** EMAIL_NAME:lt:6.01:no_keep:The EMAIL_NAME configuration has
    ** been modified to match hyphens ('-') in email addresses.:
    ** ZERO_IS_EMPTY:le:6.01:set_to=true:ZERO_IS_EMPTY has been
    ** set to a value that duplicates previous behaviour.:
    ** END OF CONTROL
    /* END OF CONFIGURATION (do not alter this line in any way!!!)               */
        // the following constants define all FormMail messages
    define('MSG_SCRIPT_VERSION',0);     // This script requires at least PHP version...
    define('MSG_END_VERS_CHK',1);       // If you're happy...
    define('MSG_VERS_CHK',2);           // A later version of FormMail is available...
    define('MSG_CHK_FILE_ERROR',3);     // Unable to create check file...
    define('MSG_UNK_VALUE_SPEC',4);     // derive_fields: unknown value specification...
    define('MSG_INV_VALUE_SPEC',5);     // derive_fields: invalid value specification...
    define('MSG_DERIVED_INVALID',6);    // Some derive_fields specifications...
    define('MSG_INT_FORM_ERROR',7);     // Internal form error...
    define('MSG_OPTIONS_INVALID',8);    // Some mail_options settings...
    define('MSG_PLSWAIT_REDIR',9);      // Please wait while you are redirected...
    define('MSG_IFNOT_REDIR',10);       // If you are not redirected...
    define('MSG_PEAR_OBJ',11);          // Failed to create PEAR Mail object...
    define('MSG_PEAR_ERROR',12);        // PEAR Mail error...
    define('MSG_NO_FOPT_ADDR',13);      // You have specified "SendMailFOption"...
    define('MSG_MORE_INFO',14);         // More information...
    define('MSG_INFO_STOPPED',15);      // Extra alert information suppressed...
    define('MSG_FM_ALERT',16);          // FormMail alert
    define('MSG_FM_ERROR',17);          // FormMail script error
    define('MSG_FM_ERROR_LINE',18);     // The following error occurred...
    define('MSG_USERDATA_STOPPED',19);  // User data suppressed...
    define('MSG_FILTERED',20);          // This alert has been filtered...
    define('MSG_TEMPLATES',21);         // You must set either TEMPLATEDIR or TEMPLATEURL...
    define('MSG_OPEN_TEMPLATE',22);     // Failed to open template...
    define('MSG_ERROR_PROC',23);        // An error occurred while processing...
    define('MSG_ALERT_DONE',24);        // Our staff have been alerted...
    define('MSG_PLS_CONTACT',25);       // Please contact us directly...
    define('MSG_APOLOGY',26);           // We apologize for any inconvenience...
    define('MSG_ABOUT_FORMMAIL',27);    // Your form submission was processed by...
    define('MSG_PREG_FAI

  • Submit clearing required field

    I have two buttons on my pdf file.  One that submits the form by proxy and another that prints the form (print form checks that the raw value of the fields is not null).  I extended the form for reader.
    In reader, when I either save the form or submit the form by email and reopen  try to click print form it says that the required fields are not filled?
    Also, empty fields are replaced by default values?
    How can I fix this is there a recalculate or reset I need to do on document open?

    I have another question about the bindings.  At the bottom of the form, I
    have an order table that I am adding instances to.
    I would like that to be bound to the xml schema as well.  However, if I bind
    that data it does not save new instances in the xml.  Initially, I load the
    pdf with a xml file to fill the ordering options.   If I put multiple rows
    in the xml it will adjust those if I change the data, but won't insert new
    rows into the dataset.  So, when I close and reopen the pdf the rows
    disappear.

  • Good day, tell me what to do iphone 4s bought preowned raised to 7.2 firmware but it requires aktivatsyi apple id but I do not know it because they do not buy a new one. and contact the seller lost in what to do now tell me?

    Good day, tell me what to do iphone 4s bought preowned raised to 7.2 firmware but it requires aktivatsyi apple id but I do not know it because they do not buy a new one. and contact the seller lost in what to do now tell me?

    There is no way around the activation lock. You apparently decided to use the phone with someone else's ID set up for an iCloud (and find my iPhone) account before updating. Since Find My iPhone was active, updating to iOS 7 has automatically turned on the activation lock. If you do not have the Apple ID and password that were previously used, then the phone is now useless. You can't activate it without that informaion.
    Talk to whoever you bought the phone from if you can. If you can't, buy a new phone.

  • I have downloaded v10.7.2, but it won't install because it cannot be verified. It will not download again.

    I have downloaded v10.7.2, but it won't install because it cannot be verified. It will not download again.

    Something like this:

  • At least one required field was empty on export. Please fill in the required fields (highlighted)

    "At least one required field was empty on export. Please fill in the required fields (highlighted)"
    I'm tearing my hair out with this one. Have checked all the fields to confirm if I had set the Type as User Entered - Required. Can't find any such field. Any help would be appreciated. Is there an email id where I can send the form?

    Hi,
    In your script when you make an object visible, you also make it mandatory. No problem there!
    However the script that hides the object goes through this sequence:
    hide the object, THEN
    make it optional/not mandatory.
    This is where the problem lies.
    You FIRST need to make the object optional/not mandatory AND THEN hide the object. It should just be a simple case of work through the various scripts and having the mandatory line before the presence line.
    There is an example here: http://assure.ly/hxHupW.
    Hope that helps,
    Niall

  • I bought a mac air yesterday and i was trying to download maverick but i could not do it, i try to download the old version of numbers because i needed for work, but i could not neither, but now when i check to download numbers is asking for to pay?

    i bought a mac air yesterday and i was trying to download maverick but i could not do it, i try to download the old version of numbers because i needed for work, but i could not neither, but now when i check to download numbers is asking for to pay?

    You are mixing different issues. I will address Numbers.
    Has Numbers ever been installed on this new Mac? Did you have the Mac App Store version of Numbers or did you have the DVD version of Numbers?
    You should be able to redownload a previous purchase of the Mac App Store version of Numbers from the Purchases pane after signing into your account.
    If you had the DVD version, then you will need to install that from the DVD media.

  • Form won't submit, newbie, probably being an idiot

    Probbally being an absolute idiot as completely new to web design, but really stuck, all help hugely appreciated...
    form on http://www.refuseboredom.com/EasterHolidays.html, form is validating itself but doesnt post??
    its supposed to be going to a FormMail.pl which is in the base directory, hosting with godaddy who accept perl scripts and say the script can be put anywhere on the server,
    Don't know what i'm missing!!
    Form Code:
    <div id ="form" >
          <form action="FormMail.pl" method="post" name="form1" target="_top" id="bookingform">
         <input type=hidden name="redirect" value="http://www.refuseboredom.com/thankyou.html" />
         <h2>BOOK HERE</h2>
         <input type=hidden name="recipient" value="[email protected]">
           <div>
            <span id="sprytextfield1">
            <label for="FirstName">Parent/Guardian First Name:</label>
            <input type="text" name="FirstName" id="FirstName" tabindex="1" />
            <span class="textfieldRequiredMsg">A value is required.</span></span>
            </div>
    <span id="sprytextfield2">
    <label for="LastName">Parent/Guardian Surname:</label>
    <input type="text" name="LastName" id="LastName" tabindex="2" />
    <span class="textfieldRequiredMsg">A value is required.</span></span>
         <div>
          <span id="sprytextfield3">
          <label for="Address1">Address 1st line:</label>
          <input type="text" name="Address1" id="Address1" tabindex="3" />
          <span class="textfieldRequiredMsg">A value is required.</span></span>
          </div>
          <div>
          <span id="sprytextfield4">
          <label for="Address2">Address 2nd Line:</label>
          <input type="text" name="Address2" id="Address2" tabindex="4" />
          <span class="textfieldRequiredMsg">A value is required.</span></span>
          </div>
          <div>
          <span id="sprytextfield5">
          <label for="City">City: </label>
          <input type="text" name="City" id="City" tabindex="5" />
          <span class="textfieldRequiredMsg">A value is required.</span></span>
          </div>
          <div>
          <span id="sprytextfield6">
          <label for="Postcode">Postcode:</label>
          <input type="text" name="Postcode" id="Postcode" tabindex="6" />
          <span class="textfieldRequiredMsg">A value is required.</span></span>
          </div>
          <div>
          <span id="sprytextfield7">
          <label for="Phone">Prefered Contact number:</label>
          <input type="text" name="Phone" id="Phone" tabindex="7" />
          <span class="textfieldRequiredMsg">A value is required.</span></span>
          </div>
          <div>
          <span id="sprytextfield8">
          <label for="Email">Email Address</label>
          <input type="text" name="Email" id="Email" tabindex="8" />
          <span class="textfieldRequiredMsg"></span><span class="textfieldInvalidFormatMsg">Not a Valid E-mail Address</span></span>
          </div>
          <div id="select1">
          <label for="Quantity"> Number of children you would like to book for:</label>
          <select name="Quantity" id="Quantity" tabindex="9" class="Quantity" >
            <option>1</option>
            <option>2</option>
            <option>3</option>
          </select>
          </div>
          <div id="Child1Div">
          <span id="sprytextfield9">
          <label for="Child1">Child's Name:</label>
          <input type="text" name="Child1" id="Child1" tabindex="10" />
          <span class="textfieldRequiredMsg">A value is required.</span></span>
          <span id="spryselect2">
          <label for="Child1Age">Child's Age:</label>
          <select name="Child1Age" id="Child1Age" tabindex="11">
            <option value="10">10</option>
            <option value="11">11</option>
            <option value="12">12</option>
            <option value="13">13</option>
            <option value="14">14</option>
            <option value="15">15</option>
          </select>
          <span class="selectRequiredMsg">Please select an item.</span></span>
          </div>
      <div id="Child2Div">
        <span id="sprytextfield10">
          <label for="child2">Child's name:</label>
          <input type="text" name="child2" id="child2" />
          <span class="textfieldRequiredMsg">A value is required.</span></span>
          <span id="spryselect3">
          <label for="Child2Age">Child's Age:</label>
          <select name="Child2Age" id="Child2Age">
          <option>10</option>
            <option value="10">10</option>
            <option value="11">11</option>
            <option value="12">12</option>
            <option value="13">13</option>
            <option value="14">14</option>
            <option value="15">15</option>
          </select>
          <span class="selectRequiredMsg">Please select an item.</span></span>
    </div>
       <div id="Child3Div">
          <span id="sprytextfield11">
          <label for="Child3">Child's Name:</label>
          <input type="text" name="Child3" id="Child3" />
          <span class="textfieldRequiredMsg">A value is required.</span></span>
          <span id="spryselect4">
          <label for="Child3Age">Child's Age:</label>
          <select name="Child3Age" id="Child3Age">
            <option value="10">10</option>
            <option value="11">11</option>
            <option value="12">12</option>
            <option value="13">13</option>
            <option value="14">14</option>
            <option value="15">15</option>
          </select>
          <span class="selectRequiredMsg">Please select an item.</span></span>
        </div>
        <div>
          <span id="spryselect5">
          <label for="Type">Holiday Dates:</label>
          <select name="Type" id="Type" tabindex="12">
            <option value="Easter2week">2 Week Easter Holiday: April 2nd -  April 13th</option>
            <option value="April2nd1week">First Week: April 2nd - April 6th</option>
            <option value="April9th1week">Second Week: April 9th - April 13th</option>
            <option value="Easterspecial">Easter Special: 2 weeks</option>
          </select>
          <span class="selectRequiredMsg">Please select an item.</span></span>
              </div>
          <div id="Notes">
          <label for="Notes">Please use this area to let us know of any special requirements including medical and dietary needs that we may need to be aware of, if your child is applying with a friend please let us know here as well so we can try and make sure their on the same team: </label><br />
          <textarea name="Notes" id="Notes" cols="45" rows="5" tabindex="13"></textarea>
          </div>
          <input name="submit"  type="submit" id="submit" tabindex="14" value="Book Now" />
          </form>
          </div>
    FormMail.pl Code:
    #!/usr/bin/perl
    # FormMail                        Version 1.93                               #
    # Copyright 1995-2009 Matt Wright [email protected]                    #
    # Created 1995-06-09              Last Modified 2009-07-14                   #
    # Matt's Script Archive, Inc.:    http://www.scriptarchive.com/              #
    # COPYRIGHT NOTICE                                                           #
    # Copyright 1995-2009 Matthew M. Wright  All Rights Reserved.                #
    # FormMail may be used and modified free of charge by anyone so long as this #
    # copyright notice and the comments above remain intact.  By using this      #
    # code you agree to indemnify Matthew M. Wright from any liability that      #
    # might arise from its use.                                                  #
    # Selling the code for this program without prior written consent is         #
    # expressly forbidden.  In other words, please ask first before you try and  #
    # make money off of my program.                                              #
    # Obtain permission before redistributing this software over the Internet or #
    # in any other medium. In all cases copyright and header must remain intact. #
    # ACCESS CONTROL FIX: Peter D. Thompson Yezek                                #
    # XSS + REDIRECT FIX: Francesco Ongaro, Giovanni Pellerano & Antonio Parata  #
    #   v1.93             http://www.ush.it/team/ush/hack-formmail_192/adv.txt   #
    # Define Variables                                                           #
    #      Detailed Information Found In README File.                            #
    # $mailprog defines the location of your sendmail program on your unix       #
    # system. The flags -i and -t should be passed to sendmail in order to       #
    # have it ignore single dots on a line and to read message for recipients    #
    $mailprog = 'smtp.europe.secureserver.net -i -t';
    # @referers allows forms to be located only on servers which are defined     #
    # in this field.  This is a security fix to prevent others from using your   #
    # FormMail script on their web site.                                         #
    @referers = ('refuseboredom.com');
    # @recipients defines the e-mail addresses or domain names that e-mail can   #
    # be sent to.  This must be filled in correctly to prevent SPAM and allow    #
    # valid addresses to receive e-mail.  Read the documentation to find out how #
    # this variable works!!!  It is EXTREMELY IMPORTANT.                         #
    @recipients = ('^admin\@refuseboredom\.com');
    # ACCESS CONTROL FIX: Peter D. Thompson Yezek                                #
    # @valid_ENV allows the sysadmin to define what environment variables can    #
    # be reported via the env_report directive.  This was implemented to fix     #
    # the problem reported at http://www.securityfocus.com/bid/1187              #
    @valid_ENV = ('REMOTE_HOST','REMOTE_ADDR','REMOTE_USER','HTTP_USER_AGENT');
    # Done                                                                       #
    # Check Referring URL
    &check_url;
    # Retrieve Date
    &get_date;
    # Parse Form Contents
    &parse_form;
    # Check Required Fields
    &check_required;
    # Send E-Mail
    &send_mail;
    # Return HTML Page or Redirect User
    &return_html;
    # NOTE rev1.91: This function is no longer intended to stop abuse, that      #
    #    functionality is now embedded in the checks made on @recipients and the #
    #    recipient form field.                                                   #
    sub check_url {
        # Localize the check_referer flag which determines if user is valid.     #
        local($check_referer) = 0;
        # If a referring URL was specified, for each valid referer, make sure    #
        # that a valid referring URL was passed to FormMail.                     #
        if ($ENV{'HTTP_REFERER'}) {
            foreach $referer (@referers) {
                if ($ENV{'HTTP_REFERER'} =~ m|https?://([^/]*)$referer|i) {
                    $check_referer = 1;
                    last;
        else {
            $check_referer = 1;
        # If the HTTP_REFERER was invalid, send back an error.                   #
        if ($check_referer != 1) { &error('bad_referer') }
    sub get_date {
        # Define arrays for the day of the week and month of the year.           #
        @days   = ('Sunday','Monday','Tuesday','Wednesday',
                   'Thursday','Friday','Saturday');
        @months = ('January','February','March','April','May','June','July',
                   'August','September','October','November','December');
        # Get the current time and format the hour, minutes and seconds.  Add    #
        # 1900 to the year to get the full 4 digit year.                         #
        ($sec,$min,$hour,$mday,$mon,$year,$wday) = (localtime(time))[0,1,2,3,4,5,6];
        $time = sprintf("%02d:%02d:%02d",$hour,$min,$sec);
        $year += 1900;
        # Format the date.                                                       #
        $date = "$days[$wday], $months[$mon] $mday, $year at $time";
    sub parse_form {
        # Define the configuration associative array.                            #
        %Config = ('recipient','',          'subject','',
                   'email','',              'realname','',
                   'redirect','',           'bgcolor','',
                   'background','',         'link_color','',
                   'vlink_color','',        'text_color','',
                   'alink_color','',        'title','',
                   'sort','',               'print_config','',
                   'required','',           'env_report','',
                   'return_link_title','',  'return_link_url','',
                   'print_blank_fields','', 'missing_fields_redirect','');
        # Determine the form's REQUEST_METHOD (GET or POST) and split the form   #
        # fields up into their name-value pairs.  If the REQUEST_METHOD was      #
        # not GET or POST, send an error.                                        #
        if ($ENV{'REQUEST_METHOD'} eq 'GET') {
            # Split the name-value pairs
            @pairs = split(/&/, $ENV{'QUERY_STRING'});
        elsif ($ENV{'REQUEST_METHOD'} eq 'POST') {
            # Get the input
            read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});
            # Split the name-value pairs
            @pairs = split(/&/, $buffer);
        else {
            &error('request_method');
        # For each name-value pair:                                              #
        foreach $pair (@pairs) {
            # Split the pair up into individual variables.                       #
            local($name, $value) = split(/=/, $pair);
            # Decode the form encoding on the name and value variables.          #
            # v1.92: remove null bytes                                           #
            $name =~ tr/+/ /;
            $name =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
            $name =~ tr/\0//d;
            $value =~ tr/+/ /;
            $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
            $value =~ tr/\0//d;
            # If the field name has been specified in the %Config array, it will #
            # return a 1 for defined($Config{$name}}) and we should associate    #
            # this value with the appropriate configuration variable.  If this   #
            # is not a configuration form field, put it into the associative     #
            # array %Form, appending the value with a ', ' if there is already a #
            # value present.  We also save the order of the form fields in the   #
            # @Field_Order array so we can use this order for the generic sort.  #
            if (defined($Config{$name})) {
                $Config{$name} = $value;
            else {
                if ($Form{$name} ne '') {
                    $Form{$name} = "$Form{$name}, $value";
                else {
                    push(@Field_Order,$name);
                    $Form{$name} = $value;
        # The next six lines remove any extra spaces or new lines from the       #
        # configuration variables, which may have been caused if your editor     #
        # wraps lines after a certain length or if you used spaces between field #
        # names or environment variables.                                        #
        $Config{'required'} =~ s/(\s+|\n)?,(\s+|\n)?/,/g;
        $Config{'required'} =~ s/(\s+)?\n+(\s+)?//g;
        $Config{'env_report'} =~ s/(\s+|\n)?,(\s+|\n)?/,/g;
        $Config{'env_report'} =~ s/(\s+)?\n+(\s+)?//g;
        $Config{'print_config'} =~ s/(\s+|\n)?,(\s+|\n)?/,/g;
        $Config{'print_config'} =~ s/(\s+)?\n+(\s+)?//g;
        # Split the configuration variables into individual field names.         #
        @Required = split(/,/,$Config{'required'});
        @Env_Report = split(/,/,$Config{'env_report'});
        @Print_Config = split(/,/,$Config{'print_config'});
        # ACCESS CONTROL FIX: Only allow ENV variables in @valid_ENV in          #
        # @Env_Report for security reasons.                                      #
        foreach $env_item (@Env_Report) {
            foreach $valid_item (@valid_ENV) {
                if ( $env_item eq $valid_item ) { push(@temp_array, $env_item) }
        @Env_Report = @temp_array;
    sub check_required {
        # Localize the variables used in this subroutine.                        #
        local($require, @error);
        # The following insures that there were no newlines in any fields which  #
        # will be used in the header.                                            #
        if ($Config{'subject'} =~ /(\n|\r)/m || $Config{'email'} =~ /(\n|\r)/m ||
            $Config{'realname'} =~ /(\n|\r)/m || $Config{'recipient'} =~ /(\n|\r)/m) {
            &error('invalid_headers');
        # Fix XSS + HTTP Header Injection for v1.93
        foreach $lfield ('redirect', 'return_link_url') {
            # Strip new lines
            $Config{$lfield} =~ s/(\n|\r)//mg;
            # Only allow certain handlers to avoid javascript:/data: tricks
            if ($Config{$lfield} !~ /^\s*\// &&
                $Config{$lfield} !~ /^\s*(http|https|ftp):\/\//) {
                $Config{$lfield} = '';
        if (!$Config{'recipient'}) {
            if (!defined(%Form)) { &error('bad_referer') }
            else                 { &error('no_recipient') }
        else {
            # This block of code requires that the recipient address end with    #
            # a valid domain or e-mail address as defined in @recipients.        #
            foreach $send_to (split(/,/,$Config{'recipient'})) {
                foreach $recipient (@recipients) {
                    if ($send_to =~ /$recipient$/i) {
                        push(@send_to,$send_to); last;
            if ($#send_to < 0) { &error('no_recipient') }
            $Config{'recipient'} = join(',',@send_to);
        # For each require field defined in the form:                            #
        foreach $require (@Required) {
            # If the required field is the email field, the syntax of the email  #
            # address if checked to make sure it passes a valid syntax.          #
            if ($require eq 'email' && !&check_email($Config{$require})) {
                push(@error,$require);
            # Otherwise, if the required field is a configuration field and it   #
            # has no value or has been filled in with a space, send an error.    #
            elsif (defined($Config{$require})) {
                if ($Config{$require} eq '') { push(@error,$require); }
            # If it is a regular form field which has not been filled in or      #
            # filled in with a space, flag it as an error field.                 #
            elsif (!defined($Form{$require}) || $Form{$require} eq '') {
                push(@error,$require);
        # If any error fields have been found, send error message to the user.   #
        if (@error) { &error('missing_fields', @error) }
    sub return_html {
        # Local variables used in this subroutine initialized.                   #
        local($key,$sort_order,$sorted_field);
        # Now that we have finished using form values for any e-mail related     #
        # reasons, we will convert all of the form fields and config values      #
        # to remove any cross-site scripting security holes.                     #
        local($field);
        foreach $field (keys %Config) {
            $safeConfig{$field} = &clean_html($Config{$field});
        foreach $field (keys %Form) {
            $Form{$field} = &clean_html($Form{$field});
        # If redirect option is used, print the redirectional location header.   #
        if ($Config{'redirect'}) {
            print "Location: $safeConfig{'redirect'}\n\n";
        # Otherwise, begin printing the response page.                           #
        else {
            # Print HTTP header and opening HTML tags.                           #
            print "Content-type: text/html\n\n";
            print "<html>\n <head>\n";
            # Print out title of page                                            #
            if ($Config{'title'}) { print "<title>$safeConfig{'title'}</title>\n" }
            else                  { print "<title>Thank You</title>\n"        }
            print " </head>\n <body";
            # Get Body Tag Attributes                                            #
            &body_attributes;
            # Close Body Tag                                                     #
            print ">\n  <center>\n";
            # Print custom or generic title.                                     #
            if ($Config{'title'}) { print "<h1>$safeConfig{'title'}</h1>\n" }
            else { print "<h1>Thank You For Filling Out This Form</h1>\n" }
            print "</center>\n";
            print "Below is what you submitted to $safeConfig{'recipient'} on ";
            print "$date<p><hr size=1 width=75\%><p>\n";
            # If a sort order is specified, sort the form fields based on that.  #
            if ($Config{'sort'} =~ /^order:.*,.*/) {
                # Set the temporary $sort_order variable to the sorting order,   #
                # remove extraneous line breaks and spaces, remove the order:    #
                # directive and split the sort fields into an array.             #
                $sort_order = $Config{'sort'};
                $sort_order =~ s/(\s+|\n)?,(\s+|\n)?/,/g;
                $sort_order =~ s/(\s+)?\n+(\s+)?//g;
                $sort_order =~ s/order://;
                @sorted_fields = split(/,/, $sort_order);
                # For each sorted field, if it has a value or the print blank    #
                # fields option is turned on print the form field and value.     #
                foreach $sorted_field (@sorted_fields) {
                    local $sfname = &clean_html($sorted_field);
                    if ($Config{'print_blank_fields'} || $Form{$sorted_field} ne '') {
                        print "<b>$sfname:</b> $Form{$sorted_field}<p>\n";
            # Otherwise, use the order the fields were sent, or alphabetic.      #
            else {
                # Sort alphabetically if requested.
                if ($Config{'sort'} eq 'alphabetic') {
                    @Field_Order = sort @Field_Order;
                # For each form field, if it has a value or the print blank      #
                # fields option is turned on print the form field and value.     #
                foreach $field (@Field_Order) {
                    local $fname = &clean_html($field);
                    if ($Config{'print_blank_fields'} || $Form{$field} ne '') {
                        print "<b>$fname:</b> $Form{$field}<p>\n";
            print "<p><hr size=1 width=75%><p>\n";
            # Check for a Return Link and print one if found.                    #
            if ($Config{'return_link_url'} && $Config{'return_link_title'}) {
                print "<ul>\n";
                print "<li><a href=\"$safeConfig{'return_link_url'}\">$safeConfig{'return_link_title'}</a>\n";
                print "</ul>\n";
            # Print the page footer.                                             #
            print <<"(END HTML FOOTER)";
            <hr size=1 width=75%><p>
            <center><font size=-1><a href="http://www.scriptarchive.com/formmail.html">FormMail</a> V1.93 &copy; 1995 - 2009  Matt Wright<br>
    A Free Product of <a href="http://www.scriptarchive.com/">Matt's Script Archive, Inc.</a></font></center>
            </body>
           </html>
    (END HTML FOOTER)
    sub send_mail {
        # Localize variables used in this subroutine.                            #
        local($print_config,$key,$sort_order,$sorted_field,$env_report);
        # Open The Mail Program
        open(MAIL,"|$mailprog");
        print MAIL "To: $Config{'recipient'}\n";
        print MAIL "From: $Config{'email'} ($Config{'realname'})\n";
        # Check for Message Subject
        if ($Config{'subject'}) { print MAIL "Subject: $Config{'subject'}\n\n" }
        else                    { print MAIL "Subject: WWW Form Submission\n\n" }
        print MAIL "Below is the result of your feedback form.  It was submitted by\n";
        print MAIL "$Config{'realname'} ($Config{'email'}) on $date\n";
        print MAIL "-" x 75 . "\n\n";
        if (@Print_Config) {
            foreach $print_config (@Print_Config) {
                if ($Config{$print_config}) {
                    print MAIL "$print_config: $Config{$print_config}\n\n";
        # If a sort order is specified, sort the form fields based on that.      #
        if ($Config{'sort'} =~ /^order:.*,.*/) {
            # Remove extraneous line breaks and spaces, remove the order:        #
            # directive and split the sort fields into an array.                 #
            local $sort_order = $Config{'sort'};
            $sort_order =~ s/(\s+|\n)?,(\s+|\n)?/,/g;
            $sort_order =~ s/(\s+)?\n+(\s+)?//g;
            $sort_order =~ s/order://;
            @sorted_fields = split(/,/, $sort_order);
            # For each sorted field, if it has a value or the print blank        #
            # fields option is turned on print the form field and value.         #
            foreach $sorted_field (@sorted_fields) {
                if ($Config{'print_blank_fields'} || $Form{$sorted_field} ne '') {
                    print MAIL "$sorted_field: $Form{$sorted_field}\n\n";
        # Otherwise, print fields in order they were sent or alphabetically.     #
        else {
            # Sort alphabetically if specified:                                  #
            if ($Config{'sort'} eq 'alphabetic') {
                @Field_Order = sort @Field_Order;
            # For each form field, if it has a value or the print blank          #
            # fields option is turned on print the form field and value.         #
            foreach $field (@Field_Order) {
                if ($Config{'print_blank_fields'} || $Form{$field} ne '') {
                    print MAIL "$field: $Form{$field}\n\n";
        print MAIL "-" x 75 . "\n\n";
        # Send any specified Environment Variables to recipient.                 #
        foreach $env_report (@Env_Report) {
            if ($ENV{$env_report}) {
                print MAIL "$env_report: $ENV{$env_report}\n";
        close (MAIL);
    sub check_email {
        # Initialize local email variable with input to subroutine.              #
        $email = $_[0];
        # If the e-mail address contains:                                        #
        if ($email =~ /(@.*@)|(\.\.)|(@\.)|(\.@)|(^\.)/ ||
            # the e-mail address contains an invalid syntax.  Or, if the         #
            # syntax does not match the following regular expression pattern     #
            # it fails basic syntax verification.                                #
            $email !~ /^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z0-9]+)(\]?)$/) {
            # Basic syntax requires:  one or more characters before the @ sign,  #
            # followed by an optional '[', then any number of letters, numbers,  #
            # dashes or periods (valid domain/IP characters) ending in a period  #
            # and then 2 or 3 letters (for domain suffixes) or 1 to 3 numbers    #
            # (for IP addresses).  An ending bracket is also allowed as it is    #
            # valid syntax to have an email address like: user@[255.255.255.0]   #
            # Return a false value, since the e-mail address did not pass valid  #
            # syntax.                                                            #
            return 0;
        else {
            # Return a true value, e-mail verification passed.                   #
            return 1;
    # This was added into v1.91 to further secure the recipients array.  Now, by #
    # default it will assume that valid recipients include only users with       #
    # usernames A-Z, a-z, 0-9, _ and - that match your domain exactly.  If this  #
    # is not what you want, you should read more detailed instructions regarding #
    # the configuration of the @recipients variable in the documentation.        #
    sub fill_recipients {
        local(@domains) = @_;
        local($domain,@return_recips);
        foreach $domain (@domains) {
            if ($domain =~ /^\d+\.\d+\.\d+\.\d+$/) {
                $domain =~ s/\./\\\./g;
                push(@return_recips,'^[\w\-\.]+\@\[' . $domain . '\]');
            else {
                $domain =~ s/\./\\\./g;
                $domain =~ s/\-/\\\-/g;
                push(@return_recips,'^[\w\-\.]+\@' . $domain);
        return @return_recips;
    # This function will convert <, >, & and " to their HTML equivalents.        #
    sub clean_html {
        local $value = $_[0];
        $value =~ s/\&/\&amp;/g;
        $value =~ s/</\&lt;/g;
        $value =~ s/>/\&gt;/g;
        $value =~ s/"/\&quot;/g;
        return $value;
    sub body_attributes {
        # Check for Background Color
        if ($Config{'bgcolor'}) { print " bgcolor=\"$safeConfig{'bgcolor'}\"" }
        # Check for Background Image
        if ($Config{'background'}) { print " background=\"$safeConfig{'background'}\"" }
        # Check for Link Color
        if ($Config{'link_color'}) { print " link=\"$safeConfig{'link_color'}\"" }
        # Check for Visited Link Color
        if ($Config{'vlink_color'}) { print " vlink=\"$safeConfig{'vlink_color'}\"" }
        # Check for Active Link Color
        if ($Config{'alink_color'}) { print " alink=\"$safeConfig{'alink_color'}\"" }
        # Check for Body Text Color
        if ($Config{'text_color'}) { print " text=\"$safeConfig{'text_color'}\"" }
    sub error {
        # Localize variables and assign subroutine input.                        #
        local($error,@error_fields) = @_;
        local($host,$missing_field,$missing_field_list);
        if ($error eq 'bad_referer') {
            if ($ENV{'HTTP_REFERER'} =~ m|^https?://([\w\.]+)|i) {
                $host = $1;
                my $referer = &clean_html($ENV{'HTTP_REFERER'});
                print <<"(END ERROR HTML)";
    Content-type: text/html
    <html>
    <head>
      <title>Bad Referrer - Access Denied</title>
    </head>
    <body bgcolor=#FFFFFF text=#000000>
      <center>
       <table border=0 width=600 bgcolor=#9C9C9C>
        <tr><th><font size=+2>Bad Referrer - Access Denied</font></th></tr>
       </table>
       <table border=0 width=600 bgcolor=#CFCFCF>
        <tr><td>The form attempting to use
         <a href="http://www.scriptarchive.com/formmail.html">FormMail</a>
         resides at <tt>$referer</tt>, which is not allowed to access
         this cgi script.<p>
         If you are attempting to configure FormMail to run with this form, you need
         to add the following to \@referers, explained in detail in the
         <a href="http://www.scriptarchive.com/readme/formmail.html">README</a> file.<p>
         Add <tt>'$host'</tt> to your <tt><b>\@referers</b></tt> array.<hr size=1>
         <center><font size=-1>
          <a href="http://www.scriptarchive.com/formmail.html">FormMail</a> V1.93 &copy; 1995 - 2009  Matt Wright<br>
          A Free Product of <a href="http://www.scriptarchive.com/">Matt's Script Archive, Inc.</a>
         </font></center>
        </td></tr>
       </table>
      </center>
    </body>
    </html>
    (END ERROR HTML)
            else {
                print <<"(END ERROR HTML)";
    Content-type: text/html
    <html>
    <head>
      <title>FormMail v1.93</title>
    </head>
    <body bgcolor=#FFFFFF text=#000000>
      <center>
       <table border=0 width=600 bgcolor=#9C9C9C>
        <tr><th><font size=+2>FormMail</font></th></tr>
       </table>
       <table border=0 width=600 bgcolor=#CFCFCF>
        <tr><th><tt><font size=+1>Copyright 1995 - 2009 Matt Wright<br>
            Version 1.93 - Released June 25, 2009<br>
            A Free Product of <a href="http://www.scriptarchive.com/">Matt's Script Archive,
            Inc.</a></font></tt></th></tr>
       </table>
      </center>
    </body>
    </html>
    (END ERROR HTML)
        elsif ($error eq 'request_method') {
                print <<"(END ERROR HTML)";
    Content-type: text/html
    <html>
    <head>
      <title>Error: Request Method</title>
    </head>
    <body bgcolor=#FFFFFF text=#000000>
      <center>
       <table border=0 width=600 bgcolor=#9C9C9C>
        <tr><th><font size=+2>Error: Request Method</font></th></tr>
       </table>
       <table border=0 width=600 bgcolor=#CFCFCF>
        <tr><td>The Request Method of the Form you submitted did not match
         either <tt>GET</tt> or <tt>POST</tt>.  Please check the form and make sure the
         <tt>method=</tt> statement is in upper case and matches <tt>GET</tt> or <tt>POST</tt>.<p>
         <center><font size=-1>
          <a href="http://www.scriptarchive.com/formmail.html">FormMail</a> V1.93 &copy; 1995 - 2009  Matt Wright<br>
          A Free Product of <a href="http://www.scriptarchive.com/">Matt's Script Archive, Inc.</a>
         </font></center>
        </td></tr>
       </table>
      </center>
    </body>
    </html>
    (END ERROR HTML)
        elsif ($error eq 'no_recipient') {
                print <<"(END ERROR HTML)";
    Content-type: text/html
    <html>
    <head>
      <title>Error: Bad/No Recipient</title>
    </head>
    <body bgcolor=#FFFFFF text=#000000>
      <center>
       <table border=0 width=600 bgcolor=#9C9C9C>
        <tr><th><font size=+2>Error: Bad/No Recipient</font></th></tr>
       </table>
       <table border=0 width=600 bgcolor=#CFCFCF>
        <tr><td>There was no recipient or an invalid recipient specified in the data sent to FormMail.  Please
         make sure you have filled in the <tt>recipient</tt> form field with an e-mail
         address that has been configured in <tt>\@recipients</tt>.  More information on filling in <tt>recipient</tt> form fields and variables can be
         found in the <a href="http://www.scriptarchive.com/readme/formmail.html">README</a> file.<hr size=1>
         <center><font size=-1>
          <a href="http://www.scriptarchive.com/formmail.html">FormMail</a> V1.93 &copy; 1995 - 2009  Matt Wright<br>
          A Free Product of <a href="http://www.scriptarchive.com/">Matt's Script Archive, Inc.</a>
         </font></center>
        </td></tr>
       </table>
      </center>
    </body>
    </html>
    (END ERROR HTML)
        elsif ($error eq 'invalid_headers') {
                print <<"(END ERROR HTML)";
    Content-type: text/html
    <html>
    <head>
      <title>Error: Bad Header Fields</title>
    </head>
    <body bgcolor=#FFFFFF text=#000000>
      <center>
       <table border=0 width=600 bgcolor=#9C9C9C>
        <tr><th><font size=+2>Error: Bad Header Fields</font></th></tr>
       </table>
       <table border=0 width=600 bgcolor=#CFCFCF>
        <tr><td>The header fields, which include <tt>recipient</tt>, <tt>email</tt>, <tt>realname</tt> and <tt>subject</tt> were
         filled in with invalid values. You may not include any newline characters in these parameters.
         More information on filling in these form fields and variables can be
         found in the <a href="http://www.scriptarchive.com/readme/formmail.html">README</a> file.<hr size=1>
         <center><font size=-1>
          <a href="http://www.scriptarchive.com/formmail.html">FormMail</a> V1.93 &copy; 1995 - 2009  Matt Wright<br>
          A Free Product of <a href="http://www.scriptarchive.com/">Matt's Script Archive, Inc.</a>
         </font></center>
        </td></tr>
       </table>
      </center>
    </body>
    </html>
    (END ERROR HTML)
        elsif ($error eq 'missing_fields') {
            if ($Config{'missing_fields_redirect'}) {
                print "Location: " . &clean_html($Config{'missing_fields_redirect'}) . "\n\n";
            else {
                foreach $missing_field (@error_fields) {
                    $missing_field_list .= "<li>" . &clean_html($missing_field) . "\n";
                print <<"(END ERROR HTML)";
    Content-type: text/html
    <html>
    <head>
      <title>Error: Blank Fields</title>
    </head>
      <center>
       <table border=0 width=600 bgcolor=#9C9C9C>
        <tr><th><font size=+2>Error: Blank Fields</font></th></tr>
       </table>
       <table border=0 width=600 bgcolor=#CFCFCF>
        <tr><td>The following fields were left blank in your submission form:<p>
         <ul>
    $missing_field_list
         </ul><br>
         These fields must be filled in before you can successfully submit the form.<p>
         Please use your browser's back button to return to the form and try again.<hr size=1>
         <center><font size=-1>
          <a href="http://www.scriptarchive.com/formmail.html">FormMail</a> V1.93 &copy; 1995 - 2009  Matt Wright<br>
          A Free Product of <a href="http://www.scriptarchive.com/">Matt's Script Archive, Inc.</a>
         </font></center>
        </td></tr>
       </table>
      </center>
    </body>
    </html>
    (END ERROR HTML)
        exit;

    I haven't used  Matt Wright's scripts in this century, but I'm pretty sure that Perl still needs to go into your CGI bin and the permissions level (chmod) must be set to 755 or possibly 777 for the script to read, write & execute.
    Nancy O.
    Alt-Web Design & Publishing
    Web | Graphics | Print | Media  Specialists 
    http://alt-web.com/
    http://twitter.com/altweb

  • Acrobat 7 Pro - form won't submit via email, and data won't submit either

    Hi. I am trying to create a form for end users at my website to be able to open the form in Reader, enter their data in the form, and click on the "Submit" button to email it back to me (or any other way it can come back would be okay... as long as I can get the data).
    In doing some research on program software needed to do this, I came to the conclusion I needed to have the Adobe suite (Acrobat Pro 7, Distiller 7, and Designer 7), and so I spent a lot of money obtaining this software. I also have just downloaded Reader 9.0 (the most recent).
    Here are some particulars:
    1. Following directions Ive found on Adobe online, and the Help files as well as in this forum, in the form (in Designer), I have the Submit button going to a URL of mailto:[email protected].
    2. I've saved the form as a Static PDF Form File in Designer. Things are going well.
    3. The form works great in PDF Preview all form fields are setup and act correctly. Super!
    4. I FTP my file to the appropriate website, where once the link to the form is clicked the form opens (in Reader) for my users. Perfect!
    5. The user then opens the form, and before they start to fill it out, a popup shows this:
    Sending Data Fields By Email. Please note: This form contains an email submit button. Clicking this button will email a data file containing data you type into this form. However, the form itself will not be sent. Remember, you cannot save a completed copy of this form with Adobe Reader 9
    Then you have the option to Dont show again and a button to Close.
    6. After clicking Close, the user is then able to fill in the fields. These fields are standard fields, nothing exceptional, nothing fancy, just text.
    7. At the end of the form is the Submit button. When a user clicks this, NOTHING happens. Even when you try to do the File/Send thing, the form will send, but none of the data. Im not so happy right now L
    8. In this forum, I now see directions to Reader Enable in Adobe Pro (I do have Adobe Pro). The directions say Advanced/Enable Reader (as in one of the above posts is stated, 'Advanced > Enable Usage Rights in Adobe Reader'). However, I do not have an Enable Usage Rights in Adobe Reader under my Advanced tab. So, continuing to read in other similar posts, I find others dont have this option either so, one question is, where is it??? ;-)
    9. Now I see what appears to be another piece of Adobe software that I need, that is LiveCycle? I think Im getting in over my head, as I dont understand
    I am new to all this, and am doing my best, but now Im totally confused. All I want to do is have my measly little form open up and have people fill it in and email it back to me so that I can take that data and work with it.
    I run (or am trying to run) a non-profit (i.e., Im paying 100% of the bill) website for local Humane Societies who can facilitate offering online Adoption Applications (this is the form Im trying to make happen). I got the form made, and its fillable its just not being able to be submitted online; and when it DID get submitted (first try or so), it came through with no data, and the .xml file data wouldnt populate.
    Bottom line question: Is this, what Im trying to do, feasible or not? Im just a simple soul trying to help out some animals. Im not a programmer, so if thats what it takes I guess Im gonna have to give up and forget it. I only wanted to help make things easer for folks to adopt a pet.
    Any help by anyone would be totally and gratefully appreciated. Thank you.
    keywords: empty form, form not submitting, can't email form, data not transferring, no data in form, can't submit form, can't submit data

    Hi, and thank you for the reply.
    I've already spent several hundred dollars on getting Adobe Acrobat software, and was hoping there was some work-around on this? What did people do before LiveCycle for instance when they needed to get data from submitted forms via email?
    Please don't misunderstand, but as in my example described above, what can a 3rd party do for me (to enable more 'robust rights') that I can't do myself? I'm trying to figure out if I have the software to do it, paid for the software that is "supposed" to do it, why then I need to pay more money to someone else to make the software do what it's supposed to? I sure don't want to have to pay someone to fix it each time I need to make a change in my form for instance...
    I'm confused I guess - I suppose the purpose of my asking on the forum here was to hopefully gain some know-how as how to go about doing this myself vs. paying someone else to do it for me. I want to learn, but just don't know where to start. Or, maybe the software I have just doesn't do what I believed it was capable of doing?
    Guidance and/or suggestions from all on this point would be very appreciated. Thank you.

  • Dynamic Submit Button- Required Fields

    I needed a dynamic submit button that would cc a field from the form.  I found the following script and it works great, but it doesn't give an error message if someone didn't fill in a required field like a regular submit button would. Is it possible to use the script below but to check for required fields?
    // This is the form return e-mail. Its hardcoded
    // so that the form is always returned to the same address
    // Change address on your form
    var cToAddr = "[email protected]";
    // First, get the client CC e-mail address
    var cCCAddr = RegionalDirector;
    // Set the subject and body text for the e-mail message
    var cSubLine = "909 Camp Visitation Report-" + xfa.resolveNode("#subform[0].#subform[7].Country"); var cBody = "Thank you for submitting your 909 report.\n" + "Save a copy for your records";
    // Send the form data as an FDF attachment on an e-mail
    event.target.mailDoc({
              bUI: true,
              cTo: cToAddr,
              cCc: cCCAddr,
              cSubject: cSubLine,
              cMsg: cBody

    Hi,
    stefan's example uses a method that seems a bit clumsy or maybe that was the only way it could be done in 2006.  Assuming your email button is called EmailSubmitButton yo can use;
    EmailSubmitButton.event__click.submit.target = emailtarget;
    where emailtarget is a string in this format
    mailto:emailaddress?cc=emailaddress?bcc=emailaddress?subjext=text?body=text
    The bold parts you can't change but you can leave out, except for the mailto and the to email address that follows it.
    Regards
    Bruce

  • Cancel submit of required fields blank

    Hi
    I have a submit button which submits to email then clears the form.  I use "Submit a form" and "Reset a form".  Id like to check for required fields and prompt the user to complete any which are required.  Does anyone know how to stop the reset if this is the case, then only reset once the form has been sent (using email)?
    Thanks

    You have to write a custom script and place as needed for the processing you are trying to do. You will need to use an "if ... them" statement to control processing.
    // define a control variable for processing;
    var bProcess = true; // assume all fields completed;
    // assuming a name field;
    if(this.getField("name").value == this.getField("name").defaultValue) {
    // name field not changed from default value;
    bProcess = false; // set bProcess to false;
    // check box example;
    if(this.getField("checkbox 1").value =="Off") {
    // no check box selected;
    bProcess = false; // set bProcess to false;
    // additional checking statements;
    // decision for submission;
    if(bProcess = true) {
    // processing statement;
    } else {
    // alert about missing required fields;
    app.alert("Not all required fields completed.\Please complete the required fields and submit.", 1, 0);

  • I saved my Form Central spreadsheet file once as a excel file but it will not allow me to save it a second time as an excel file.  It says that I cannot complete this action because the file me be open in another application, but it is not open in another

    I saved my Form Central spreadsheet file once as a excel file but Forms Central will not allow me to save the file a second time as an excel file.  I am informed that I cannot complete this action because the file me be open in another application, but it is not open in another application. What is the problem, and how do I solve the problem.  Thank you. Jeff

    First check the version of the document with Jongware's script "Identify.jsx" (ExtendScript/JavaScript).
    You can find it here:
    [Ann] Identify Your InDesign File
    If it is CS 5.5 or above, you need someone to open it in the version the script says and export an IDML representation from that. Another way would be to install a 30days version of CS6 or above (CC) and do it yourself.
    In regards of the script showing a result for InDesign files higher than CS6:
    CS7 = CC v9
    CS8 = CC v10 = CC-2014 or CC2014.1
    Uwe

  • Forms - Can't set a required field to visible=false

    Hi,
    I want to set a required field to visible=false but OIM 9.1 gives an error saying it is not possible.
    Has anyone overcome this issue?
    Thanks in advance

    I guess, it should work; instead of html:submit, try with button.

  • IPhone won't sync. Required field cannot be found.

    Help! How on Earth do I identify what the "required field" is, and fix it?

    Tried it, didn't help. Some more info that maybe will help spark an idea. It appears that after the restore, it successfully synced music, movies, video podcasts, and even the originals of my iPhoto files. The only thing it appears not to have synced were viewable photos from iPhoto along with the albums.
    Any other ideas to try.

Maybe you are looking for