mercredi 25 mars 2015

php form not confirming submit or mail being received

I'm experiencing some issues with a php form i have inherited as part of a project, it doesn't send email nor confirm that the form submission is successful. I've included all of the code to hopefully make it a little easier.


Any help would be most appreciated. Thanks.



<?php

// uses phpmailer (?)

Class Contact
{
function __construct()
{
global $formShown;
$formShown = true;
if($_POST)
{
$this->validateForm();
}
}
function validateForm()
{
global $error, $data, $errorBox, $successBox, $formShown;
$formShown = true;
$error = array();
$data = array();
$count = 0;

$data = $_POST;
$blocked = array('booooo');
foreach($_POST as $key=>$value)
{

for($i=0;$i<count($blocked);$i++)
{
if(strlen(strstr($value,$blocked[$i]))>0)
{
$error[$key] = ' class="error"';
$count++;
}
}
if($value == "" || (strlen(trim($value)) == 0))
{
if($key == "submit"){
}else{
$error[$key] = ' class="error"';
$count++;
}
}
if($key == "phone" && $value<20)
{
$error[$key] = ' class="error"';
$count++;
}
}

// function to confirm form submission
if($count>0)
{
//$successBox = '<div class="successBox"><h3>Please enter all the areas highlighted in red</h3></div>;
}
else
{
$this->sendForm();
$successBox = <div class="successBox"><h3>E-Mail Sent.</h3></div>';
}


}
function sendForm()
{
global $data, $formShown;
require_once('email.class.php');

date_default_timezone_set('Europe/London');

$data['timeSent'] = date('l, jS F, Y \a\t H:i',time());

// New Headers
$headers = "MIME-Version: 1.0" . "\r\n";
$headers = "Content-type: text/html; charset=utf-8" . "\r\n";
$headers = "X-Mailer: PHP/".phpversion();

// Send email with enquiry details
$contactemail = new Email();
$contactemail->setTemplate("quickcontact");
$contactemail->setTo('xxxyyy@abc.com');
$contactemail->setSubject("My enquiry");
//$contactemail->setFrom($data['name'],$data['email']);
$contactemail->setFrom("My Enquiry", "jt@abc.com"); // double check
$contactemail->sendEmail($data);

// Send email to the visitor to confirm the contact form they sent
$contacteeemail = new Email();
$contacteeemail->setTemplate("quickcontactee");
$contacteeemail->setTo($data['email']);
$contacteeemail->setSubject("My form");
$contacteeemail->setFrom("My sender", "jt@abc.com"); // double check
$contacteeemail->sendEmail($data);

$this->unsetData();
$formShown = false;

}
function unsetData()
{
global $data;
foreach($data as $key=>$value)
{

$data[$key] = "";
}
}
}


?>


the html form



<?

require_once('scripts/form.class.php');
global $error, $data, $errorBox, $successBox, $formShown;
$contact = new ContactTidy();

?>


<!DOCTYPE HTML>
<html>
<head>
<meta name="viewport" content="initial-scale=1,user-scalable=no,maximum-scale=1">
<title>My Data Form</title>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="author" content="www.abc.com">


<link href="BIGcontact.css" rel="stylesheet" type="text/css" />

<meta name="description" content="Form 2"/>

</head>





<body>




<!-- Main header image -->
<div id="Form">


<div id="contactForm">
<?=$successBox?>
<? if($formShown): ?>
<form method="post" action="?sent=1" >


<div class="row orange-underline">
<span class="leftSpan"> <span><label>Name Of Trust:</label>
<input <?=$error["nameOf"]; ?> type="text" name="nameOf" id="nameOf" value="<?=$_POST['nameOf'] ?>"/>
</span> </span>
</div>
<div class="row">
<span class="leftSpan"> <span><label>Your Name:</label>
<input <?=$error["name"]; ?> type="text" name="name" id="name" value="<?=$_POST['name'] ?>"/>
</span> </span>
<span class="rightSpan"> <label>Position:</label>
<input <?=$error["position"]; ?> type="text" name="position" id="position" value="<?=$_POST['position'] ?>"/>
</span>
</div>
<div class="row orange-underline">
<span class="leftSpan"> <span><label>Your Contact Number:</label>
<input <?=$error["phone"]; ?> type="text" name="phone" id="phone" value="<?=$_POST['phone'] ?>"/>
</span> </span>
</div>
<div class="row orange-underline">
<span class="leftSpan"> <span><label>Full Name Of Trust:</label>
<input <?=$error["fullNameOf"]; ?> type="text" name="fullNameOf" id="fullNameOfTrust" value="<?=$_POST['fullNameOf'] ?>"/>
</span> </span>
<span class="rightSpan"> <label>Upload Trusts Logo:</label>
<input <?=$error["logo"]; ?> type="file" accept="image/*" name="logo" id="logo" value="<?=$_POST['logo'] ?>"/>
</span>
</div>
<div class="row">
<span class="leftSpan"> <span><label>Name Of Local Ward:</label>
<input <?=$error["Ward"]; ?> type="text" name="Ward" id="labourWard" value="<?=$_POST['labourWard'] ?>"/>
</span> </span>
<span class="rightSpan"> <label>Address of Ward:</label>
<input <?=$error["addressWard"]; ?> type="text" name="addressWard" id="addressWard" value="<?=$_POST['addressWard'] ?>"/>
</span>
</div>
<div class="row orange-underline">
<span class="leftSpan"> <span><label>Link To Video/Image of Ward:</label>
<input <?=$error["videoWard"]; ?> type="text" name="videoWard" id="videoWard" value="<?=$_POST['videoWard'] ?>"/>
</span> </span>

</div>
<div class="row">
<span class="leftSpan"> <span><label>Links To Video/Image of :</label>
<input <?=$error["videoCare"]; ?> type="text" name="videoCare" id="videoare" value="<?=$_POST['videoCare'] ?>"/>
</span> </span>
<span class="rightSpan"> <label>Any Free StandingUnits:</label>
<p>
<select class="free_region_units">
<option value="select">Select</option>
<?php for($i = 1; $i <= 10; $i++) { ?>
<option value="<?php echo $i; ?>"><?php echo $i . ($i === 1 ? ' unit' : ' units'); ?></option>
<?php } ?>
</select>
</p>
</span>
</div>
<div class="row orange-underline">
<div class="addressArea hidden">
<div class="duplicateFree">
<label>Free Standing Unit:</label>
<input <?=$error["freeStandingUnit"]; ?> type="text" name="freeStandingUnit" id="freeStandingUnit" value="<?=$_POST['freeStandingUnit'] ?>"/>
<label>Free Standing Address:</label>
<textarea <?=$error["freeStandingAddresses"]; ?> name="freeStandingAddresses" id="freeStandingAddresses" rows="0" cols="0" ><?=$_POST['freeStandingAddresses'] ?></textarea>
<label>Free Standing Postcode:</label>
<input <?=$error["freeStandingPost"]; ?> type="text" name="freeStandingPost" id="freeStandingPost" value="<?=$_POST['freeStandingPost'] ?>"/>
<label>Distance To Main Site:</label>
<input <?=$error["freeMainSiteDistance"]; ?> type="text" name="freeMainSiteDistance" id="freeMainSiteDistance" value="<?=$_POST['freeMainSiteDistance'] ?>"/>
<label>Non-urgent Transfer Time:</label>
<input <?=$error["freeNonUrgentTransfer"]; ?> type="text" name="freeNonUrgentTransfer" id="freeNonUrgentTransfer" value="<?=$_POST['freeNonUrgentTransfer'] ?>"/>
<label>Blue Light Transfer Time:</label>
<input <?=$error["freeBlueLightTransfer"]; ?> type="text" name="freeBlueLightTransfer" id="freeBlueLightTransfer" value="<?=$_POST['freeBlueLightTransfer'] ?>"/>
</div>
</div>
</div>
<div class="row">
<span class="leftSpan"> <span><label>Any Alongside Units:</label>
<p>
<select class="region_units">
<option value="select">Select</option>
<?php for($i = 1; $i <= 10; $i++) { ?>
<option value="<?php echo $i; ?>"><?php echo $i . ($i === 1 ? ' unit' : ' units'); ?></option>
<?php } ?>
</select>
</p>
</span> </span>
</div>
<div class="row orange-underline">
<div class="addressArea2 hidden">
<div class="duplicate">
<label>Alongside Unit:</label>
<input <?=$error["alongsideUnit"]; ?> type="text" name="alongsideUnit" id="alongsideUnit" value="<?=$_POST['alongsideUnit'] ?>"/>
<label>Alongside Address:</label>
<textarea <?=$error["alongsideAddresses"]; ?> name="alongsideAddresses" id="alongsideAddresses" rows="0" cols="0" ><?=$_POST['alongsideAddresses'] ?></textarea>
<label>Alongside Postcode:</label>
<input <?=$error["alongsideUnitPost"]; ?> type="text" name="alongsideUnitPost" id="alongsideUnitPost" value="<?=$_POST['alongsideUnitPost'] ?>"/>
<label>Distance To Main Site:</label>
<input <?=$error["alongsideMainSiteDistance"]; ?> type="text" name="alongsideMainSiteDistance" id="alongsideMainSiteDistance" value="<?=$_POST['alongsideMainSiteDistance'] ?>"/>
<label>Non-urgent Transfer Time:</label>
<input <?=$error["alongsideNonUrgentTransfer"]; ?> type="text" name="alongsideNonUrgentTransfer" id="alongsideNonUrgentTransfer" value="<?=$_POST['alongsideNonUrgentTransfer'] ?>"/>
<label>Blue Light Transfer Time:</label>
<input <?=$error["alongsideBlueLightTransfer"]; ?> type="text" name="alongsideBlueLightTransfer" id="alongsideBlueLightTransfer" value="<?=$_POST['alongsideBlueLightTransfer'] ?>"/>

</div>
</div>
</div>
<div class="row">
<span class="leftSpan"> <span><label>Any Extra Addresses:</label>
<p>
<select class="extra_region_units">
<option value="select">Select</option>
<?php for($i = 1; $i <= 10; $i++) { ?>
<option value="<?php echo $i; ?>"><?php echo $i . ($i === 1 ? ' unit' : ' units'); ?></option>
<?php } ?>
</select>
</p>
</span> </span>
</div>
<div class="row orange-underline">
<div class="addressArea3 hidden">
<div class="duplicateExtra">
<label>Extra Unit:</label>
<input <?=$error["extraUnit"]; ?> type="text" name="extraUnit" id="extraUnit" value="<?=$_POST['extraUnit'] ?>"/>
<label>Extra Unit Address:</label>
<textarea <?=$error["extraAddresses"]; ?> name="extraAddresses" id="extraAddresses" rows="0" cols="0" ><?=$_POST['extraAddresses'] ?></textarea>
<label>Extra Unit Postcode:</label>
<input <?=$error["extraUnitPost"]; ?> type="text" name="extraUnitPost" id="extraUnitPost" value="<?=$_POST['extraUnitPost'] ?>"/>
<label>Distance To Main Site:</label>
<input <?=$error["extraMainSiteDistance"]; ?> type="text" name="extraMainSiteDistance" id="extraMainSiteDistance" value="<?=$_POST['extraMainSiteDistance'] ?>"/>
<label>Non-urgent Transfer Time:</label>
<input <?=$error["extraNonUrgentTransfer"]; ?> type="text" name="extraNonUrgentTransfer" id="extraNonUrgentTransfer" value="<?=$_POST['extraNonUrgentTransfer'] ?>"/>
<label>Blue Light Transfer Time:</label>
<input <?=$error["extraBlueLightTransfer"]; ?> type="text" name="extraBlueLightTransfer" id="extraBlueLightTransfer" value="<?=$_POST['extraBlueLightTransfer'] ?>"/>

</div>
</div>
</div>



<div class="row">
<input type="submit" class="submit" name="submit" value="Send">
</div>

</form>
<? endif; ?>
</div>

</div>
<footer>
<p>
<img src="img/footer-bg.jpg" alt="" />
</p>
<p>
® Trademark registered in the UK's Intellectual Property Office.
</p>
<p>
Any unauthorised use of the name, logo or functionally of the


will be considered as an infringement of Intellectual property rights


Aucun commentaire:

Enregistrer un commentaire