Jump to content

PHP coding issue


sec231

Recommended Posts

Im new to PHP so bare with me.  I created a form for my website.  A person can enter the information and when they hit "submit" all of the information is sent to my email.  for example:

 

name: mike

 

state: ca

 

comment: hi

 

my problem is this: some of the entered information is sent, while other entered information is not.  I also have a drop down menu that the user can chose from a variety of answers.  how do i use php to get that information sent to my email? If this isnt a clear explanation please forgive me b/c Im not so sure how to explain it. 

 

Any help is appreciated! 

Link to comment
Share on other sites

<?php

 

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

 

     

 

    

 

    $email_to = "danny@djmgmt.com";

 

    $email_subject = "New Quote Request";

 

     

 

     

 

    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 .= "Address: ".clean_string($address)."\n";

 

$email_message .= "Address line 2: ".clean_string($address_2)."\n";

 

$email_message .= "City: ".clean_string($city)."\n";

 

$email_message .= "State: ".clean_string($state)."\n";

 

$email_message .= "Zip Code: ".clean_string($zipcode)."\n";

 

    $email_message .= "Email: ".clean_string($email_from)."\n";

 

    $email_message .= "Telephone: ".clean_string($telephone)."\n";

 

$email_message .= "How did you hear about D&J: ".clean_string($formhear)."\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);  

 

?>

 

 

 

<!-- Success statement -->

 

 

 

<b>Thank you for contacting us. A member from our team will be in contact with you shortly.</b><br /><br />

 

<a href="http://www.djmgmt.com"><strong>Return Home</strong></a>

 

 

 

 

<?php

 

}

 

?>

Link to comment
Share on other sites

html code:

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>D&J Management Services Request A Quote</title>
</head>
 
<body>
<div><b>Please take a few minutes to fill out the information below to help us best meet your needs. A representative from D&J Management Services will contact you shortly.  Thanks for your interest. </b>  </div><br />
 
<form name="contactform" method="post" action="quote.php">
 
<table width="450px">
 
<tr>
 
 <td valign="top">
 
  <label for="first_name">First Name *</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">Last Name *</label>
 
 </td>
 
 <td valign="top">
 
  <input  type="text" name="last_name" maxlength="50" size="30">
 
 </td>
 
</tr>
 
<tr>
 
 <td valign="top">
 
  <label for="address">Address *</label>
 
 </td>
 
 <td valign="top">
 
  <input  type="text" name="address" maxlength="50" size="30">
 
 </td>
 
</tr>
 
<tr>
 
 <td valign="top">
 
  <label for="address_2">Address line 2 </label>
 
 </td>
 
 <td valign="top">
 
  <input  type="text" name="address_2" maxlength="50" size="30">
 
 </td>
 
</tr>
 
<tr>
 
 <td valign="top">
 
  <label for="city">City *</label>
 
 </td>
 
 <td valign="top">
 
  <input  type="text" name="city" maxlength="50" size="30">
 
 </td>
 
</tr>
 
<tr>
 
 <td valign="top">
 
  <label for="state">State *</label>
 
 </td>
 
 <td valign="top">
 
  <input  type="text" name="state" maxlength="50" size="30">
 
 </td>
 
</tr>
 
<tr>
 
 <td valign="top">
 
  <label for="zipcode">Zip Code *</label>
 
 </td>
 
 <td valign="top">
 
  <input  type="text" name="zipcode" maxlength="50" size="30">
 
 </td>
 
</tr>
 
 
<tr>
 
 <td valign="top">
 
  <label for="email">Email Address *</label>
 
 </td>
 
 <td valign="top">
 
  <input  type="text" name="email" maxlength="80" size="30">
 
 </td>
 
</tr>
 
<tr>
 
 <td valign="top">
 
  <label for="telephone">Telephone Number *</label>
 
 </td>
 
 <td valign="top">
 
  <input  type="text" name="telephone" maxlength="30" size="30">
 
 </td>
 
</tr>
 
<tr>
                  <td height="34"><p> 
                    </p>
                    <p>
How did you hear about D&J?:
<select name="formhear">
  <option value="">Select...</option>
  <option value="1">I received one of your postcards</option>
  <option value="2">You work for my neighbor</option>
  <option value="3">Referred by another person</option>
  <option value="4">Other (not listed)</option>
 
</select>
</p>
                    
                  
                  <p> </p></td>
 
    </tr>
 
<tr>
 
 <td valign="top">
 
  <label for="comments">Comments *</label>
 
 </td>
 
 <td valign="top">
 
  <textarea  name="comments" maxlength="1000" cols="25" rows="6"></textarea>
 
 </td>
 
</tr>
 
<tr>
 
 <td colspan="2" style="text-align:center">
 
  <input type="submit" value="Submit"> 
 
 </td>
 
</tr>
 
</table>
 
</form>
 
 
 
</body>
</html>
Link to comment
Share on other sites

Did you write the code or did you just copy/paste it from somewhere and are looking to change it? I'm not understanding how you would not see why some fields are not included in the email. For example, you have this as part of the email content creation process

 

$email_message .= "Address: ".clean_string($address)."\n";

 

But, nowhere in the preceding code did you define $address.

Link to comment
Share on other sites

Yes - this is quite the code sample (improperly posted and difficult to read/comprehend.) from an admitted newcomer to PHP.  That said I'll just add that since you obviously didn't write I think we can agree that you are Still a Newbie and will be until you Write Your Own Code.

 

This code is so full of c*** that you would not have written yourself on day one.  Why don't you read up on some things like a newcomer should do and then read about how to handle inputs to validate them and then write your own code.  THEN ask for help so that you can learn and apply.

Link to comment
Share on other sites

Maybe trying simplifiying the application down to one input field just so you can understand how it works. That way, once you understand what is happening, you can add more fields and make it more complex. If you understand your foundations, it's easier to spot where the issues are. Just a suggestion. gl :)

  • Like 1
Link to comment
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.