Jump to content

Problems with my PHP script


computerikon

Recommended Posts

I’m new to this PHP thing so bear with me ???

I've created a web server with Ubuntu and I have apache2 and PHP5 installed. I am having problems with receiving emails after filling out the form on my website. I have been trying to troubleshoot this problem for 3 days now. I figured I would post my php script here to see if everything looks ok. I hope this is the correct place to post this. Thanks in advance.

 

<?php

 

$my_email = "myemail@hotmail.com";

 

 

$continue = "/";

 

$errors = array();

 

// Remove $_COOKIE elements from $_REQUEST.

 

if(count($_COOKIE)){foreach(array_keys($_COOKIE) as $value){unset($_REQUEST[$value]);}}

 

// Check all fields for an email header.

 

function recursive_array_check_header($element_value)

{

 

global $set;

 

if(!is_array($element_value)){if(preg_match("/(%0A|%0D|\n+|\r+)(content-type:|to:|cc:|bcc:)/i",$element_value)){$set = 1;}}

else

{

 

foreach($element_value as $value){if($set){break;} recursive_array_check_header($value);}

 

}

 

}

 

recursive_array_check_header($_REQUEST);

 

if($set){$errors[] = "You cannot send an email header";}

 

unset($set);

 

// Validate email field.

 

if(isset($_REQUEST['email']) && !empty($_REQUEST['email']))

{

 

if(preg_match("/(%0A|%0D|\n+|\r+|:)/i",$_REQUEST['email'])){$errors[] = "Email address may not contain a new line or a colon";}

 

$_REQUEST['email'] = trim($_REQUEST['email']);

 

if(substr_count($_REQUEST['email'],"@") != 1 || stristr($_REQUEST['email']," ")){$errors[] = "Email address is invalid";}else{$exploded_email = explode("@",$_REQUEST['email']);if(empty($exploded_email[0]) || strlen($exploded_email[0]) > 64 || empty($exploded_email[1])){$errors[] = "Email address is invalid";}else{if(substr_count($exploded_email[1],".") == 0){$errors[] = "Email address is invalid";}else{$exploded_domain = explode(".",$exploded_email[1]);if(in_array("",$exploded_domain)){$errors[] = "Email address is invalid";}else{foreach($exploded_domain as $value){if(strlen($value) > 63 || !preg_match('/^[a-z0-9-]+$/i',$value)){$errors[] = "Email address is invalid"; break;}}}}}}

 

}

 

// Check referrer is from same site.

 

if(!(isset($_SERVER['HTTP_REFERER']) && !empty($_SERVER['HTTP_REFERER']) && stristr($_SERVER['HTTP_REFERER'],$_SERVER['HTTP_HOST']))){$errors[] = "You must enable referrer logging to use the form";}

 

// Check for a blank form.

 

function recursive_array_check_blank($element_value)

{

 

global $set;

 

if(!is_array($element_value)){if(!empty($element_value)){$set = 1;}}

else

{

 

foreach($element_value as $value){if($set){break;} recursive_array_check_blank($value);}

 

}

 

}

 

recursive_array_check_blank($_REQUEST);

 

if(!$set){$errors[] = "You cannot send a blank form";}

 

unset($set);

 

// Display any errors and exit if errors exist.

 

if(count($errors)){foreach($errors as $value){print "$value<br>";} exit;}

 

if(!defined("PHP_EOL")){define("PHP_EOL", strtoupper(substr(PHP_OS,0,3) == "WIN") ? "\r\n" : "\n");}

 

// Build message.

 

function build_message($request_input){if(!isset($message_output)){$message_output ="";}if(!is_array($request_input)){$message_output = $request_input;}else{foreach($request_input as $key => $value){if(!empty($value)){if(!is_numeric($key)){$message_output .= str_replace("_"," ",ucfirst($key)).": ".build_message($value).PHP_EOL.PHP_EOL;}else{$message_output .= build_message($value).", ";}}}}return rtrim($message_output,", ");}

 

$message = build_message($_REQUEST);

 

$message = $message . PHP_EOL.PHP_EOL."-- ".PHP_EOL."";

 

$message = stripslashes($message);

 

$subject = "FormToEmail Comments";

 

$headers = "From: " . $_REQUEST['email'];

 

mail($my_email,$subject,$message,$headers);

 

?>

 

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

 

<html>

 

<head>

<title>Dreamweaver Tutorial - Contact Form</title>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

</head>

 

<body bgcolor="#ffffff" text="#000000">

 

<div>

<center>

<b>Thank you <?php print stripslashes($_REQUEST['name']); ?></b>

<br>Your message has been sent

<p><a href="../index.html">Click here to continue</a></p>

<p> </p>

</center>

</div>

 

</body>

</html>

 

 

 

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.