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 Level 1

      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!