Jump to content

[SOLVED] PHP HELP!!! I HAVE NO IDEA!!!


Recommended Posts

Hi! Anyone out there that could help me with this code??? I'm a complete novice and have basically made this using chunks of other peoples code and putting it together. Basically the Submit button doesn't do anything. I'm dunno where I'm going wrong... maybe it's a complete mess maybe there is just one thing out of place... I'm clueless! If anyone could take a look and email me with some suggestions that would be great!

 

<form method="post" enctype="multipart/form-data" action="formmail.php">
<input type="hidden" name="MAX_FILE_SIZE" value="1000000">
<input type="hidden" name="path_to_file" value="/www/uploaded/files">
<input type="hidden" name="require" value="destinations[],monthselectarr,dayselectarr,yearselectarr,length,trainingsessions,friendlies,groupsize,special_requests,surname,name,email,telephone,role,other,clubname,city,country,age,reference,otherreference">
<input type="hidden" name="recipient" value="your@email.com">
<input type="hidden" name="sort" value="alphabetic">
<input type="hidden" name="ar_file" value="/www/formmail_path/autoresponder.txt">
<input type="hidden" name="ar_subject" value="Thank you for your interest!">
<input type="hidden" name="env_report" value="REMOTE_HOST,HTTP_USER_AGENT">
            <p> </p>
            <p>Please fill out and submit the form below and we will contact
              you within 48 hours. If you want us to prepare a taylor made soccer
              tour please <a href="http://www.trainingtrips.info/index.php?option=com_contact&task=view&contact_id=1&Itemid=58#message" alt="Contact us now for a free quote!" title="Contact us now for a free quote!">contact
            us here</a> or call: +44 (0)000 00000.</p>
            <p> </p>
        <div class="listCountry" id="div3" style="border-top: 1px solid white; border-bottom: 1px solid white;">Destinations</div>
        <p> </p>
        <p><b id="txtclr-pitch">STEP 1</b><br>
            <b>Select your destination(s): </b></p>
        <p> </p>
        <p>
          <select multiple="multiple" size="8" name="destinations[]">
                <optgroup label="  Turkey">
                <option value="Belek">Belek</option>
                <option value="Belek Exclusive">Belek Exclusive</option>
                <option value="Kemer">Kemer</option>
                <option value="Kemer GH">Kemer GH</option>
                <option value="Kundu">Kundu</option>
                <option value="Lara Beach">Lara Beach</option>
                <option value="Lara Beach Exclusive">Lara Beach Exclusive</option>
                <option value="Side">Side</option>
                </optgroup>
            <optgroup label="  Spain">
                <option value="Barcelona">Barcelona</option>
                <option value="Benicasim">Benicasim</option>
                <option value="Cartagena-La Manga">Cartagena-La Manga</option>
                <option value="Estepona-Marbella">Estepona-Marbella</option>
                <option value="Fuengirola">Fuengirola</option>
                <option value="Gran Canaria">Gran Canaria</option>
                <option value="Jerez">Jerez</option>
                <option value="Jerez Deluxe">Jerez Deluxe</option>
                <option value="Oliva">Oliva</option>
                <option value="Tossa de Mar">Tossa de Mar</option>
                </optgroup>
            <optgroup label="  Portugal">
                <option value="Albufeira Alfamar">Albufeira Alfamar</option>
                <option value="Albufeira Alfamar Deluxe">Albufeira Alfamar Deluxe</option>
                <option value="Albufeira Montechoro">Albufeira Montechoro</option>
                <option value="Albufeira Montechoro Deluxe">Albufeira Montechoro
                Deluxe</option>
                <option value="Esposende">Esposende</option>
                <option value="Lissabon (Sporting Academy)">Lissabon (Sporting
                Academy)</option>
                <option value="Portimao">Portimao</option>
                <option value="Sintra">Sintra</option>
                <option value="Vale do Lobo">Vale do Lobo</option>
                <option value="Vilamoura">Vilamoura</option>
                </optgroup>
            <optgroup label="  Netherlands">
                <option value="Arnhem">Arnhem</option>
                <option value="Arnhem Deluxe">Arnhem Deluxe</option>
                <option value="Baarle Nassau">Baarle Nassau</option>
                <option value="Nijverdal">Nijverdal</option>
                <option value="Sittard">Sittard</option>
                <option value="Sittard Deluxe">Sittard Deluxe</option>
                </optgroup>
            <optgroup label="  Italy">
                <option value="Bardolino">Bardolino</option>
                <option value="Coverciano">Coverciano</option>
                <option value="Rome">Rome</option>
                <option value="Rome La Borghesiana">Rome La Borghesiana</option>
                <option value="Sportilia">Sportilia</option>
                <option value="Telese">Telese</option>
                <option value="Tirennia">Tirennia</option>
                <option value="Villafranca di Verona">Villafranca di Verona</option>
                </optgroup>
            <optgroup label="  Germany">
                <option value="Berlin">Berlin</option>
                <option value="Ihlow">Ihlow</option>
                <option value="Rosenheim">Rosenheim</option>
                </optgroup>
            <optgroup label="  Czech Republic">
                <option value="Roudnice nad Labem">Roudnice nad Labem</option>
                </optgroup>
            <optgroup label="  Cyprus">
                <option value="Avanti">Avanti</option>
                <option value="Nissi Beach">Nissi Beach</option>
                </optgroup>
            <optgroup label="  Belgium">
                <option value="Tongerlo">Tongerlo</option>
                <option value="Wachtebeke">Wachtebeke</option>
                </optgroup>
              </select>
          <br>
           </p>
        <p><span id="txtclr-pitch">(hold ctrl-key to select multiple destinations)</span></p>
        <input class="no-margin" name="box" value="yes" checked="checked" style="visibility: hidden;" type="checkbox">
            <div class="listCountry" id="div3" style="border-top: 1px solid white; border-bottom: 1px solid white;">Travel
              Period</div>
        <p> </p>
        <p><b id="txtclr-pitch">STEP 2</b><br>
            <b>Select your date of departure:</b></p>
        <p> </p>
        <div id="datechooserarr" style="padding-left: 20px;">
              <select class="no-margin" id="monthselectarr" name="monthselectarr">
                <option value="1">January</option>
                <option value="2">February</option>
                <option value="3">March</option>
                <option value="4">April</option>
                <option value="5">May</option>
                <option value="6">June</option>
                <option value="7" selected="\"selected\"">July</option>
                <option value="8">August</option>
                <option value="9">September</option>
                <option value="10">October</option>
                <option value="11">November</option>
                <option value="12">December</option>
              </select>
              <select class="no-margin" id="dayselectarr" name="dayselectarr">
                <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" selected="\"selected\"">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>
              <select class="no-margin" id="yearselectarr" name="yearselectarr">
                <option value="2007">2007</option>
                <option value="2008" selected="\"selected\"">2008</option>
                <option value="2009">2009</option>
                <option value="2010">2010</option>
                <option value="2011">2011</option>
                <option value="2012">2012</option>
                <option value="2013">2013</option>
                <option value="2014">2014</option>
                <option value="2015">2015</option>
                <option value="2016">2016</option>
              </select>
          <img title="Click to choose a date" alt="DateChooser Icon 1" src="index.php_files/datechooser.gif" class="calendaricon"> </div>
        <p> </p>
        <div class="listCountry" id="div3" style="border-top: 1px solid white; border-bottom: 1px solid white;">Your
          Training Trip</div>
          </form>
        </div>
    <div class="centcol" id="div4">
          <p> </p>
      <p><b id="txtclr-pitch">STEP 3</b><br>
          <b>Customize your Training Trip:</b></p>
      <p> </p>
      <h3 style="margin-bottom: 6px;">TRAINING TRIP OPTIONS</h3>
      <div class="hrule"></div>
      <div class="listRule">
        <input name="length" value="5" size="2" maxlength="2" type="text">
         Number of days</div>
      <div class="listRule">
        <input name="trainingsessions" value="7" size="2" maxlength="2" type="text">
         Number of training sessions</div>
      <div class="listRule">
        <input name="friendlies" value="1" size="2" maxlength="2" type="text">
         Number of friendlies</div>
      <div class="listRule">
        <input name="board" class="no-margin" id="div4" value="full" checked="checked" type="radio">
         Full board 
        <input class="no-margin" id="div4" name="board" value="half" type="radio">
         Half board</div>
      <div class="listRule">
        <input name="sightseeing" class="no-margin" value="yes" checked="checked" type="checkbox">
         We would like to take one ore more Sightseeing Trips</div>
      <div class="listRule">
        <input name="transport" class="no-margin" value="yes" type="checkbox">
         We will arrange our own transfer from and to the airport</div>
      <p> </p>
      <h3 style="margin-bottom: 6px;">Additional services</h3>
      <div class="hrule"></div>
      <div class="listRule">
        <input class="no-margin" name="dds" value="yes" checked="checked" type="checkbox">
         <b style="text-decoration: blink;">TIP!</b> <b>Diamant Topsport
        Programme</b> (<a href="http://www.trainingtrips.info/index.php?option=com_content&task=view&id=3&Itemid=11">find
        out more here</a>)</div>
      <div class="listRule">
        <input class="no-margin" name="insurance" value="yes" checked="checked" type="checkbox">
         Travel Insurance (<a href="http://www.trainingtrips.info/index.php?option=com_content&task=view&id=36&Itemid=33">find
        out more here</a>)</div>
      <div class="listRule">
        <input class="no-margin" name="cancel" value="yes" checked="checked" type="checkbox">
         Cancellation Insurance (<a href="http://www.trainingtrips.info/index.php?option=com_content&task=view&id=36&Itemid=33">find
        out more here</a>)</div>
      <div class="listRule">
        <input class="no-margin" name="airlinetickets" value="yes" checked="checked" type="checkbox">
         Airline Ticket Service (<a href="http://www.trainingtrips.info/index.php?option=com_content&task=view&id=4&Itemid=12">find
        out more here</a>)</div>
      <p> </p>
      <h3 style="margin-bottom: 6px;">Group Size</h3>
      <div class="hrule"></div>
      <div class="listRule">
        <input name="groupsize" value="20" size="3" maxlength="2" type="text">
         Number of participants (including coach/trainer)<sup>*</sup></div>
      <p id="txtclr-pitch"> <br>
          <sup id="txtclr-pitch">*</sup>For every 30 paying participants, one
          participant can join free of charge. Groups over 50 participants will
          receive additional discount.</p>
      <p> </p>
      <h3 style="margin-bottom: 6px;">Other Requirements:</h3>
      <p>
        <textarea name="special_requests" rows="6" cols="65"> </textarea>
          </p>
      <p> </p>
      <p> </p>
        </div>
    <p> </p>
    <div class="centcol" id="div" style="border-bottom: 0px solid white;">
          <div class="listCountry" id="pitch" style="border-top: 1px solid white; border-bottom: 1px solid white;">Club
            details</div>
      <p> </p>
      <p><b id="txtclr-pitch">STEP 4</b><br>
          <b>Enter your personal and club data:</b></p>
      <h3 style="margin-top: 10px; margin-bottom: 6px;">Your details</h3>
      <div class="hrule"></div>
      <div class="listRule">
            <input name="surname" value="" size="30" maxlength="25" type="text">
         Surname  
            <input class="no-margin" id="div" name="sex" value="m" type="radio">
         M 
            <input class="no-margin" id="div" name="sex" value="v" type="radio">
         F</div>
      <div class="listRule">
        <input name="name" value="" size="30" maxlength="25" type="text">
         First name</div>
      <div class="listRule">
        <input name="email" value="" size="30" maxlength="25" type="text">
         Email address</div>
      <div class="listRule">
        <input name="telephone" value="" size="30" maxlength="25" type="text">
         Telephone</div>
      <script type="text/javascript">
	<!-- //

	function addFieldRole()
	{
		if ( document.bookingForm.role.value == 'other') {
			document.bookingForm.other.style.visibility = 'visible';
		}
		else {
			document.bookingForm.other.style.visibility = 'hidden';
		}
	}

	function addFieldReference()
	{
		if ( document.bookingForm.reference.value == 'other') {
			document.bookingForm.otherreference.style.visibility = 'visible';
		}
		else {
			document.bookingForm.otherreference.style.visibility = 'hidden';
		}
	}

	// -->
	</script>
          <p style="margin-bottom: 6px; margin-top: 4px;">What is your function
            at the club?</p>
      <div class="listRule">
            <select class="no-margin" name="role" onchange="javascript:addFieldRole();">
              <option value="coach/trainer">Coach/Trainer</option>
              <option value="tm">Technical Manager/Director</option>
              <option value="ho">Head of Development</option>
              <option value="player">Player</option>
              <option value="other">Other</option>
            </select>
         
        <input size="25" name="other" value=" " style="visibility: hidden;" type="text">
          </div>
      <p> </p>
      <h3 style="margin-bottom: 6px;">Club details</h3>
      <div class="hrule"></div>
      <div class="listRule">
        <input name="clubname" value="" size="30" maxlength="25" type="text">
         Club name</div>
      <div class="listRule">
        <input name="city" value="" size="30" maxlength="25" type="text">
         City</div>
      <div class="listRule">
        <input name="country" value="" size="30" maxlength="25" type="text">
         Country</div>
      <div class="listRule">
        <input name="age" value="" size="30" maxlength="25" type="text">
         Team's age group</div>
      <p> </p>
      <p style="margin-bottom: 6px; margin-top: 4px;">How did you here about
        us?</p>
      <div class="hrule"></div>
      <div class="listRule">
            <select class="no-margin" name="reference" onchange="javascript:addFieldReference();">
              <option value="google">Google</option>
              <option value="otherengine">Other search engine</option>
              <option value="viavia">Through friends or colleagues</option>
              <option value="other">Other</option>
            </select>
         
        <input size="25" name="otherreference" value=" " style="visibility: hidden;" type="text">
          </div>
      <p> </p>
      <input name="submit" type="submit" id="submit"></form>
    </div>

 

Mod edit - code tags added

Link to comment
Share on other sites

Seperate file. Here it is...

 

<?php
/*
##############################################################################
# PLEASE DO NOT REMOVE THIS HEADER!!!
#
# COPYRIGHT NOTICE
#
# FormMail.php v5.0
# Copyright 2000-2004 Ai Graphics and Joe Lumbroso (c) All rights reserved.
# Created 07/06/2000   Last Modified 10/28/2003
# Joseph Lumbroso, http://www.aigraphics.com, http://www.dtheatre.com
#                  http://www.dtheatre.com/scripts/
##############################################################################
#
# This cannot and will not be inforced but I would appreciate a link back
# to any of these sites:
# http://www.dtheatre.com
# http://www.aigraphics.com
# http://www.dtheatre.com/scripts/
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
# OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
# ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
# OTHER DEALINGS IN THE SOFTWARE.
#
##############################################################################
*/

// PHP5 compatible version by http://www.dreamscape.biz

// for ultimate security, use this instead of using the form
$recipient = "snatcherandyjones@hotmail.com"; // youremail@domain.com
//$recipient = "snatcherandyjones@hotmail.com"; // youremail@domain.com

// bcc emails (separate multiples with commas (,))
$bcc = "";

// referers.. domains/ips that you will allow forms to
// reside on.
$referers = array ();

// banned emails, these will be email addresses of people
// who are blocked from using the script (requested)
$banlist = array ();

// field / value seperator
define("SEPARATOR", ($separator)?$separator:": ");

// content newline
define("NEWLINE", ($newline)?$newline:"\n");

// formmail version (for debugging mostly)
define("VERSION", "5.0");


// our mighty error function..
function print_error($reason,$type = 0) {
   build_body($title, $bgcolor, $text_color, $link_color, $vlink_color, $alink_color, $style_sheet);
   // for missing required data
   if ($type == "missing") {
      if ($missing_field_redirect) {
         header("Location: $missing_field_redirect?error=$reason");
         exit;
      } else {
      ?>
      The form was not submitted for the following reasons:<p>
      <ul><?
      echo $reason."\n";
      ?></ul>
      Please use your browser's back button to return to the form and try again.<?
      }
   } else { // every other error
      ?>
      The form was not submitted because of the following reasons:<p>
      <?
   }
   echo "<br><br>\n";
   echo "<small>This form is powered by <a href=\"http://www.dtheatre.com/scripts/\">Jack's Formmail.php ".VERSION."</a></small>\n\n";
   exit;
}

// function to check the banlist
// suggested by a whole lot of people.. Thanks
function check_banlist($banlist, $email) {
   if (count($banlist)) {
      $allow = true;
      foreach($banlist as $banned) {
         $temp = explode("@", $banned);
         if ($temp[0] == "*") {
            $temp2 = explode("@", $email);
            if (trim(strtolower($temp2[1])) == trim(strtolower($temp[1])))
               $allow = false;
         } else {
            if (trim(strtolower($email)) == trim(strtolower($banned)))
               $allow = false;
         }
      }
   }
   if (!$allow) {
      print_error("You are using from a <b>banned email address.</b>");
   }
}

// function to check the referer for security reasons.
// contributed by some one who's name got lost.. Thanks
// goes out to him any way.
function check_referer($referers) {
   if (count($referers)) {
      $found = false;

      $temp = explode("/",getenv("HTTP_REFERER"));
      $referer = $temp[2];
      
      if ($referer=="") {$referer = $_SERVER['HTTP_REFERER'];
         list($remove,$stuff)=split('//',$referer,2);
         list($home,$stuff)=split('/',$stuff,2);
         $referer = $home;
      }
      
      for ($x=0; $x < count($referers); $x++) {
         if (eregi ($referers[$x], $referer)) {
            $found = true;
         }
      }
      if ($referer =="")
         $found = false;
      if (!$found){
         print_error("You are coming from an <b>unauthorized domain.</b>");
         error_log("[FormMail.php] Illegal Referer. (".getenv("HTTP_REFERER").")", 0);
      }
         return $found;
      } else {
         return true; // not a good idea, if empty, it will allow it.
   }
}
if ($referers)
   check_referer($referers);

if ($banlist)
   check_banlist($banlist, $email);

// This function takes the sorts, excludes certain keys and 
// makes a pretty content string.
function parse_form($array, $sort = "") {
   // build reserved keyword array
   $reserved_keys[] = "MAX_FILE_SIZE";
   $reserved_keys[] = "required";
   $reserved_keys[] = "redirect";
   $reserved_keys[] = "require";
   $reserved_keys[] = "path_to_file";
   $reserved_keys[] = "recipient";
   $reserved_keys[] = "subject";
   $reserved_keys[] = "sort";
   $reserved_keys[] = "style_sheet";
   $reserved_keys[] = "bgcolor";
   $reserved_keys[] = "text_color";
   $reserved_keys[] = "link_color";
   $reserved_keys[] = "vlink_color";
   $reserved_keys[] = "alink_color";
   $reserved_keys[] = "title";
   $reserved_keys[] = "missing_fields_redirect";
   $reserved_keys[] = "env_report";
   $reserved_keys[] = "submit";
   if (count($array)) {
      if (is_array($sort)) {
         foreach ($sort as $field) {
            $reserved_violation = 0;
            for ($ri=0; $ri<count($reserved_keys); $ri++)
               if ($array[$field] == $reserved_keys[$ri]) $reserved_violation = 1;

            if ($reserved_violation != 1) {
               if (is_array($array[$field])) {
                  for ($z=0;$z<count($array[$field]);$z++)
                     $content .= $field.SEPARATOR.$array[$field][$z].NEWLINE;
               } else
                  $content .= $field.SEPARATOR.$array[$field].NEWLINE;
            }
         }
      }
      while (list($key, $val) = each($array)) {
         $reserved_violation = 0;
         for ($ri=0; $ri<count($reserved_keys); $ri++)
            if ($key == $reserved_keys[$ri]) $reserved_violation = 1;

         for ($ri=0; $ri<count($sort); $ri++)
            if ($key == $sort[$ri]) $reserved_violation = 1;

         // prepare content
         if ($reserved_violation != 1) {
            if (is_array($val)) {
               for ($z=0;$z<count($val);$z++)
                  $content .= $key.SEPARATOR.$val[$z].NEWLINE;
            } else
               $content .= $key.SEPARATOR.$val.NEWLINE;
         }
      }
   }
   return $content;
}

// mail the content we figure out in the following steps
function mail_it($content, $subject, $email, $recipient) {
   global $attachment_chunk, $attachment_name, $attachment_type, $attachment_sent, $bcc;

   $ob = "----=_OuterBoundary_000";
   $ib = "----=_InnerBoundery_001";
   
   $headers  = "MIME-Version: 1.0\r\n"; 
   $headers .= "From: ".$email."\n"; 
   $headers .= "To: ".$recipient."\n"; 
   $headers .= "Reply-To: ".$email."\n";
   if ($bcc) $headers .= "Bcc: ".$bcc."\n"; 
   $headers .= "X-Priority: 1\n"; 
   $headers .= "X-Mailer: DT Formmail".VERSION."\n"; 
   $headers .= "Content-Type: multipart/mixed;\n\tboundary=\"".$ob."\"\n";
   
          
   $message  = "This is a multi-part message in MIME format.\n";
   $message .= "\n--".$ob."\n";
   $message .= "Content-Type: multipart/alternative;\n\tboundary=\"".$ib."\"\n\n";
   $message .= "\n--".$ib."\n";
   $message .= "Content-Type: text/plain;\n\tcharset=\"iso-8859-1\"\n";
   $message .= "Content-Transfer-Encoding: quoted-printable\n\n";
   $message .= $content."\n\n";
   $message .= "\n--".$ib."--\n";
   if ($attachment_name && !$attachment_sent) {
      $message .= "\n--".$ob."\n";
      $message .= "Content-Type: $attachment_type;\n\tname=\"".$attachment_name."\"\n";
      $message .= "Content-Transfer-Encoding: base64\n";
      $message .= "Content-Disposition: attachment;\n\tfilename=\"".$attachment_name."\"\n\n";
      $message .= $attachment_chunk;
      $message .= "\n\n";
      $attachment_sent = 1;
   }
   $message .= "\n--".$ob."--\n";
   
   mail($recipient, $subject, $message, $headers);
}

// take in the body building arguments and build the body tag for page display
function build_body($title, $bgcolor, $text_color, $link_color, $vlink_color, $alink_color, $style_sheet) {
   if ($style_sheet)
      echo "<LINK rel=STYLESHEET href=\"$style_sheet\" Type=\"text/css\">\n";
   if ($title)
      echo "<title>$title</title>\n";
   if (!$bgcolor)
      $bgcolor = "#FFFFFF";
   if (!$text_color)
      $text_color = "#000000";
   if (!$link_color)
      $link_color = "#0000FF";
   if (!$vlink_color)
      $vlink_color = "#FF0000";
   if (!$alink_color)
      $alink_color = "#000088";
   if ($background)
      $background = "background=\"$background\"";
   echo "<body bgcolor=\"$bgcolor\" text=\"$text_color\" link=\"$link_color\" vlink=\"$vlink_color\" alink=\"$alink_color\" $background>\n\n";
}

// check for a recipient email address and check the validity of it
// Thanks to Bradley miller (bradmiller@accesszone.com) for pointing
// out the need for multiple recipient checking and providing the code.
$recipient_in = split(',',$recipient);
for ($i=0;$i<count($recipient_in);$i++) {
   $recipient_to_test = trim($recipient_in[$i]);
   if (!eregi("^[_\\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\\.)+[a-z]{2,6}$", $recipient_to_test)) {
      print_error("<b>I NEED VALID RECIPIENT EMAIL ADDRESS ($recipient_to_test) TO CONTINUE</b>");
   }
}

// This is because I originally had it require but too many people
// were used to Matt's Formmail.pl which used required instead.
if ($required)
   $require = $required;
// handle the required fields
if ($require) {
   // seperate at the commas
   $require = ereg_replace( " +", "", $require);
   $required = split(",",$require);
   for ($i=0;$i<count($required);$i++) {
      $string = trim($required[$i]);
      // check if they exsist
      if((!(${$string})) || (!(${$string}))) {
         // if the missing_fields_redirect option is on: redirect them
         if ($missing_fields_redirect) {
            header ("Location: $missing_fields_redirect");
            exit;
         }
         $require;
         $missing_field_list .= "<b>Missing: $required[$i]</b><br>\n";
      }
   }
   // send error to our mighty error function
   if ($missing_field_list)
      print_error($missing_field_list,"missing");
}

// check the email fields for validity
if (($email) || ($EMAIL)) {
   $email = trim($email);
   if ($EMAIL) $email = trim($EMAIL);
   if (!eregi("^[_\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.)+[a-z]{2,6}$", $email))
      print_error("your <b>email address</b> is invalid");
   $EMAIL = $email;
}

// check zipcodes for validity
if (($ZIP_CODE) || ($zip_code)) {
   $zip_code = trim($zip_code);
   if ($ZIP_CODE) $zip_code = trim($ZIP_CODE);
   if (!ereg("(^[0-9]{5})-([0-9]{4}$)", trim($zip_code)) && (!ereg("^[a-zA-Z][0-9][a-zA-Z][[:space:]][0-9][a-zA-Z][0-9]$", trim($zip_code))) && (!ereg("(^[0-9]{5})", trim($zip_code))))
      print_error("your <b>zip/postal code</b> is invalid");
}

// check phone for validity
if (($PHONE_NO) || ($phone_no)) {
   $phone_no = trim($phone_no);
   if ($PHONE_NO) $phone_no = trim($PHONE_NO);
   if (!ereg("(^(.*)[0-9]{3})(.*)([0-9]{3})(.*)([0-9]{4}$)", $phone_no))
      print_error("your <b>phone number</b> is invalid");
}

// check phone for validity
if (($FAX_NO) || ($fax_no)) {
   $fax_no = trim($fax_no);
   if ($FAX_NO) $fax_no = trim($FAX_NO);
   if (!ereg("(^(.*)[0-9]{3})(.*)([0-9]{3})(.*)([0-9]{4}$)", $fax_no))
      print_error("your <b>fax number</b> is invalid");
}

// sort alphabetic or prepare an order
if ($sort == "alphabetic") {
   uksort($_POST, "strnatcasecmp");
} elseif ((ereg('^order:.*,.*', $sort)) && ($list = explode(',', ereg_replace('^order:', '', $sort)))) {
   $sort = $list;
}
   
// prepare the content
$content = parse_form($_POST, $sort);

// check for an attachment if there is a file upload it
if ($attachment_name) {
   if ($attachment_size > 0) {
      if (!$attachment_type) $attachment_type =  "application/unknown";
      $content .= "Attached File: ".$attachment_name."\n";
      $fp = fopen($attachment,  "r");
      $attachment_chunk = fread($fp, filesize($attachment));
      $attachment_chunk = base64_encode($attachment_chunk);
      $attachment_chunk = chunk_split($attachment_chunk);
   }
}

// check for a file if there is a file upload it
if ($file_name) {
   if ($file_size > 0) {
      if (!ereg("/$", $path_to_file))
         $path_to_file = $path_to_file."/";
      $location = $path_to_file.$file_name;
      if (file_exists($path_to_file.$file_name))
         $location = $path_to_file.rand(1000,3000).".".$file_name;
      copy($file,$location);
      unlink($file);
      $content .= "Uploaded File: ".$location."\n";
   }
}

// second file (see manual for instructions on how to add more.)
if ($file2_name) {
   if ($file_size > 0) {
      if (!ereg("/$", $path_to_file))
         $path_to_file = $path_to_file."/";
      $location = $path_to_file.$file2_name;
      if (file_exists($path_to_file.$file2_name))
         $location = $path_to_file.rand(1000,3000).".".$file2_name;
      copy($file2,$location);
      unlink($file2);
      $content .= "Uploaded File: ".$location."\n";
   }
}

// if the env_report option is on: get eviromental variables
if ($env_report) {
   $env_report = ereg_replace( " +", "", $env_report);
   $env_reports = split(",",$env_report);
   $content .= "\n------ eviromental variables ------\n";
   for ($i=0;$i<count($env_reports);$i++) {
      $string = trim($env_reports[$i]);
      if ($env_reports[$i] == "REMOTE_HOST")
         $content .= "REMOTE HOST: ".$REMOTE_HOST."\n";
      if ($env_reports[$i] == "REMOTE_USER")
         $content .= "REMOTE USER: ". $REMOTE_USER."\n";
      if ($env_reports[$i] == "REMOTE_ADDR")
         $content .= "REMOTE ADDR: ". $REMOTE_ADDR."\n";
      if ($env_reports[$i] == "HTTP_USER_AGENT")
         $content .= "BROWSER: ". $HTTP_USER_AGENT."\n";
   }
}

// send it off
mail_it(stripslashes($content), ($subject)?stripslashes($subject):"Form Submission", $email, $recipient);
if (file_exists($ar_file)) {
   $fd = fopen($ar_file, "rb");
   $ar_message = fread($fd, filesize($ar_file));
   fclose($fd);
   mail_it($ar_message, ($ar_subject)?stripslashes($ar_subject):"RE: Form Submission", ($ar_from)?$ar_from:$recipient, $email);
}

// if the redirect option is set: redirect them
if ($redirect) {
   header("Location: $redirect");
   exit;
} else {
   echo "Thank you for your submission\n";
   echo "<br><br>\n";
   echo "<small>This form is powered by <a href=\"http://www.dtheatre.com/scripts/\">Jack's Formmail.php ".VERSION."!</a></small>\n\n";
   exit;
}

// <----------    THE END    ----------> //  

 

Mod edit: code tags added yet again.

Link to comment
Share on other sites

Hmmm it appears that formmail.php doesn't even check whether or not the submit button is pressed.

 

Here's how you would do it

<?php
if(isset($_POST['submit'])){
  //Perform some actions here like inserting values into a database, or send an email to the person who submitted the form.
}
?>

 

The $_POST variable came from your HTML form:

<form method="post" enctype="multipart/form-data" action="formmail.php">

 

If your form method was 'method="get"', then you would use:

<?php
if(isset($_GET['submit'])){
  //There are only two methods: Post and Get
}
?>

 

And the ['submit'] part is from when you defined the Submit-Button in the HTML form. (This is what the name="" attribute is for)

<input name="submit" type="submit" id="submit">

 

So if you wanted to change $_POST['submit'] to $_POST['foobar'], you'd just do this:

<input name="foobar" type="submit" id="submit">

Link to comment
Share on other sites

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

Join the conversation

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

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

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

×   Your previous content has been restored.   Clear editor

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

×
×
  • Create New...

Important Information

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