Jump to content

Contact Form Final result - Arrrggghhhh


jokerfool

Recommended Posts

I am running a contact form, which successfully works and sends the info, what I need help with, is when the form is submitted and the email is received this is the message:

 

Name: Name Appears Here
Email: Email of client
IP: 123456789

Message:

Message content 

 

What I would like is to have another variable added to the email so the user whom reads it knows where the message came from, to below message for example From: Blah

 

Here is the contact.php

<?php

session_name("fancyform");
session_start();


$_SESSION['n1'] = rand(1,20);
$_SESSION['n2'] = rand(1,20);
$_SESSION['expect'] = $_SESSION['n1']+$_SESSION['n2'];


$str='';
if($_SESSION['errStr'])
{
$str='<div class="error">'.$_SESSION['errStr'].'</div>';
unset($_SESSION['errStr']);
}

$success='';
if($_SESSION['sent'])
{
$success='<h1>Thank you!</h1>';

$css='<style type="text/css">#contact-form{display:none;}</style>';

unset($_SESSION['sent']);
}
?>


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Contact</title>
<script type="text/javascript" src="jquery.js"></script>


<style>body{background: #ededed;margin:0;padding:0;}#menu_wrap{position:relative;margin-top:20px;margin-left:auto;margin-right:auto;padding:0; padding-right:0px;width:313px;height:37px;list-style-type:none;-webkit-border-radius:20px;-moz-border-radius:20px;border-radius:20px;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.2);-moz-box-shadow:0 1px 3px rgba(0,0,0,.2);box-shadow:0 1px 3px rgba(0,0,0,.2)}.button a{cursor:pointer;text-align:center;font:16px/100% Arial, Helvetica, sans-serif;font-weight:bold;position:relative;min-width:50px;height:20px;float:left;padding:10px;padding-top:8.5px;padding-bottom:8.5px;text-decoration:none;text-shadow:0 1px 1px rgba(0,0,0,.3)}.button:first-child a{-webkit-border-top-left-radius:20px;-webkit-border-bottom-left-radius:20px;-moz-border-topleft-radius:20px;-moz-border-bottomleft-radius:20px;border-top-left-radius:20;border-bottom-left-radius:20px}.Vista_Green, .Vista_Green .button a{color:#FFF;background: #9dd53a;background: -moz-linear-gradient(top, #9dd53a 0%, #a1d54f 50%, #80c217 51%, #7cbc0a 100%);background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#9dd53a), color-stop(50%,#a1d54f), color-stop(51%,#80c217), color-stop(100%,#7cbc0a));background: -webkit-linear-gradient(top, #9dd53a 0%,#a1d54f 50%,#80c217 51%,#7cbc0a 100%);background: -o-linear-gradient(top, #9dd53a 0%,#a1d54f 50%,#80c217 51%,#7cbc0a 100%);background: -ms-linear-gradient(top, #9dd53a 0%,#a1d54f 50%,#80c217 51%,#7cbc0a 100%);filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#9dd53a', endColorstr='#7cbc0a',GradientType=0 );background: linear-gradient(top, #9dd53a 0%,#a1d54f 50%,#80c217 51%,#7cbc0a 100%);}.Vista_Green .button a:hover,.Vista_Green .button a:focus,.Vista_Green .button a:active{background: #7cbc0a;background: -moz-linear-gradient(top, #7cbc0a 0%, #80c217 13%, #a1d54f 50%, #9dd53a 100%);background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#7cbc0a), color-stop(13%,#80c217), color-stop(50%,#a1d54f), color-stop(100%,#9dd53a));background: -webkit-linear-gradient(top, #7cbc0a 0%,#80c217 13%,#a1d54f 50%,#9dd53a 100%);background: -o-linear-gradient(top, #7cbc0a 0%,#80c217 13%,#a1d54f 50%,#9dd53a 100%);background: -ms-linear-gradient(top, #7cbc0a 0%,#80c217 13%,#a1d54f 50%,#9dd53a 100%);filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#7cbc0a', endColorstr='#9dd53a',GradientType=0 );background: linear-gradient(top, #7cbc0a 0%,#80c217 13%,#a1d54f 50%,#9dd53a 100%);}.button:last-child a{float:left;border:none; -webkit-border-top-right-radius:20px;-webkit-border-bottom-right-radius:20px;-moz-border-radius:20px;border-top-right-radius:20px;border-bottom-right-radius:20px}</style>

<br>
<link rel="stylesheet" type="text/css" href="jqtransformplugin/jqtransform.css" />
<link rel="stylesheet" type="text/css" href="formValidator/validationEngine.jquery.css" />
<link rel="stylesheet" type="text/css" href="index.css" />

<?=$css?>

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
<script type="text/javascript" src="jqtransformplugin/jquery.jqtransform.js"></script>
<script type="text/javascript" src="formValidator/jquery.validationEngine.js"></script>

<script type="text/javascript" src="script.js"></script>

</head>
<p align="center">
<img border="0" src="images/image6611.png"></p>
</p>
<ul id="menu_wrap" class="Vista_Green"><li class="button"><a href="index.php">Home</a></li><li class="button"><a href="services.php">Services</a></li><li class="button"><a href="extra.php">Extra</a></li><li class="button"><a href="#">Contact</a></li> </ul><!-- Javascript code-->
<script type="text/javascript" src="http://code.jquery.com/jquery-1.6.1.min.js"></script> <script type="text/javascript">var search_input= $('.search input[type=text]');var search_input_size =120; var search_large_size = 180; var padding = 5; var shrinked = "";$(document).ready(function(){search_input.click(function(){shrink();}).focus(function(){shrink();});search_input.blur(function(){ if(shrinked=="YES")normal();});$('.button a').hover(function(){if(shrinked=="YES")normal();}); });function shrink(){if(search_input_size < search_large_size ){$('.button a').each(function(){$(this).animate({'padding-left': padding+'px','padding-right': padding+'px'},'fast');});search_input.animate({'width': search_large_size+'px'},'fast'); shrinked="YES";}return false;}function normal(){search_input.animate({'width':search_input_size+'px'},'fast'); $('.button a').animate({'padding-left':'10px','padding-right':'10px'},'fast');shrinked="";search_input.blur();return false;}</script>

<body>

<div id="main-container">

<div id="form-container">
    <h1>Your Friendly Tree Specialist</h1>
    <h2>We will contact you soon.</h2>
    
    <form id="contact-form" name="contact-form" method="post" action="submit.php">
      <table width="100%" border="0" cellspacing="0" cellpadding="5">
        <tr>
          <td width="15%"><label for="name">Name</label></td>
          <td width="70%"><input type="text" class="validate[required,custom[onlyLetter]]" name="name" id="name" value="<?=$_SESSION['post']['name']?>" /></td>
          <td width="15%" id="errOffset"> </td>
        </tr>
        <tr>
          <td><label for="email">Email</label></td>
          <td><input type="text" class="validate[required,custom[email]]" name="email" id="email" value="<?=$_SESSION['post']['email']?>" /></td>
          <td> </td>
        </tr>
        <tr>
          <td><label for="subject">Subject</label></td>
          <td><select name="subject" id="subject">
            <option value="" selected="selected"> - Choose -</option>
            <option value="Question">Question</option>
            <option value="Business proposal">Business proposal</option>
            <option value="Advertisement">Advertising</option>
            <option value="Other">Other</option>
          </select>          </td>
          <td> </td>
        </tr>
        <tr>
          <td valign="top"><label for="message">Message</label></td>
          <td><textarea name="message" id="message" class="validate[required]" cols="35" rows="5"><?=$_SESSION['post']['message']?></textarea></td>
          <td valign="top"> </td>
        </tr>
        <tr>
          <td><label for="captcha"><?=$_SESSION['n1']?> + <?=$_SESSION['n2']?> =</label></td>
          <td><input type="text" class="validate[required,custom[onlyNumber]]" name="captcha" id="captcha" /></td>
          <td valign="top"> </td>
        </tr>
        <tr>
          <td valign="top"> </td>
          <td colspan="2"><input type="submit" name="button" id="button" value="Submit" />
          <input type="reset" name="button2" id="button2" value="Reset" />
          
          <?=$str?>          <images id="loading" src="images/ajax-load.gif" width="16" height="16" alt="loading" /></td>
        </tr>
      </table>
      </form>
      <?=$success?>
    </div>
<div class="tree-info">	
    </div>

</div>

</body>
</html>

 

 

Here is the submit.php

<?php

/* config start */

$emailAddress = 'emailhere';

/* config end */


require "phpmailer/class.phpmailer.php";

session_name("fancyform");
session_start();


foreach($_POST as $k=>$v)
{
if(ini_get('magic_quotes_gpc'))
$_POST[$k]=stripslashes($_POST[$k]);

$_POST[$k]=htmlspecialchars(strip_tags($_POST[$k]));
}


$err = array();

if(!checkLen('name'))
$err[]='The name field is too short or empty!';

if(!checkLen('email'))
$err[]='The email field is too short or empty!';
else if(!checkEmail($_POST['email']))
$err[]='Your email is not valid!';

if(!checkLen('subject'))
$err[]='You have not selected a subject!';

if(!checkLen('message'))
$err[]='The message field is too short or empty!';

if((int)$_POST['captcha'] != $_SESSION['expect'])
$err[]='The captcha code is wrong!';


if(count($err))
{
if($_POST['ajax'])
{
	echo '-1';
}

else if($_SERVER['HTTP_REFERER'])
{
	$_SESSION['errStr'] = implode('<br />',$err);
	$_SESSION['post']=$_POST;

	header('Location: '.$_SERVER['HTTP_REFERER']);
}

exit;
}


$msg=
'Name:	'.$_POST['name'].'<br />
Email:	'.$_POST['email'].'<br />
IP:	'.$_SERVER['REMOTE_ADDR'].'<br /><br />
From: Aussie Submission<br />
Message:<br /><br />

'.nl2br($_POST['message']).'

';



$mail = new PHPMailer();
$mail->IsMail();

$mail->AddReplyTo($_POST['email'], $_POST['name']);
$mail->AddAddress($emailAddress);
$mail->SetFrom($_POST['email'], $_POST['name']);
$mail->Subject = "A new ".mb_strtolower($_POST['subject'])." from ".$_POST['name']." | contact form feedback";

$mail->MsgHTML($msg);

$mail->Send();


unset($_SESSION['post']);

if($_POST['ajax'])
{
echo '1';
}
else
{
$_SESSION['sent']=1;

if($_SERVER['HTTP_REFERER'])
	header('Location: '.$_SERVER['HTTP_REFERER']);

exit;
}

function checkLen($str,$len=2)
{
return isset($_POST[$str]) && mb_strlen(strip_tags($_POST[$str]),"utf-8") > $len;
}

function checkEmail($str)
{
return preg_match("/^[\.A-z0-9_\-\+]+[@][A-z0-9_\-]+([.][A-z0-9_\-]+)+[A-z]{1,4}$/", $str);
}

?>

 

The form works fine, no errors just need to know how to add the extra message. I have tried adding it to the submit, but when I submit the form, I get a blank page, if I push back, it goes to the thank you message and is sent.

 

Hopefully someone can help, thank you.

Link to comment
Share on other sites

When the form is filled out and sent, I want the form inside the email to relate to where the form information was sent from. At the moment it just gives you the above information but doesn't tell you what site its comes from.

 

Can't believe all the views and one reply, must be worldwide holiday.

 

So just want to know where in the code too add another piece of information that says:

 

Website: http://blah

 

 

Thank you.

Link to comment
Share on other sites

// Additional headers
$headers .= 'To: Mary <mary@example.com>, Kelly <kelly@example.com>' . "\r\n";
$headers .= 'From: Birthday Reminder <birthday@example.com>' . "\r\n";
$headers .= 'Cc: birthdayarchive@example.com' . "\r\n";
$headers .= 'Bcc: birthdaycheck@example.com' . "\r\n";

Link to comment
Share on other sites

in the header.

 

Can't believe all the views and one reply, must be worldwide holiday.
all the veiws = 1 reply: is because there are already so many replies and solutions to mail questions on this forum that most people can't be arsed repeating themselves for the 50th time any more than you can be arsed searching for existing threads on your problem.
Link to comment
Share on other sites

You should be able to just amend the $msg variable adding other info you wish.

$msg=
'Name:	'.$_POST['name'].'<br />
Email:	'.$_POST['email'].'<br />
IP:	'.$_SERVER['REMOTE_ADDR'].'<br /><br />
From: Aussie Submission<br />
Message:<br /><br />

'.nl2br($_POST['message']).'<br /><br />
This is a message from our contact form.
';

Link to comment
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.