#1
  1. No Profile Picture
    Registered User
    Devshed Newbie (0 - 499 posts)

    Join Date
    Nov 2011
    Posts
    24
    Rep Power
    0

    Contact form php


    This is driving me crazy because I had this form before and it did work and now I am not able to make it work.

    The problem is that when I press the button "Submit" instead of submit the form, the "ReportIssueForm.php" file opens as a txt file in the browser and I see all the code.

    Any help would be highly appreciated.

    Here is the HTML code to call the PHP file:

    Code:
    <form name="htmlform" method="post" action="ReportIssueForm.php">
    <table width="450px">
    </tr>
    <tr>
      <td valign="top">
      <label for="first_name"><b>First Name *</b></label>
     </td>
     <td valign="top">
      <input  type="text" name="first_name" maxlength="50" size="30">
     </td>
    </tr>
    
    <tr>
     <td valign="top"">
      <label for="last_name"><b>Last Name *</b></label>
     </td>
     <td valign="top">
      <input  type="text" name="last_name" maxlength="50" size="30">
     </td>
    </tr>
    <tr>
     <td valign="top">
      <label for="email"><b>Email *<font size='2'></b></label>
     </td>
     <td valign="top">
      <input  type="text" name="email" maxlength="80" size="30">
     </td>
    
    </tr>
    <tr>
     <td valign="top">
      <label for="comments"><b>Comments*</b></label>
     </td>
     <td valign="top">
      <textarea  name="comments" maxlength="1000" cols="25" rows="6"></textarea>
    </td>
    
    </tr>
    <tr>
     <td colspan="4" style="text-align:center">
    <br><br>
     <input type="submit" value="Submit">   
    </td>
    </tr>
    </table>
    </form>
    And here is the code from the php file:

    Code:
    <?php
    if(isset($_POST['email'])) {
    
    // CHANGE THE TWO LINES BELOW
    $email_to = "myemail";     
    $email_subject = "Reporting and issue";
    
    
    function died($error) {
        // your error code can go here
        echo "We are very sorry, but there were error(s) found with the form you 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['first_name']) ||
        !isset($_POST['last_name']) ||
        !isset($_POST['email']) ||
        !isset($_POST['comments'])) {
        died('We are sorry, but there appears to be a problem with the form you submitted.');      
    }
    
    $first_name = $_POST['first_name']; // required
    $last_name = $_POST['last_name']; // required
    $email_from = $_POST['email']; // required
    $comments = $_POST['comments']; // required
    
    $error_message = "";
    
    $email_exp = '/^[A-Za-z0-9._%-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}$/';
      if(!preg_match($email_exp,$email_from)) {
    $error_message .= 'The Email Address you entered does not appear to be valid.<br />';
      }
         $string_exp = "/^[A-Za-z .'-]+$/";
        if(!preg_match($string_exp,$first_name)) {
       $error_message .= 'The First Name you entered does not appear to be valid.<br />';
       }
      if(!preg_match($string_exp,$last_name)) {
    $error_message .= 'The Last Name you entered does not appear to be valid.<br />';
      }
      if(strlen($comments) < 2) {
    $error_message .= 'The Comments you entered do not appear to be valid.<br />';
     }
      if(strlen($error_message) > 0) {
        died($error_message);
      }
        $email_message = "Form details below.\n\n";
    
    function clean_string($string) {
      $bad = array("content-type","bcc:","to:","cc:","href");
      return str_replace($bad,"",$string);
    }
    
    $email_message .= "First Name: ".clean_string($first_name)."\n";
    $email_message .= "Last Name: ".clean_string($last_name)."\n";
    $email_message .= "Email: ".clean_string($email_from)."\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();
    @mail($email_to, $email_subject, $email_message, $headers); 
    ?>
    
    <!-- place your own success html below -->
    
    Thank you for Reporting an issue. We will look into it and try to solve it as soon as possible.<br><br>
    
    
    <?php
    }
    die(); 
    ?>
  2. #2
  3. --
    Devshed Expert (3500 - 3999 posts)

    Join Date
    Jul 2012
    Posts
    3,957
    Rep Power
    1046
    Hi,

    so you're saying you see the literal PHP code when you visit ReportIssueForm.php? In that case, you misconfigured your webserver. Does this problem happen with all PHP scripts?
    The 6 worst sins of security ē How to (properly) access a MySQL database with PHP

    Why canít I use certain words like "drop" as part of my Security Question answers?
    There are certain words used by hackers to try to gain access to systems and manipulate data; therefore, the following words are restricted: "select," "delete," "update," "insert," "drop" and "null".

IMN logo majestic logo threadwatch logo seochat tools logo