Hello i have searched for days for a way to get my form to work…I get a Sent Successfully message but nothing shows up in my email account…please help me because im clearly missing something.
Heres the form code from the html page:
[code]
|
Heres the code from the php sender script:
[php]<?
################################
CONFIGURABLE FIELDS
################################
*/
// Set a to field if this script will always post to the same email address (also protects from spammers.)
// e.g. $to = "[email protected]";
$to = "[email protected]";
// Set your reCAPTCHA privage key if you wish to prevent automated spam.
// e.g. $privatekey = “6LfzzbkSAffdfffAtwtE7i2Jh2ywGkAvyl7odoYFN”;
$privatekey = “”;
// Add a list of Domains that can post to this script, separated by comma (include Domains with and without www.)
// e.g. $referrers = “www.domain.com, domain.com”;
$referrers = “”;
// Alternatively, provide an external file with a list of allowed Domains, each separated on a new line (include Domains with and without www.)
// e.g. $referrers_file = “/home/username/httpdocs/referrers.txt”; or
// e.g. $referrers_file = “referrers.txt”;
$referrers_file = “”;
// You can specify a redirect upon successful posting either here or in the form as a hidden field.
// e.g. $redirect = “http://www.yourdomain.com/thanks.html”;
$redirect = “http://neverland.phpnet.us/sent.html”;
// If you want form posts recorded to a CSV file, provide an external file.
// e.g. $csv_file = “/home/username/httpdocs/form_data.csv”; or
// e.g. $csv_file = “form_data.csv”;
$csv_file = “”;
// You can stop your form being submitted when specific words and phrases are in any of the fields.
// Separate each phrase with commas. Phrase checking is case-insensitive.
// e.g. $banned_phrases = “University Diploma, Add Inches”;
$banned_phrases = “”;
// Alternatively, provide an external file with a list of banned phrases, each separated on a new line.
// e.g. $banned_phrases_file = “/home/username/httpdocs/banned_phrases.txt”; or
// e.g. $banned_phrases_file = “banned_phrases.txt”;
$banned_phrases_file = “”;
// You can stop your form being submitted from specific IP addresses.
// Separate each phrase with commas.
// e.g. $banned_ips = “123.456.789.123, 987.654.321.123”;
$banned_ips = “”;
// Alternatively, provide an external file with a list of banned IPs, each separated on a new line.
// e.g. $banned_ips_file = “/home/username/httpdocs/banned_ips.txt”; or
// e.g. $banned_ips_file = “banned_ips.txt”;
$banned_ips_file = “”;
// Set your preferred language (translations required.)
$lang = “en-us”;
// If you have a header file for the error page, include the full path.
// e.g. $header_file = “/home/username/httpdocs/header.html”; or
// e.g. $header_file = “header.html”;
$header_file = “”;
// Alternatively you can specify a header file in the form. See further down for instructions.
// If you have a footer file for the error page, include the full path.
// e.g. $footer_file = “/home/username/httpdocs/footer.html”; or
// e.g. $footer_file = “footer.html”;
$footer_file = “”;
// Alternatively you can specify a footer file in the form. See further down for instructions.
################################
TRANSLATIONS
################################
if ($lang == “en-us”) {
$langErrorSetTo = “Please set an address to send the mail to.”;
$langErrorRecaptcha = “You did not enter the challenge phrase correctly.”;
$langErrorNoPermission = “The website you posted your form from does not have permission to use this script. Please add this site’s Domain to the scripts allowed referrers.”;
$langCheckReqd = "Please complete the required field: ";
$langBannedPhrase = “Sorry but the data you have submitted contains words or phrases that are not allowed.”;
$langIPBanned = “Sorry but you’re unable submit the form at this time.”;
$langEmailNotOk = “Your email address is invalid.”;
$langCsvLogged = “This data has been logged to a CSV file.”;
$langCsvFailed = “WARNING: Could not log to CSV file. Please CHMOD 777 the home folder of form2email.php.”;
$langForm2EmailResults = “Form2Email Results”;
$langFormSubmitted = “Thanks, your form was submitted.”;
$langFormError = “Form2Email Error”;
$langFormResults = “Form2Email Results”;
$langSubmitError = “There was an error with your submission”;
$langGoBack = “Go Back”;
$langErrorNoReferFile = “The referrer file specified does not exist.”;
$langErrorNoPhrasesFile = “The banned phrases file does not exist.”;
$langErrorNoIPsFile = “The banned IPs file does not exist.”;
$errorEmailSubject = “Form2Email File Errors”;
}
################################
DO NOT MODIFY CODE BELOW
################################
FUNCTIONS
// This function checks the email address for invalid chars.
function emailOK($str) {
$badChars = “[ ]+| |+|=|[|]|{|}|`|(|)|,|;|:|!|<|>|%|*|/|’|”|?|#|\$|\&|\^|www[.]";
return (eregi($badChars,$str));
}
CREATE TO FIELD
// Check if the to field has been set in this script.
if ($to == “”) {
// it hasn’t, so set it as a posted field.
$to = $_POST[“to”];
}
CHECK RECAPTCHA
if ($privatekey != “”) {
include("recaptchalib.php");
$resp = recaptcha_check_answer ($privatekey,$_SERVER["REMOTE_ADDR"],$_POST["recaptcha_challenge_field"],$_POST["recaptcha_response_field"]);
if (!$resp->is_valid)
$error[] = $langErrorRecaptcha;
}
// Check if a to value exists, otherwise generate an error.
if ($to == “”)
$error[] = $langErrorSetTo;
CHECK IN-SCRIPT REFERRERS
// Check if there are referrers set.
if ($referrers != “”) {
// Read the refferers into an array.
$referrersAr2 = explode(",",$referrers);
$numLines = sizeof($referrersAr2);
for ($i=0;$i<$numLines;$i++) {
$referrersAr[] = trim($referrersAr2[$i]);
}
}
CHECK EXTERNAL FILE REFERRERS
// Check if a file path has been set.
if ($referrers_file != “”) {
// Check if the file exists.
if (file_exists($referrers_file)) {
// Check the file has content and then open.
if (filesize($referrers_file) > 0) {
$fd = fopen( $referrers_file, "r" );
$referrer_content = fread( $fd, filesize( $referrers_file ) );
fclose( $fd );
}
// Read lines into an array.
$referrersAr2 = explode("\n",$referrer_content);
$numLines = sizeof($referrersAr2);
for ($i=0;$i<$numLines;$i++) {
$referrersAr[] = trim($referrersAr2[$i]);
}
} else {
// Create a file error to be emailed.
$errorEmail[] = $langErrorNoReferFile;
}
}
CHECK DOMAIN AGAINST ALLOWED REFERRERS
// Check if the Domain of the submitting site is in our referrers array.
$host = $_SERVER[“HTTP_HOST”];
if (is_array($referrersAr)) {
if (!in_array($host, $referrersAr)) {
// The host is not in the array, so decline sending.
$error[] = $langErrorNoPermission;
}
}
CHECK FOR REQUIRED FIELDS
// Check if there are any required fields.
$reqdAr = array();
foreach($_POST as $key => $value) {
// Check if the field name contains “_reqd”.
if (ereg("_reqd",$key,$regs)) {
// Replace the _reqd and put in a check array.
$key2 = str_replace("_reqd","",$key);
if ($_POST[$key2] == "")
$error[] = $langCheckReqd."<b>".$key2."</b>";
}
}
CHECK BANNED WORDS AND PHRASES
// Check if a file path has been set.
if ($banned_phrases_file != “”) {
// Check if the file exists.
if (file_exists($banned_phrases_file)) {
// Check the file has content and then open.
if (filesize($banned_phrases_file) > 0) {
$fd = fopen( $banned_phrases_file, "r" );
$banned_phrase_content = fread( $fd, filesize( $banned_phrases_file ) );
fclose( $fd );
}
// Read lines into an array.
$banned_phrasesAr2 = explode("\n",$banned_phrase_content);
$numLines = sizeof($banned_phrasesAr2);
for ($i=0;$i<$numLines;$i++) {
$banned_phrasesAr[] = trim($banned_phrasesAr2[$i]);
}
} else {
// Create a file error to be emailed.
$errorEmail[] = $langErrorNoPhrasesFile;
}
}
// Check if the fields contain any banned phrases.
if ($banned_phrases != “”) {
// Read the phrases into an array.
$banned_phrasesAr2 = explode(",",$banned_phrases);
$numLines = sizeof($banned_phrasesAr2);
for ($i=0;$i<$numLines;$i++) {
$banned_phrasesAr[] = trim($banned_phrasesAr2[$i]);
}
}
// Check phrases against submitted content.
if ($banned_phrases != “” || $banned_phrases_file != “”) {
foreach($_POST as $key => $value) {
if ($key != “to” && $key != “redirect” && $key != “header” && $key != “footer” && !ereg("_reqd",$key,$regs)) {
// Check each item in the array.
$numPhrases = sizeof($banned_phrasesAr);
for ($i=0;$i<$numPhrases;$i++) {
if (eregi($banned_phrasesAr[$i],$value,$regs)) {
// An item has been detected. Generate an error.
$error[] = $langBannedPhrase;
// Escalate the count to stop checking.
$i = $numPhrases;
}
}
}
}
}
CHECK BANNED IPS
// Get the user’s IP.
$user_ip = $_SERVER[‘REMOTE_ADDR’];
// Check if a file path has been set.
if ($banned_ips_file != “”) {
// Check if the file exists.
if (file_exists($banned_ips_file)) {
// Check the file has content and then open.
if (filesize($banned_ips_file) > 0) {
$fd = fopen( $banned_ips_file, "r" );
$banned_ips_content = fread( $fd, filesize( $banned_ips_file ) );
fclose( $fd );
}
// Check if the user's IP is in the content.
if (ereg($user_ip,$banned_ips_content,$regs))
$error[] = $langIPBanned;
} else {
// Create a file error to be emailed.
$errorEmail[] = $langErrorNoIPsFile;
}
}
// Check if the fields contain any banned IPs.
if ($banned_ips != “”) {
if (ereg($user_ip,$banned_ips,$regs))
$error[] = $langIPBanned;
}
CHECK IF EMAIL ADDRESS IS VALID
foreach($POST as $key => $value) {
if ($key == “email”) {
if (!(eregi("([a-z0-9.-])+@([a-z0-9_.-])+.([a-z0-9_.-])+",$_POST[“email”])) || emailOK($_POST[“email”]))
$error[] = $langEmailNotOk;
}
}
PROCESS FORM
// Check if there are any errors.
if ($error == “”) {
# LOG DATA TO CSV
// Check if data needs to be logged to CSV
if ($csv_file != "") {
// First check if this file exists
if (!file_exists($csv_file)) {
// Create titles
foreach($_POST as $key => $value) {
if ($key != "to" && $key != "redirect" && $key != "header" && $key != "footer" && !ereg("_reqd",$key,$regs)) {
$key = str_replace("\"","\"\"",$key);
$csvTitles .= "\"".$key."\",";
}
}
}
// Create line of data
foreach($_POST as $key => $value) {
if ($key != "to" && $key != "redirect" && $key != "header" && $key != "footer" && !ereg("_reqd",$key,$regs)) {
$value = str_replace("\"","\"\"",$value);
$csvLine .= "\"".$value."\",";
}
}
// Write to the file
if ($csvTitles != "")
$fileContent = $csvTitles."\n";
$fileContent .= $csvLine."\n";
$cartFile = @fopen($csv_file,"a");
@fputs($cartFile,$fileContent);
@fclose($cartFile);
}
# CREATE SUBJECT
// Set the subject if none exists.
if ($_POST["subject"] == "")
$subject = $langFormResults;
else
$subject = $_POST["subject"];
// Set the From name.
if ($_POST["name"] != "" && $_POST["email"] != "")
$from = $_POST["name"]." <".$_POST["email"].">";
if ($_POST["name"] == "" && $_POST["email"] != "")
$from = $_POST["email"];
# CREATE EMAIL BODY
$body = "";
foreach($_POST as $key => $value) {
if ($key != "to" && $key != "subject" && $key != "redirect" && $key != "header" && $key != "footer" && $key != "name" && $key != "email" && !ereg("_reqd",$key,$regs))
$body .= $key.": ".$value."\n\n";
}
// Check if a message about the CSV file needs to be attached.
if ($csv_file != "") {
if (file_exists($csv_file))
$body .= $langCsvLogged."\n\n";
else
$body .= $langCsvFailed."\n\n";
}
// Append user details.
$body .= "Posted From: ".$_SERVER['HTTP_REFERER']."\n";
$body .= "User Host: ".gethostbyaddr($_SERVER['REMOTE_ADDR'])."\n";
$body .= "User IP: ".$_SERVER['REMOTE_ADDR']."\n";
# SEND EMAIL
mail($to,$subject,$body,"FROM: ".$from);
# CHECK FOR FILE ERRORS
if ($errorEmail != "") {
$subject = $errorEmailSubject;
$body = "";
$numObj = sizeof($errorEmail);
for ($i=0;$i<$numObj;$i++) {
$body .= $errorEmail[$i]."\n";
}
$body .= "\nPosted From: ".$_SERVER['HTTP_REFERER']."\n";
mail($to,$subject,$body,"FROM: ".$from);
}
# REDIRECT USERS
if ($_POST["redirect"] != "")
Header("location: ".$_POST["redirect"]);
elseif ($redirect != "")
Header("location: ".$redirect);
else
$submit_results = $langFormSubmitted;
}
?>
<?}?>
<? if ($error != "") { ?>
<?=$langSubmitError?>
".$submit_results." ";
}
?>
|
Hopefully someone can help me fix it. Thanks