The Web Design Group

... Making the Web accessible to all.

Welcome Guest ( Log In | Register )

 
Reply to this topicStart new topic
> How to link a php file to a form, PHP and html
bleedz129
post Apr 5 2014, 07:36 PM
Post #1


Novice
**

Group: Members
Posts: 21
Joined: 24-March 14
Member No.: 20,600



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);  

?>



This post has been edited by Christian J: Apr 6 2014, 08:41 AM
User is offlinePM
Go to the top of the page
Toggle Multi-post QuotingQuote Post
pandy
post Apr 5 2014, 09:46 PM
Post #2


🌟Computer says no🌟
********

Group: WDG Moderators
Posts: 20,730
Joined: 9-August 06
Member No.: 6



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?
User is offlinePM
Go to the top of the page
Toggle Multi-post QuotingQuote Post
bleedz129
post Apr 6 2014, 04:12 AM
Post #3


Novice
**

Group: Members
Posts: 21
Joined: 24-March 14
Member No.: 20,600



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?
User is offlinePM
Go to the top of the page
Toggle Multi-post QuotingQuote Post
Frederiek
post Apr 6 2014, 04:39 AM
Post #4


Programming Fanatic
********

Group: Members
Posts: 5,146
Joined: 23-August 06
From: Europe
Member No.: 9



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 .
User is offlinePM
Go to the top of the page
Toggle Multi-post QuotingQuote Post
bleedz129
post Apr 6 2014, 04:49 AM
Post #5


Novice
**

Group: Members
Posts: 21
Joined: 24-March 14
Member No.: 20,600



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
User is offlinePM
Go to the top of the page
Toggle Multi-post QuotingQuote Post
jimlongo
post Apr 6 2014, 07:50 AM
Post #6


This is My Life
*******

Group: Members
Posts: 1,128
Joined: 24-August 06
From: t-dot
Member No.: 16



Or try XAMPP or similar local web server so you can develop PHP on your computer.

https://www.apachefriends.org/index.html
User is offlinePM
Go to the top of the page
Toggle Multi-post QuotingQuote Post
Frederiek
post Apr 6 2014, 07:55 AM
Post #7


Programming Fanatic
********

Group: Members
Posts: 5,146
Joined: 23-August 06
From: Europe
Member No.: 9



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.
User is offlinePM
Go to the top of the page
Toggle Multi-post QuotingQuote Post
Christian J
post Apr 6 2014, 08:41 AM
Post #8


.
********

Group: WDG Moderators
Posts: 9,653
Joined: 10-August 06
Member No.: 7



I removed the email address in the OP's code example so spambots won't find it.
User is offlinePM
Go to the top of the page
Toggle Multi-post QuotingQuote Post

Reply to this topicStart new topic
1 User(s) are reading this topic (1 Guests and 0 Anonymous Users)
0 Members:

 



- Lo-Fi Version Time is now: 19th April 2024 - 12:53 PM