1. This website uses cookies. By continuing to use this website you are giving consent to cookies being used.
    For information on cookies and how you can disable them visit our Cookie Usage page.
    Dismiss Notice

PHP Need guidance in php contact form

Discussion in 'Web Development' started by allentown, Sep 8, 2013.

  1. allentown

    allentown New Member

    Dear experts,
    I'm trying to set up the contact form in my one page website.

    I have tried my best to set up the php code & html code. But everytime I click on "Send" but I get "message failed" error.
    I'm posting here HTML & PHP code for your review.

    HTML Code:
    HTML:
    <form action="contact.php" method="post" id="ContactForm" class="contact-form">
                                                    <div>
                                                        <div class="wrapper"><span>Your Name:</span><input name="cf_name" type="text" class="input" ></div>
                                                        <div class="wrapper"><span>Your E-mail:</span><input name="cf_email" type="text" class="input" ></div>
                                                        <div class="wrapper"><span>Your Phone:</span><input name="cf_phone" type="text" class="input" ></div>
                                                        <div class="textarea_box"><span>Your Message:</span><textarea name="cf_message" cols="1" rows="1"></textarea></div>
                                                        <a href="javascript:" class="button" onClick="document.getElementById('ContactForm').submit()"><span class="shadow"></span>Send</a>
                                                        <a href="javascript:" class="button" onClick="document.getElementById('ContactForm').reset()"><span class="shadow"></span>Clear</a>
                                                    </div>
                                                </form>
    PHP Code:

    PHP:
    <?php
     
    $field_name 
    $_POST['cf_name'];
     
    $field_email $_POST['cf_email'];
     
    $field_message $_POST['cf_message'];
     
    $mail_to 'contact@xyz.com';
     
    $subject 'Message from a site visitor '.$field_name;
     
    $body_message 'From: '.$field_name."\n";
     
    $body_message .= 'E-mail: '.$field_email."\n";
     
    $body_message .= 'Message: '.$field_message;
     
    $headers 'From: '.$field_email."\r\n";
     
    $headers .= 'Reply-To: '.$field_email."\r\n";
     
    $mail_status mail($mail_to$subject$body_message$headers);
     
    if (
    $mail_status) { ?>
     
        <script language="javascript" type="text/javascript">
     
            alert('Thank you for the message. We will contact you shortly.');
     
            window.location = 'index.html';
     
        </script>
     
    <?php
     
    }
     
    else { 
    ?>
     
        <script language="javascript" type="text/javascript">
     
            alert('Message failed. Please, send an email to contact@xyz.com');
     
            window.location = 'index.html';
     
        </script>
     
    <?php
     
    }
     
    ?>
    Please see the attached screen shot for error message. I'm not able to trigger/ get email in my mail box. Looking forward to your advise. Please help.

    Thanks & Regards
     

    Attached Files:

  2. ishkey

    ishkey Moderator, Logos, Sports Crests Staff Member Verified Member

    I'm not an expert by no means but a little simple deduction indicates the problem is within the local IIS web server, you are trying to run on.
    some ideas -
    make sure there's a SMTP service running and accepting the mail
    is SMTP server and port configured properly
     
  3. jaran

    jaran New Member

    contact.php
    Code:
    <?php
    $email = 'YOUR EMAIL';
    echo 'Please fill the form with valid data !<br />';
    echo '<br />	';
    echo '<form method="post" action="form-contact.php" id="contactform">';
    echo '<label for="name">* Name</label><br />';
    echo '<input name="name" type="text" id="name" value="" />';
    echo '<br />';
    echo '<label for="email">* Email</label><br />';
    echo '<input name="email" type="text" id="email" value="" />';
    echo '<br />';
    echo '<label for="comments">* Message</label><br />';
    echo '<textarea name="comments" cols="30" rows="3" id="comments"></textarea>';
    echo '<p>* Are you human?</p>';
    echo '<label for="verify" accesskey="V">&nbsp;&nbsp;&nbsp;3 + 2 =</label>';
    echo '<input name="verify" type="text" id="verify" size="4" value="" style="width: 30px;" /><br /><br />';
    echo '<input type="submit" class="submit" id="submit" value="Submit" />';
    echo '<input name="address" type="hidden" id="address" value="<?php echo $email ?>" />';     
    echo '</form>';
    
    ?>
    
    form-contact.php
    Code:
    <?php
    
    if(!$_POST) exit;
    
    // Email address verification, do not edit.
    function isEmail($email) { 
    	return(preg_match("/^[-_.[:alnum:]]+@((([[:alnum:]]|[[:alnum:]][[:alnum:]-]*[[:alnum:]])\.)+(ad|ae|aero|af|ag|ai|al|am|an|ao|aq|ar|arpa|as|at|au|aw|az|ba|bb|bd|be|bf|bg|bh|bi|biz|bj|bm|bn|bo|br|bs|bt|bv|bw|by|bz|ca|cc|cd|cf|cg|ch|ci|ck|cl|cm|cn|co|com|coop|cr|cs|cu|cv|cx|cy|cz|de|dj|dk|dm|do|dz|ec|edu|ee|eg|eh|er|es|et|eu|fi|fj|fk|fm|fo|fr|ga|gb|gd|ge|gf|gh|gi|gl|gm|gn|gov|gp|gq|gr|gs|gt|gu|gw|gy|hk|hm|hn|hr|ht|hu|id|ie|il|in|info|int|io|iq|ir|is|it|jm|jo|jp|ke|kg|kh|ki|km|kn|kp|kr|kw|ky|kz|la|lb|lc|li|lk|lr|ls|lt|lu|lv|ly|ma|mc|md|mg|mh|mil|mk|ml|mm|mn|mo|mp|mq|mr|ms|mt|mu|museum|mv|mw|mx|my|mz|na|name|nc|ne|net|nf|ng|ni|nl|no|np|nr|nt|nu|nz|om|org|pa|pe|pf|pg|ph|pk|pl|pm|pn|pr|pro|ps|pt|pw|py|qa|re|ro|ru|rw|sa|sb|sc|sd|se|sg|sh|si|sj|sk|sl|sm|sn|so|sr|st|su|sv|sy|sz|tc|td|tf|tg|th|tj|tk|tm|tn|to|tp|tr|tt|tv|tw|tz|ua|ug|uk|um|us|uy|uz|va|vc|ve|vg|vi|vn|vu|wf|ws|ye|yt|yu|za|zm|zw)$|(([0-9][0-9]?|[0-1][0-9][0-9]|[2][0-4][0-9]|[2][5][0-5])\.){3}([0-9][0-9]?|[0-1][0-9][0-9]|[2][0-4][0-9]|[2][5][0-5]))$/i",$email));		
    }
    
    if (!defined("PHP_EOL")) define("PHP_EOL", "\r\n");
    
    $name     = $_POST['name'];
    $email    = $_POST['email'];
    $comments = $_POST['comments'];
    $verify   = $_POST['verify'];
    $address  = $_POST['address'];
    if(trim($name) == '') {
    	echo '<div class="error_message">Attention! You must enter your name.</div>';
    	echo '<button onclick="history.go(-1);"><b>Go back</b></button>';
    	exit();
    } else if(trim($email) == '') {
    	echo '<div class="error_message">Attention! Please enter a valid email address.</div>';
    	echo '<button onclick="history.go(-1);"><b>Go back</b></button>';
    	exit();
    } else if(!isEmail($email)) {
    	echo '<div class="error_message">Attention! You have entered an invalid e-mail address, try again.</div>';
    	echo '<button onclick="history.go(-1);"><b>Go back</b></button>';
    	exit();
    }
    
    if(trim($comments) == '') {
    	echo '<div class="error_message">Attention! Please enter your message.</div>';
    	echo '<button onclick="history.go(-1);"><b>Go back</b></button>';
    	exit();
    } else if(!isset($verify) || trim($verify) == '') {
    	echo '<div class="error_message">Attention! Please enter the verification number.</div>';
    	echo '<button onclick="history.go(-1);"><b>Go back</b></button>';
    	exit();
    } else if(trim($verify) != '5') {
    	echo '<div class="error_message">Attention! The verification number you entered is incorrect.</div>';
    	echo '<button onclick="history.go(-1);"><b>Go back</b></button>';
    	exit();  
    }
    
    if(get_magic_quotes_gpc()) {
    	$comments = stripslashes($comments);
    }
    
    // Configuration option.
    // i.e. The standard subject will appear as, "You've been contacted by John Doe."
    
    // Example, $e_subject = '$name . ' has contacted you via Your Website.';
    
    $e_subject = 'You\'ve been contacted by ' . $name . '.';
    
    
    // Configuration option.
    // You can change this if you feel that you need to.
    // Developers, you may wish to add more fields to the form, in which case you must be sure to add them here.
    		
    $e_body = "You have been contacted by $name. Their additional message is as follows..." . PHP_EOL . PHP_EOL;
    $e_content = "\"$comments\"" . PHP_EOL . PHP_EOL;
    $e_reply = "You can contact $name via email at: $email";
    		
    $msg = wordwrap( $e_body . $e_content . $e_reply, 70 );
    
    $headers = "From: $email" . PHP_EOL;
    $headers .= "Reply-To: $email" . PHP_EOL;
    $headers .= "MIME-Version: 1.0" . PHP_EOL;
    $headers .= "Content-type: text/plain; charset=utf-8" . PHP_EOL;
    $headers .= "Content-Transfer-Encoding: quoted-printable" . PHP_EOL;
    if(mail($address, $e_subject, $msg, $headers)) {
    
    	// Email has sent successfully, echo a success page.
    	
    	echo "<fieldset>";			
    	echo "<div id='success_page'>";
    	echo "<h1>Email Sent Successfully.</h1>";
    	echo "<p>Thank you <strong>$name</strong>, your message has been submitted to us.</p>";
    	echo "</div>";
    	echo "</fieldset>";
    	echo '<a href="index.php"><b>Home</b></a>';
    	 
    } else {
    
    	echo 'ERROR!';
        echo '<button onclick="history.go(-1);"><b>Go back</b></button>';
    
    }
    ?>