Search code examples
phpjavascriptprototypejs

Intergrating PHP for output email with 'Protoform'


I have this form set up on my website: http://cssrevolt.com/upload/files/protoform/

It's all customized and working just as the stand alone demo above.

The protoform came with a send.php file that consists of the PHP below:

<?php
    echo "<div id=\"response\">";


  $name            = $_POST['name'];
  $email           = $_POST['email'];
  $telephone       = $_POST['telephone'];
  $preference      = $_POST['preference'];
  $message         = $_POST['message'];

  if ( ($name=='') && ($email=='') && ($telephone=='') && ($message=='')) { 

        echo "<p>Please fill all the required fields<span>*</span></em></p>";

  }
  else {

        echo "<p>Submitting ok, server response:</p>";
        echo "<ul>";
        echo "<li>Name: ".$name."</li>";
        echo "<li>E-mail: ".$email."</li>";
        echo "<li>Telephone: ".$telephone."</li>";
        echo "<li>Preference: ".$preference."</li>";
        echo "<li>Message:".$message."</li>";
        echo "</ul>";
  }  


  echo "</div>";
?>      

I'm still considerably novice with PHP, but from what it looks like I should just have to insert some code that will spit the data at a defined email address, right?

!UPDATED: Code attempt below and still can't get form data to send to my email. (Have replaced youremail with actual)

<?php
    echo "<div id=\"response\">";


  $name            = $_POST['name'];
  $email           = $_POST['email'];
  $telephone       = $_POST['telephone'];
  $preference      = $_POST['preference'];
  $message         = $_POST['message'];

  if ( ($name=='') && ($email=='') && ($telephone=='') && ($message=='')) { 

        echo "<p>Please fill all the required fields<span>*</span></em></p>";

  }
  else {

        echo "<p>Submitting ok, server response:</p>";
        echo "<ul>";
        echo "<li>Name: ".$name."</li>";
        echo "<li>E-mail: ".$email."</li>";
        echo "<li>Telephone: ".$telephone."</li>";
        echo "<li>Preference: ".$preference."</li>";
        echo "<li>Message:".$message."</li>";
        echo "</ul>";


        // Body of message
        $message = "Submitting ok, server response: \n
        Name: $name \n
        E-mail: $email \n
        Telephone:  $telephone \n
        Preference: $preference \n
        Message: $message \n";
        //Recipient
        $to = "[email protected]";
        //Subject of email
        $subject = "Message from $name";
        // http://php.net/manual/en/function.mail.php
        mail($to, $subject, $message);

  }  


  echo "</div>";
?> 

Derivation of this question: https://stackoverflow.com/questions/9253461/using-protoform-where-is-data-via-ajax-at


Solution

  • <?php
        echo "<div id=\"response\">";
    
    
      $name            = $_POST['name'];
      $email           = $_POST['email'];
      $telephone       = $_POST['telephone'];
      $preference      = $_POST['preference'];
      $message         = $_POST['message'];
    
      if ( ($name=='') && ($email=='') && ($telephone=='') && ($message=='')) { 
    
            echo "<p>Please fill all the required fields<span>*</span></em></p>";
    
      }
      else {
    
            echo "<p>Submitting ok, server response:</p>";
            echo "<ul>";
            echo "<li>Name: ".$name."</li>";
            echo "<li>E-mail: ".$email."</li>";
            echo "<li>Telephone: ".$telephone."</li>";
            echo "<li>Preference: ".$preference."</li>";
            echo "<li>Message:".$message."</li>";
            echo "</ul>";
    
    
            // Body of message
            $message = "Submitting ok, server response: \n
            Name: $name \n
            E-mail: $email \n
            Telephone:  $telephone \n
            Preference: $preference \n
            Message: $message \n";
            //Recipient
            $to = "[email protected]";
            //Subject of email
            $subject = "Message from $name";
            // http://php.net/manual/en/function.mail.php
            mail($to, $subject, $message);
    
      }  
    
    
      echo "</div>";
    ?>