Help - Search - Members - Calendar
Full Version: How to link a php file to a form
HTMLHelp Forums > Web Authoring > Markup (HTML, XHTML, XML)
bleedz129
Hi !

I am linking my php file to the email form I have. However when I click submit to send the email, the page opens in php codes.

this is what I have

CODE
<form name="contactform" method="post" action="send_form_email.php">


Isn't that correct ? is it not oppening because I have a problem with my php file ?

this is some of my php code, you can skip through it since it is long

CODE
<?php

if(isset($_POST['email'])) {

    

    // EDIT THE 2 LINES BELOW AS REQUIRED

    $email_to = "***@***.***";

    $email_subject = "Please contact me if intrested";

    

    

    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['telephone']) ||

        !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

    $telephone = $_POST['telephone']; // not 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 .= "Telephone: ".clean_string($telephone)."\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);  

?>

pandy
QUOTE
the page opens in php codes.


What do you mean by that? Do you see the php code on the page? In that case I'd say the PHP is never parsed. Do you use PHP otherwise on your site and if so does it work?
bleedz129
QUOTE(pandy @ Apr 5 2014, 10:46 PM) *

QUOTE
the page opens in php codes.


What do you mean by that? Do you see the php code on the page? In that case I'd say the PHP is never parsed. Do you use PHP otherwise on your site and if so does it work?


Well I will give more info...

I am runing it from notepad++ on google chrome. Yes I see the actual code of php when i click submit.... What do you mean by never parsed?
Frederiek
PHP is a server-side programming language and thus needs to run from a server (local or online). It doesn't work offline. PHP code should never be seen by a browser, it's execute from a server in a browser and outputs whatever is coded in PHP. That's what's called parsing. See also http://en.wikipedia.org/wiki/PHP .
bleedz129
QUOTE(Frederiek @ Apr 6 2014, 05:39 AM) *

PHP is a server-side programming language and thus needs to run from a server (local or online). It doesn't work offline. PHP code should never be seen by a browser, it's execute from a server in a browser and outputs whatever is coded in PHP. That's what's called parsing. See also http://en.wikipedia.org/wiki/PHP .


Ah. I need to publish the website to have it work then correct ? understood today it will be done
jimlongo
Or try XAMPP or similar local web server so you can develop PHP on your computer.

https://www.apachefriends.org/index.html
Frederiek
As long as PHP is installed on the server where you publish it. A web hosting (shared) server usually should have that installed by default. You can check that with a small PHP file.
Put the following in a file:
CODE
<?php
phpinfo();
?>

Save it as info.php, upload to your web host and run it in your browser from your domain (http://yourfulldomainname/info.php). You then should see the PHP version and a list of its configuration.

On a dedicated server however, you need to install everything yourself, including the server software and anything else.
Christian J
I removed the email address in the OP's code example so spambots won't find it.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Invision Power Board © 2001-2018 Invision Power Services, Inc.