www.webdeveloper.com
Results 1 to 2 of 2

Thread: PHP form via email

Hybrid View

  1. #1
    Join Date
    Dec 2010
    Posts
    1

    Post PHP form via email

    I am trying to submit details via email using php, it has worked before for some reason it is not working now, can someone please help me as i have looked through it so many times and could not find the problem, thank you

    Code:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html>
    <body>
    
    <form action="welcome.php" method="post">
    Name: <input type="text" name="name" />
    Number: <input type="text" name="number" />
    Email: <input type="text" name="email" />
    Message: <input type="text" name="message" />
    <input type="submit" />
    </form>
    
    </body>
    </html>
    PHP Code:
    <?php
    if(isset($_POST['email'])) {

    /* subject and email variables */

        
    $email_to "someone@example.com";
        
    $email_subject "Contact Form";
    ?>

    <html>
    <head><title> Test </title>
    </head>
    <body>
    <?php 
        
    function died($error) {
            
    // your error code can go here
            
    echo "We are very sorry, but there were error(s) found with the form your submitted. ";
            echo 
    "These errors appear below.<br /><br />";
            echo 
    $error."<br /><br />";
            echo 
    "Please go back and fix these errors.<br /><br />";
            die();
        }
    // validation expected data exists
        
    if(!isset($_POST['name']) ||
            !isset(
    $_POST['email']) )
            
    died('We are sorry, but there appears to be a problem with the form you submitted.');        
        
        
    /*  collect data variables */
        
        
    $name $_POST['name']; // required
        
    $number $_POST['number']; // not required
        
    $email_from $_POST['email']; // required
        
    $comments $_POST['comments']; // not required
        
        
    $error_message "";
        
    $email_exp "^[A-Z0-9._%-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$";
      if(!
    eregi($email_exp,$email_from)) {
          
    $error_message .= 'The Email address you entered does not appear to be valid.<br />';
      }
        
    $string_exp "^[a-z .'-]+$";
      if(!
    eregi($string_exp,$name)) {
          
    $error_message .= 'The Name you entered does not appear to be valid.<br />';
      }
      if(
    strlen($error_message) > 0) {
          
    died($error_message);
      }
        
    $email_message "Contact Form details below.\n\n"
        
        function 
    clean_string($string) {
          
    $bad = array("content-type","bcc:","to:","cc:","href");
          return 
    str_replace($bad,"",$string);
        }
        
    $email_message .= "Name: ".clean_string($name)."\n";
        
    $email_message .= "Contact Number: ".clean_string($number)."\n";
        
    $email_message .= "Email: ".clean_string($email)."\n";
        
    $email_message .= "Comments: ".clean_string($comments)."\n";
        
    // create email headers
    $headers 'From: '.$email_from."\r\n".
    'Reply-To: '.$email_from."\r\n" .
    'X-Mailer: PHP/' phpversion();
    $headers .= "Content-type: text/html\r\n";
    @
    mail($email_to$email_subject$email_message$headers);  
    ?>

    <h2> Thank You </h2>

    </body>
    </html>

    <?
    }
    ?>

  2. #2
    Join Date
    Jan 2009
    Posts
    3,346
    Can you define "not working"? Don't know if it is related but I see you are using short open tags "<?" rather than the full tag "<?php" which could break a script if short tags are turned off.

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
HTML5 Development Center



Recent Articles