NEED your help, please
Posted: Sat Jun 26, 2004 3:24 am
--------------------------------------------------------------------------------
I'm trying to modify the mail form script.
I'm not the php knower.
Please, someone, add only few lines to that script that it works as I need:
The script operates but I need to include some additional functions:
1) when the user submit the form his IP address would be included in the message sent to administrator;
2) there is auto-response function in the script. and if it's terned on the auto-response text will be sent to the user. I need that the script adds auto-response htm (+pics) file. AND one more: since the script will be used on several pages - the file should be certain for certain page:
- from1.htm+mailscript.php=> sends 1.html (+jpg)
- from2.htm+mailscript.php=> sends 2.html (+jpg)
script mailscript.php
FORM
feyd | added
I'm trying to modify the mail form script.
I'm not the php knower.
Please, someone, add only few lines to that script that it works as I need:
The script operates but I need to include some additional functions:
1) when the user submit the form his IP address would be included in the message sent to administrator;
2) there is auto-response function in the script. and if it's terned on the auto-response text will be sent to the user. I need that the script adds auto-response htm (+pics) file. AND one more: since the script will be used on several pages - the file should be certain for certain page:
- from1.htm+mailscript.php=> sends 1.html (+jpg)
- from2.htm+mailscript.php=> sends 2.html (+jpg)
script mailscript.php
Code: Select all
<?php
<?
// If you would like to specify the From: address of emails sent by DynaForm,
// enter it between the double quotes below. If you leave this blank, the
// server will assign the default email address.
// If you want the From: address to be the email address of the user who
// submitted your form, use $from_address = "$_POST[Email]";
// Make sure "Email" is the name of the text field where users enter their
// email address on your form.
$from_address = "$_POST[Email]";
// #### ACTIVATE REQUIRED FIELDS?
// If you would like to make some fields of your form required, change "no" to
// "yes" below.
$required_on = "yes";
// If you have set $required_on to "yes" above, you can make fields required
// by beginning their name with "r_". For example, if you want to require
// a user to enter their name, use the following HTML:
// <input type='text' name='r_Name'>
// If a user fails to enter a required field, they will be taken to a page
// where a message such as "You have not completed all the required fields."
// will be displayed. Please specify the URL to this file below:
$required_errorpage = "http://www.russianpaintings.net/forms/leaveemail/error.htm";
// #### OVERRIDE REQUIRED VARIABLES?
// If you would like to override the three required variables in
// order to hide your email address, email subject, and thank you page
// URL from your email form, change "no" to "yes" below.
$override = "yes";
// If override is set to "yes", the hidden variables on your HTML
// email form named "rec_mailto", "rec_subject", and "rec_thanks" will be
// overridden and can therefore be removed from the form.
// If you have set override to "yes" above, you must specify new values for
// each of these variables below.
// Enter the email address(es) to send the email to.
$incoming_mailto = "root108@sama.ru";
// Enter the email subject.
$incoming_subject = "Send me your news, please";
// Enter the thank you page URL.
$incoming_thanks = "http://www.russianpaintings.net/forms/leaveemail/thanks.htm";
// #### BAN IP ADDRESSES?
// If you would like to ban certain IP addresses from submitting your form,
// change "no" to "yes" below.
$ban_ip_on = "no";
// If you have set $ban_ip_on to "yes" above, please enter a list of the
// IP addresses you would like to ban, seperated only by commas.
// An example has been provided below:
$ban_ip_list = "111.222.33.55,11.33.777.99";
// #### ACTIVATE DOMAIN SECURITY?
// This setting, when set to "yes" (default), will check to make sure other
// people are not submitting data to your dynaform.php file from their
// external domains. This means that if your domain name is "www.mysite.com",
// only forms on "www.mysite.com" will be able to use this dynaform.php.
// IF YOU ARE RECEIVING ERRORS SUCH AS "INVALID DOMAIN" FOR NO REASON, PLEASE
// CHANGE "yes" TO "no" BELOW.
$secure_domain_on = "yes";
// #### ACTIVATE AUTO-RESPONSE? ##############################################
// This setting, when set to "yes", will make DynaForm automatically reply to
// the user who submitted your form with an email message. If you would like
// to use this feature, change "no" to "yes" below.
$autorespond_on = "yes";
// If you have set $autorespond_on to "yes" above, you must specify a subject,
// from-address, and message to include in the auto-response email.
// The following setting is the subject of the auto-response email:
$autorespond_subject = "Your Form Submission";
// The following setting is the from-address of the auto-respond email:
$autorespond_from = "svoboda@sama.ru";
// The following setting is the message of your auto-response email:
$autorespond_contents = "Somebody, may be you, have submitted your e-mail address to the news mailing list on the website http://www.RUSSIANPAINTINGS.NET. \n \n You will receive the news letters from us soon. \n \n To unsubscribe from the news letters, please, send the letter to svoboda@sama.ru with the 'UNSUBSCRIBE ME' subject.\n \n Administration of the Russian Paintings Gallery.";
// DynaForm also needs to know how to retrieve the user's email address.
// You must specify the name of the field into which the user will enter
// their email address. For example, if your email form contains an input
// field like "<input type='text' name='Email'>" you would set the
// following setting to "Email".
$autorespond_mailto_field = "r_Email";
// MAKE SURE DYNAFORM IS NOT BEING LOADED FROM THE URL
if($HTTP_SERVER_VARS['REQUEST_METHOD'] == "GET") {
echo "
<html>
<head><title>Rusian Paintings Gallery</title></head>
<body>
<font style='font-family: verdana, arial; font-size: 9pt;'>
<b>Russan Paintngs Galery http://www.RUSSIANPAINTINGS.net</b></font><br>
</body></html>
";
exit();
}
// SET VARIABLES
$incoming_fields = array_keys($HTTP_POST_VARS);
$incoming_values = array_values($HTTP_POST_VARS);
if($override == "no") {
$incoming_mailto = @$HTTP_POST_VARS['rec_mailto'];
$incoming_subject = @$HTTP_POST_VARS['rec_subject'];
$incoming_thanks = @$HTTP_POST_VARS['rec_thanks'];
}
$incoming_mailto_cc = @$HTTP_POST_VARS['opt_mailto_cc'];
$incoming_mailto_bcc = @$HTTP_POST_VARS['opt_mailto_bcc'];
$form_url = @$HTTP_REFERER;
// MAKE SURE PHP IS BEING RUN FROM THE RIGHT DOMAIN
if($secure_domain_on == "yes") {
$form_url_array = parse_url($form_url);
$form_domain = $form_url_array[host];
if($form_domain != $HTTP_SERVER_VARS[HTTP_HOST]) {
echo "<h2>DynaForm Error - Invalid Domain</h2>
You have accessed our subbmission form from an external domain - this is not allowed.<br>
You may only submit forms to us on our site <b>http://www.russianpaintings.net</b><br>;
<br><br>";
$error = "yes";
}
}
// CHECK IF MAILTO IS SET
if($incoming_mailto == "") {
echo "<h2>DynaForm Error - Missing Field</h2>
Your form located at <a href='$form_url'>$form_url</a> does not work because you forgot to include
the required "<b>rec_mailto</b>" field within the form. This field specifies who the email will
be sent to.
<br><br>
This should look like:<br>
<input type="hidden" name="rec_mailto" value="youremail@yoursite.com">
<br><br>
If you are still confused, please refer to the readme.txt for more information and examples.<br><br><br><br>
";
$error = "yes";
}
// CHECK IF SUBJECT IS SET
if($incoming_subject == "") {
echo "<h2>DynaForm Error - Missing Field</h2>
Your form located at <a href='$form_url'>$form_url</a> does not work because you forgot to include
the required "<b>rec_subject</b>" field within the form. This field specifies the subject of
the email that will be sent.
<br><br>
This should look like:<br>
<input type="hidden" name="rec_subject" value="New DynaForm Email">
<br><br>
If you are still confused, please refer to the readme.txt for more information and examples.<br><br><br><br>
";
$error = "yes";
}
// CHECK IF THANKS IS SET
if($incoming_thanks == "") {
echo "<h2>Russian Paitings PHP Error - Missing Field</h2>
Your form located at <a href='$form_url'>$form_url</a> does not work because you forgot to include
the required "<b>rec_thanks</b>" field within the form. This field specifies what page the user
will be taken to after they submit the form.
<br><br>
This should look like:<br>
<input type="hidden" name="rec_thanks" value="http://www.russianpaintings.net/forms/leaveemail/thanks.htm">
<br><br>
If you are still confused, please refer to the readme.txt for more information and examples.<br><br><br><br>
";
$error = "yes";
}
// CHECK IF IP ADDRESS IS BANNED
if($ban_ip_on == "yes") {
if(strstr($ban_ip_list, $HTTP_SERVER_VARS[REMOTE_ADDR])) {
echo "<h2>Russian Paintings Gallery Error - Banned IP</h2>
You cannot use this form because your IP address has been banned by the administrator.<br>
";
$error = "yes";
}
}
if($error == "yes") {
exit();
}
// SET EMAIL INTRODUCTION
$message = "\n From: $form_url \n\n The sender of this leter wants to be included in the news mailing list. \n\n";
// LOAD EMAIL CONTENTS
for ($i = 0; $i < count($incoming_fields); $i++) {
if($incoming_fields[$i] != "rec_mailto") {
if($incoming_fields[$i] != "rec_subject") {
if($incoming_fields[$i] != "rec_thanks") {
if($incoming_fields[$i] != "opt_mailto_cc") {
if($incoming_fields[$i] != "opt_mailto_bcc") {
// CHECK FOR REQUIRED FIELDS IF ACTIVATED
if($required_on == "yes") {
$sub = substr($incoming_fields[$i], 0, 2);
if($sub == "r_") {
if($incoming_values[$i] == "" OR !isset($incoming_values[$i]) OR $incoming_values[$i] == " ") {
header("Location: $required_errorpage");
exit();
}}}
// ADD FIELD TO OUTGOING MESSAGE
$message .= "$incoming_fields[$i]:\n$incoming_values[$i]\n\n";
}}}}}}
// SET EMAIL FOOTER
$message .= "\n\nEnd of the message";
// CLEAR HEADERS
$headers = "";
// ADD FROM ADDRESS
if($from_address != "") {
$headers .= "From: $from_address\r\n";
}
// CHECK FOR CC OR BCC
if($incoming_mailto_cc != "") {
$headers .= "Cc: $incoming_mailto_cc\r\n";
}
if($incoming_mailto_bcc != "") {
$headers .= "Bcc: $incoming_mailto_bcc\r\n";
}
// SEND EMAIL
mail($incoming_mailto, $incoming_subject, $message, $headers);
// SEND AUTO-RESPONSE IF ACTIVATED
if($autorespond_on == "yes") {
$autorespond_mailto = @$HTTP_POST_VARS[$autorespond_mailto_field];
$autorespond_headers = "From: $autorespond_from";
mail($autorespond_mailto, $autorespond_subject, $autorespond_contents, $autorespond_headers);
}
// FORWARD TO THANK YOU PAGE
header("Location: $incoming_thanks");
?>
?>Code: Select all
<form action="mailscript.php " method="POST" target="_self" name="myform">
<b>* Your e-mail, please:</b>
<input type='text' size=20 name='r_Email'>
<input type="submit" value="Submit">
</form>feyd | added
Code: Select all
andCode: Select all
tags, [b]USE THEM[/b] :: [/color][url=http://forums.devnetwork.net/viewtopic.php?t=21171][color=red]:arrow: [u][b]Posting Code in the Forums[/b][/u][/color][/url]