Jump to content

Why won't my form work?


Oscar11

Recommended Posts

Am learning to understand this language. I have an error message of

Parse error: parse error, unexpected T_IF, expecting '{' in /tier-11/pwpstore4/48/tfeethowsthis/htdocs/send_form_emailtest1.php on line 12

 

The user must fill in their name and email address in order to submit the form.

Many thanks

 

 

<?php
 
if(isset($_POST['email'])) {
 
// EDIT THE 2 LINES BELOW AS REQUIRED
     $email_to = "xxxxx@xxxxxxx";
     $email_subject = "Your email subject line";
 
function died($error)


    if (empty($_REQUEST[$Name]))
    {
        echo 'Please go back and fill out ' . $fieldName . "<br>\n";
        
// validation expected data exists
        if(empty($_POST['name']) ||
           empty($_POST['email']) ||
          !isset($_POST['comments'])) {

           died('We are sorry, but there appears to be a problem with the form you submitted.');      
        }
 
        if ((!name) || (!email) || (comments)) {
        $errorMsg = 'Please make sure you have filled in the required fields:<br /><br />';
        }
        if (!$name) {
        $errorMsg = 'Please fill in your Full Name<br />';
        }
        if (!$email) {
        $errorMsg = 'Please fill in your email address<br />';
        }
    }

 

[php]

Link to comment
Share on other sites

Assuming that's your complete code, you didn't close the first if statement. Also, the died() function is incomplete.

<?php
if(isset($_POST['email'])) {
 
    // EDIT THE 2 LINES BELOW AS REQUIRED
    $email_to = "xxxxx@xxxxxxx";
    $email_subject = "Your email subject line";
 
    function died($error) {
        //do function stuff here
    }
 
 
    if (empty($_REQUEST[$Name])) {
        echo 'Please go back and fill out ' . $fieldName . "<br>\n";
        
// validation expected data exists
        if(empty($_POST['name']) || empty($_POST['email']) || !isset($_POST['comments'])) {
           died('We are sorry, but there appears to be a problem with the form you submitted.');      
        }
 
        if ((!name) || (!email) || (comments)) {
         $errorMsg = 'Please make sure you have filled in the required fields:<br /><br />';
        }
        if (!$name) {
         $errorMsg = 'Please fill in your Full Name<br />';
        }
        if (!$email) {
       $errorMsg = 'Please fill in your email address<br />';
        }
    }
}
?>
Link to comment
Share on other sites

I have looked at your comments and done some research and now my form is displaying the 'some fields are required' message but all required fields are complete.  Ideally I would have a small error box appear on the form page if the user submits but leaves a required field blank?

 

What do you mean by paste the code in [   ]  tags? 

 

 

<?php
 
if(isset($_POST['email']))
 
// EDIT THE 2 LINES BELOW AS REQUIRED
     $email_to = "xxxxx@xxxxxxx";
     $email_subject = "Your email subject line";
 
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();
    }

    if (empty($_REQUEST[$Name]))
    {
        echo 'Please go back and fill out ' . $fieldName . "<br>\n";
        }
        
// validation expected data exists
        if(!isset($_POST['name']))
           !isset($_POST['email']) ||
           
           died('We are sorry, but there appears to be a problem with the form you submitted.');      
        
        
 //required fields
      $first_name = $_POST['name']; // required
         $email_from = $_POST['email']; // required

//error message
    $error_message = "";
    $email_exp = '/^[A-Za-z0-9._%-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}$/';
      
    $string_exp = "/^[A-Za-z .'-]+$/";
  if(!preg_match($string_exp,$name)) {
    $error_message .= 'The Name you entered does not appear to be valid.<br />';
}

  if(!preg_match($email_exp,$email_from)) {
    $error_message .= 'The Email Address you entered does 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 .= "Name: ".clean_string($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);

?>

 

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.