0

i am using php 5.2.4 with wampserver. everything is going fine. i have done several works in a few days. there were no problem.

But i am facing a peculiar problem. the script i wrote for the page is showing instead of rendered web page. my page is given here:

<?php
if(isset($_POST['email'])) {

    // EDIT THE 2 LINES BELOW AS REQUIRED
    $email_to = "[email protected]";
    $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();
    }

    // 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";

     echo "<br>";
     echo $email_from + $email_to + $email_message;
      echo "<br>";

// 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); 
}
?>

when i run this from phpmyadmin it shows 0 on the left top corner of the page. i have checked short_tag , restarted server twice. but no result. what can i do?

3
  • 1
    what is the file name of your page ? Commented Apr 11, 2012 at 7:55
  • 2
    wait.. what do you mean by "when i run this from phpmyadmin"? You are running those code inside a phpmyadmin? Commented Apr 11, 2012 at 7:55
  • what does your add_handler directives look like? Commented Apr 11, 2012 at 7:56

3 Answers 3

1

You are confusing how string concatenation works with javascript. I mean this line:

echo $email_from + $email_to + $email_message;

Replace it with

echo $email_from . $email_to . $email_message;
Sign up to request clarification or add additional context in comments.

1 Comment

thanks, that was my mistake. but this doesn't help to recover the main problem.
1

Make a file phpinfo.php and add the following code to it:

phpinfo();

If still you are able to see the code, reinstall your wampserver and make sure Apache server is running.

2 Comments

forgot to mention, run the phpinfo.php file after you upload it to your root folder
Then may be your wampserver is not configured correctly. Try reinstalling it and make sure the Apache service is running. Your code is fine.
0

check for whitespaces

also - remove the ?> from the end of your PHP file, that can also cause output errors

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.