jokerfool Posted March 29, 2012 Share Posted March 29, 2012 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. Quote Link to comment https://forums.phpfreaks.com/topic/259958-contact-form-final-result-arrrggghhhh/ Share on other sites More sharing options...
NomadicJosh Posted March 30, 2012 Share Posted March 30, 2012 Are you looking for the from field to be the name or email address? Quote Link to comment https://forums.phpfreaks.com/topic/259958-contact-form-final-result-arrrggghhhh/#findComment-1332576 Share on other sites More sharing options...
jokerfool Posted March 31, 2012 Author Share Posted March 31, 2012 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. Quote Link to comment https://forums.phpfreaks.com/topic/259958-contact-form-final-result-arrrggghhhh/#findComment-1332942 Share on other sites More sharing options...
Nasir Posted March 31, 2012 Share Posted March 31, 2012 // Additional headers $headers .= 'To: Mary <[email protected]>, Kelly <[email protected]>' . "\r\n"; $headers .= 'From: Birthday Reminder <[email protected]>' . "\r\n"; $headers .= 'Cc: [email protected]' . "\r\n"; $headers .= 'Bcc: [email protected]' . "\r\n"; Quote Link to comment https://forums.phpfreaks.com/topic/259958-contact-form-final-result-arrrggghhhh/#findComment-1332944 Share on other sites More sharing options...
jokerfool Posted April 1, 2012 Author Share Posted April 1, 2012 But where do I place that information? Quote Link to comment https://forums.phpfreaks.com/topic/259958-contact-form-final-result-arrrggghhhh/#findComment-1333139 Share on other sites More sharing options...
Muddy_Funster Posted April 1, 2012 Share Posted April 1, 2012 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. Quote Link to comment https://forums.phpfreaks.com/topic/259958-contact-form-final-result-arrrggghhhh/#findComment-1333149 Share on other sites More sharing options...
Drummin Posted April 1, 2012 Share Posted April 1, 2012 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. '; Quote Link to comment https://forums.phpfreaks.com/topic/259958-contact-form-final-result-arrrggghhhh/#findComment-1333178 Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.