NEED your help, please

Looking for volunteers to join your project? Need help with a script but can't afford to pay? Want to offer your services as a volunteer to build up your portfolio? This is the place for you...

Moderator: General Moderators

Post Reply
Io Can
Forum Newbie
Posts: 7
Joined: Sat Jun 26, 2004 3:24 am

NEED your help, please

Post by Io Can »

--------------------------------------------------------------------------------

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"); 


?>


?>
FORM

Code: Select all

&lt;form action="mailscript.php " method="POST" target="_self" name="myform"&gt;
&lt;b&gt;* Your e-mail, please:&lt;/b&gt;
&lt;input type='text' size=20 name='r_Email'&gt;
&lt;input type="submit" value="Submit"&gt;
&lt;/form&gt;

feyd | added

Code: Select all

and

Code: 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]
Last edited by Io Can on Sat Jun 26, 2004 4:52 am, edited 1 time in total.
User avatar
feyd
Neighborhood Spidermoddy
Posts: 31559
Joined: Mon Mar 29, 2004 3:24 pm
Location: Bothell, Washington, USA

Post by feyd »

are you asking us to do the work for you?
Io Can
Forum Newbie
Posts: 7
Joined: Sat Jun 26, 2004 3:24 am

Post by Io Can »

Sorry if my English is bad.

By asking do you mean that I should pay if somebody will help me here or what?
User avatar
feyd
Neighborhood Spidermoddy
Posts: 31559
Joined: Mon Mar 29, 2004 3:24 pm
Location: Bothell, Washington, USA

Post by feyd »

no, I'm asking if you want us to write the additional functions/functionality for you, or are you looking for advice on what to do?

Whether you are willing to pay or not is only relevent if you want us to write it for you and will tell me where to move this thread.
Io Can
Forum Newbie
Posts: 7
Joined: Sat Jun 26, 2004 3:24 am

Post by Io Can »

I'm not the php knower. I simply want that somebody make some changes in the script so I can use it. That's all.

If you will move this script , plese, tell me the link.
User avatar
feyd
Neighborhood Spidermoddy
Posts: 31559
Joined: Mon Mar 29, 2004 3:24 pm
Location: Bothell, Washington, USA

Post by feyd »

the link remains the same, as you'll find out..
Io Can
Forum Newbie
Posts: 7
Joined: Sat Jun 26, 2004 3:24 am

Post by Io Can »

thank you
Last edited by Io Can on Sat Jun 26, 2004 4:17 am, edited 1 time in total.
User avatar
feyd
Neighborhood Spidermoddy
Posts: 31559
Joined: Mon Mar 29, 2004 3:24 pm
Location: Bothell, Washington, USA

Post by feyd »

Just for clarification for anyone coming into the thread a bit late:

Io Can knows nothing about PHP. S/He has the script above already, and would like to add the functionality:
  1. when a user submits the form, that their IP address is included in the message sent to administrator
  2. would like to change the auto-responder functionality such that the different forms that are processed through this script can have their own corresponding html and image combinations.
correct me if that's wrong Io Can.
Io Can
Forum Newbie
Posts: 7
Joined: Sat Jun 26, 2004 3:24 am

Post by Io Can »

Perfect. Thank you.
Post Reply