Help With Application Form


#1

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.
Heres the form code from the html page:

[code]
















                <tr>
                  <td class="two"><div align="left">Age</div></td>
                  <td ><input type="text" name="age"   size="4">                      </td>
                </tr>
                <tr>
                  <td class="two"><div align="left">Height</div></td>
                  <td><input type="text" name="height"   size="40">                      </td>
                </tr>
                <tr>
                  <td class="two"><div align="left">Measurements</div></td>
                  <td><input type="text" name="stats"   size="40">                      </td>
                </tr>
                <tr>
                  <td class="two"><div align="left">Nationality</div></td>
                  <td ><input type="text" name="nationality"   size="40">                      </td>
                </tr>

                <tr>
                  <td class="two"><div align="left">Have you ever worked as an Escort before?</div></td>
                  <td class="two"><input type="radio" name="work" value="Yes" > Yes  <input type="radio" name="work" value="No" > No
             </td>
                </tr>
               
               
                <tr>
                  <td class="two" width="47%" valign="top"><div align="left">Any other information you wish us to know about?</div></td>
                  <td width="53%"><textarea name="bio" cols="30" rows="3" class="FSB" id="bio"></textarea>                      </td>
                </tr>
                <tr>
                  <td class="two" width="47%" rowspan="4" valign="top"><div align="left"> Please provide up to 4 pictures<br>
                            <i>&nbsp;<br>
                            Note: Photos should be recent and full view.</i></div></td>
                  <td width="53%"><input type="file" name="files" size="30"></td>
                </tr>
                <tr>
                  <td ><input type="file" name="files" size="30"></td>
                </tr>
                <tr>
                  <td><input type="file" name="files" size="30"></td>
                </tr>
                <tr>
                  <td><input type="file" name="files" size="30"></td>
                </tr>
               
                <tr>
                  <td width="47%"><div align="left"></div></td>
                  <td width="53%">



Name
Phone Number
E-Mail


[/code]

Heres the code from the php sender script:
[php]<?

*/

// Set a to field if this script will always post to the same email address (also protects from spammers.)
// e.g. $to = "you@domain.com";

$to = "ajsinz@gmail.com";

// 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.

if ($lang == “en-us”) {

################################

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."".$key2."";

}
}

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;

}
?>

<? # DISPLAY HTML if ($error != "" || $submit_results != "") { ?> <? if ($_POST["header"] != "" && file_exists($_POST["header"])) { include($_POST["header"]); } elseif ($header_file != "" && file_exists($header_file)) { include($header_file); } else { ?> <? if ($error != "") echo $langFormError; else echo $langFormResults; ?>

<?}?>
<? if ($error != "") { ?>

<?=$langSubmitError?>

    <? $numObj = sizeof($error); for ($i=0;$i<$numObj;$i++) { echo "
  • ".$error[$i]."\n"; } ?>
<? } else { echo "
".$submit_results."
"; } ?>
<? if ($_POST["footer"] != "" && file_exists($_POST["footer"])) { include($_POST["footer"]); } elseif ($footer_file != "" && file_exists($footer_file)) { include($footer_file); } else { ?> <? } ?> <? } ?>[/php]

#2

You wrote this?
Try stripping down the code so only the problem remains. ( I now see capcha-code forinstance )
O.


#3

i didnt write it myself…i downloaded it… its called “form2email” script.

So can u help find the problem?


#4

Yes, the error is that the MAIL function has a FROM: inside the header, nothing else.
Here is a link that shows how to do a simple email. (Note, look down a bit to the #2 post.)

Where you have a FROM: in the mail function, that is actually a mail header. It normally has various items in it.
Sometimes it will work with just a FROM, but, I guess this is the problem.


#5

Sorry, posted to fast … Here is the link:

http://php.net/manual/en/function.mail.php


#6

Ok how should I re-write this to make it work? [php]mail($to,$subject,$body,"FROM: ".$from);[/php]


#7

Well, I can’t read that mess you posted. Next time, use the PREVIEW button to see how it will look!

This is your mail function line: mail($to,$subject,$body,"FROM: ".$from);

Post the lines where the variables are set. ( $to, $subject, $body, $from ) And, I will look at them for you.

(Please no blanks lines to look thru… Thanks!)


#8

Sorry about not posting correctly…the php script that im using is a pre made one.

Im gonna attach it here as is so you can see it. I only edited the area that says # CONFIGURABLE FIELDS

<? ################################ # CONFIGURABLE FIELDS ################################ */ // Set a to field if this script will always post to the same email address (also protects from spammers.) // e.g. $to = "you@domain.com"; $to = "ajsinz@gmail.com"; // 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. /* ################################ # HELP: EMAIL TO ################################ $to You can fix an email address that the form results will always be posted to. If you leave this field blank then you must have a field in your form with the name "to". e.g. ################################ # HELP: reCAPTCHA ################################ $privatekey reCAPTCHA is a free third-party service that asks a user to enter two words contained in an image into a text field to prove that the submitted is a human and not a bot. This will prevent your form being used to send you spam. To sign up for reCAPTCHA visit https://admin.recaptcha.net/recaptcha/createsite/ You'll receive a public key and a private key. The public key will go in your form file (see the form-example.php file included for details) and the private key will go in the variable settings. Make sure to include the file recaptchalib.php which comes with this install. ################################ # HELP: REFERRERS ################################ $referrers Where your "to" variable is part of your form you should include a list of referrers to prevent spammers from using this file to send spam. Separate each referrer by a comma. If your site is accessible without a www in front of the URL you'll need to add this address too. $referrers_file To automate the administration of referrers this script can call a refferer file. The file must have each Domain that can use this script on a separate line. If your site is accessible without a www in front of the URL you'll need to add this address too. Include the full path to the file. ################################ # HELP: OUTPUT TO CSV ################################ $csv_file // If you want form posts recorded to a CSV file, provide an external file. // To write to this file you must create and upload a blank file and CHMOD to 777 // or CHMOD 777 the folder the file will be created in. ################################ # SUBMITTING FORM ################################ Set your form to post to this script and the script will do the rest! e.g. ################################ # EMAIL FROM ################################ To make the email come from the person posting it use field names "name" for their name and "email" for their email. This will then send the mail from "Name ". e.g. e.g. ################################ # EMAIL SUBJECT ################################ The subject of the email will come from your form. This could be from a hidden field a select list, or text field. name the field "subject". e.g. ################################ # EMAIL BODY ################################ The email body will be made up of the field names in the form and the data entered by the user. ################################ # REDIRECT ################################ This is the page the user will be redirected to once the form has been submitted. The field should be called "redirect". e.g. ################################ # REQUIRED FIELDS ################################ You can check required fields by adding hidden input fields under the tag. Simply add "_reqd" to the end of the field name you need entered. We recommend adding these fields to your form. ################################ # HEADER/FOOTER ################################ As well as being able to specify a header and footer file in this script you can let different forms using this script include their own files. To do this, use the hidden fields below: You may need to use the full file path if this script is running from a different Domain, but we don't recommend this, for security reasons. */ ################################ # 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."".$key2.""; } } # 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; } ?> <? # DISPLAY HTML if ($error != "" || $submit_results != "") { ?> <? if ($_POST["header"] != "" && file_exists($_POST["header"])) { include($_POST["header"]); } elseif ($header_file != "" && file_exists($header_file)) { include($header_file); } else { ?> <? if ($error != "") echo $langFormError; else echo $langFormResults; ?>

<?}?>
<? if ($error != "") { ?> <?=$langSubmitError?>
    <? $numObj = sizeof($error); for ($i=0;$i<$numObj;$i++) { echo "
  • ".$error[$i]."\n"; } ?>
<? } else { echo "
".$submit_results."
"; } ?>
<? if ($_POST["footer"] != "" && file_exists($_POST["footer"])) { include($_POST["footer"]); } elseif ($footer_file != "" && file_exists($footer_file)) { include($footer_file); } else { ?> <? } ?> <? } ?>

#9

Am i doing this all wrong??? …

What im trying to achieve is an application form that also allows uploaded files, and then having it sent to my email address.

This is a link to the page that has the application form
http://neverland.phpnet.us/hiring.html


#10

LOL, perhaps that shouldn’t be posted here… LOL…

Anyway, yes, I looked at that code. It seems to be correctly set up although it may be overkill for your application. Now, a quick question. Are you planning to send the pictures as an attachment in the email?
If so, you have to change the headers in the email to allow for them. If you are just going to download them in PHP code, that is okay, too.

Back to the original question… There must be an error inside of the mail variables. To find out what the issue is, you would have to display each and see what is in the variable to tell if they are formatted wrong.

Just before :
mail($to,$subject,$body,"FROM: ".$from);

Put code like this to display them:
[php]
echo “$to=

” . $to . “

”;
echo “$subject=

” . $subject . “

”;
echo “$body=

” . $body . “

”;
echo “$from=

” . $from . “

”;
die(“end of data”);
[/php]

What this will do is show you what is being sent to the mail function. This way you can see if the $to address and $from address are actually sent to the mail function as valid values. Try it and see if all the actual data is being created correctly. If you have no $to address, then debug why not. Etc… Hope that helps!


#11

Ok i did what you said and this is what it showed me:

ajsinz@gmail.com=

ajsinz@gmail.com

Application=

Application

phone: 888 666 7777 age: 22 height: 5’2 stats: 34 24 36 nationality: IRISH work: No bio: files: bmw1.jpg submit: Submit Application Posted From: http://neverland.phpnet.us/hiring.html User Host: d50-92-107-75.bchsia.telus.net User IP: 50.92.107.75 =

phone: 888 666 7777 age: 22 height: 5’2 stats: 34 24 36 nationality: IRISH work: No bio: files: bmw1.jpg submit: Submit Application Posted From: http://neverland.phpnet.us/hiring.html User Host: d50-92-107-75.bchsia.telus.net User IP: 50.92.107.75

NAME =

NAME

end of data

So what does all this mean??..Keep in mind i know VERY little about php


#12

Sorry, the code should have been:
[php]
echo “to=

” . $to . “

”;
echo “subject=

” . $subject . “

”;
echo “body=

” . $body . “

”;
echo “from=

” . $from . “

”;
die(“end of data”);
[/php]
So it shows the data, not twice… Sorry, typed too fast!

Anyway, it shows a valid TO:, but, you didn’t show the others. I don’t care about the name or application…
Actually, we do not need to see the BODY as it contains your IP address… Just the other three variables.


#13

Heres what it shows (minus the “body”)

to=

ajsinz@gmail.com

subject=

Application

body=

from=

name

end of data

I want the “from=” to include their name and email address
Also how to have the uploaded photos sent to me as an attachment?


#14

Looks like the problem is with my web host.

I ran a very simple script to test the hosts PHP mail configuration and it showed this:
“Error sending email!”

I need a better host


#15

So, finally, we have narrowed it down to the “FROM:” which can not be just a name. Most mail servers will drop the mail if it is just a name…

So, this area in your code sets the “FROM:” part:
// Set the From name.
if ($_POST[“name”] != “” && $_POST[“email”] != “”)
$from = $_POST[“name”]." <".$_POST[“email”].">";
if ($_POST[“name”] == “” && $_POST[“email”] != “”)
$from = $_POST[“email”];
This should work as long as the email field is inputted. (Doesn’t matter if the name is there or not.)
BUT, your version is echo’ing “name” not the actual value of the email-address that the user is typing in.
When you tested this, did you enter data in all the fields to see if they would display? I mean, you should be testing it by sending yourself a message, filling out ALL of the fields with some fake data and seeing if it is printed on the echo’d output. If they data is not what you typed, then, your program is not passing the correct value to the $from variable. Most likely something is not spelled the same somewhere… Hope this helps!