2 Replies Latest reply on Dec 8, 2010 1:46 PM by Firefly0

    Trying to make a php file work with my email form

    Firefly0

      Hello,

      Going slightly mad trying to link my php file with my html and actually getting it to work.

      It (the php file) keeps coming up with a syntax error on line 37 - code hinting may not work etc etc but there is no error from what I can see - can anyone else point out the obviously to me? This is driving me around the bend!

       

      my code:

       

      <?php

       

      /*Subject and Email Variables */

       

          $emailSubject = 'Website Form';
          $webMaster = 'email@myemail.co.uk';
         
      /* Gathering Data Variables */
         
          $nameField = $_POST['name'];
          $addressField = $_POST['address'];
          $telephone1Field = $_POST['telephone1'];
          $telephone2Field = $_POST['telephone2'];
          $emailField = $_POST['email'];
          $name2Field = $_POST['name2'];
          $ageField = $_POST['age'];
          $dobField = $_POST['dob'];
          $commsField = $_POST['comms'];
          $messageField = $_POST['message'];
         
          $body = <<<EOD
      <br><hr><br>
      Name: $name <br>
      Address: $address <br>
      Telephone (daytime): $telephone1 <br>
      Telephone (mobile): $telephone2 <br>
      Email: $email <br>
      Childs Name: $name2 <br>
      Start Age: $age <br>
      Childs Date of Birth: $dob <br>
      Preferred form of communication: $comms <br>
      Message: $message <br>
      EOD;

       

          $headers = "From: $email\r\n";
          $headers .= "Content-type: text/html\r\n";
          $success = mail{$webMaster, $emailSubject,$body, $headers};
         
      /* Results rendered as HTML */

       

          $theResults = <<<EOD
      <html>
      <head>
      <title>Xxx</title>
      <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
      <style type="text/css">
      <!--
      body {
          background-color: #f1f1f1;
          font-family: Verdana, Arial, Helvetica, sans-serif;
          font-size: 12px;
          font-style: normal;
          line-height: normal;
          font-weight: normal;
          color: #666666;
          text-decoration: none;
      }
      -->
      </style>
      </head>

       

      <div>
        <div align="left">Thank you for your message, Your email will be answered very soon!</div>
      </div>
      </body>
      </html>
      EOD;
      echo "$theResults";

       

      ?>

        • 1. Re: Trying to make a php file work with my email form
          Level 4

          Line 37 is this:

           

              $success = mail{$webMaster, $emailSubject,$body, $headers};

           

          It should be this:

           

           

              $success = mail($webMaster, $emailSubject, $body, $headers);

           

           

          Also the header for the From: is this:$headers = "From: $email\r\n"; but I don't see the variable defined for $email

           

          Also you should know about email injection. Someone could inject your headers and add additional BCC: addresses to send emails to many undisclosed recipients through your mail script. You'd be using your script to turn your server into a host for spam! Sanitize your fields to prevent injection attacks! Security should be the firt priority followed by functionality. If it's unsecure it shouldn't function

          • 2. Re: Trying to make a php file work with my email form
            Firefly0 Level 1

            Thank you Shocker - you've a life-saver!