#1
|
||
|
Phmailer display..
Hi, I am using phMailer Version: 1.5.1.
I added 2 extra fields to phmailer, (interest and contact method) and when I submit the form, I get Interest: 1 Contact Method: 1 then the message text.. First question is why I am getting numbers (1) after my added field names, and the second question is can i display the entries as form, I mean can the layout be like a block or lines. Ex: Interest: Sale Contact Method: Phone Message: Something... I try to find an answer to these questions in the forum but I couldn't really find.. Please help.. Thanks.. |
#2
|
||
|
Can you post the code you used to add the fields?
__________________
04' Dodge SRT-4, Mopar Stage 3, 406whp/436wtq |
#3
|
||
|
Phmailer display..
Php part:
<?php // This will show in the browsers title bar and at the top of the form. $websitename="BACKSPLASHINSTALL.COM"; // Allowed file types. Please remember to keep the format of this array, add the file extensions you want // WITHOUT the dot. Please also be aware that certain file types (such as exe) may contain malware. $allowtypes=array("zip", "rar", "txt", "doc", "jpg", "png", "gif"); // What's your email address? Seperate email addresses with commas for multiple email addresses. $myemail="backsplashinstallation@gmail.com"; // What priority should the script send the mail? 1 (Highest), 2 (High), 3 (Normal), 4 (Low), 5 (Lowest). $priority="2"; // Should we allow visitors to attach files? How Many? 0 = Do not allow attachments, // 1 = allow only 1 file to be attached, 2 = allow two files etc. $allowattach="3"; // Maximum file size for attachments in KB NOT Bytes for simplicity. MAKE SURE your php.ini can handel it, // post_max_size, upload_max_filesize, file_uploads, max_execution_time! // 2048kb = 2MB, 1024kb = 1MB, 512kb = 1/2MB etc.. $max_file_size="2048"; // Maximum file size for all attachments combined in KB. MAKE SURE your php.ini can handel it, // post_max_size, upload_max_filesize, file_uploads, max_execution_time! // 2048kb = 2MB, 1024kb = 1MB, 512kb = 1/2MB etc.. $max_file_total="6144"; // Value for the Submit Button $submitvalue=" Submit to Get Free Estimate "; // Value for the Reset Button $resetvalue=" Reset Form "; // Default subject? This will be sent if the user does not type in a subject $defaultsubject="No Subject"; // Because many requested it, this feature will add a drop down box for the user to select a array of // subjects that you specify below. // True = Use this feature, False = do not use this feature $use_subject_drop=true; // This is an array of the email subjects the user can pick from. Make sure you keep the format of // this array or you will get errors. // Look at <http://novahq.net/forum/showthread.php?t=38718> for examples on how to use this feature. $subjects=array("I would like to get an estimate.", "I have purchased tiles, I am ready for the backsplash installation."); // This is an array of the email addresses for the array above. There must be an email FOR EACH // array value specified above. You can have only 1 department if you want. // YOU MUST HAVE THE SAME AMMOUNT OF $subjects and $emails or this WILL NOT work correctly! // The emails also must be in order for what you specify above! // Seperate email addresses by a comma to send an email to multiple addresses. $emails=array("backsplashinstallation@gmail.com", "backsplashinstallation@gmail.com"); // This is the message that is sent after the email has been sent. You can use html here. // If you want to redirect users to another page on your website use this: // <script type=\"text/javascript\">window.location=\"http://www.YOUR_URL.com/page.html\";</script> $thanksmessage="Thank you! Your free estimate form has been submitted, we will respond you shortly."; ////////////////////////////////////////////////////////////////////////////////////// $interests=array("I would like to get an estimate.", "I have purchased tiles, I am ready for the backsplash installation."); $contactmethods=array("E-Mail", "Phone"); ////////////////////////////////////////////////////////////////////////////////////// /* //================================================== ============================== * ! ATTENTION ! //================================================== ============================== : Don't edit below this line. */ // Function to get the extension of the uploaded file. function get_ext($key) { $key=strtolower(substr(strrchr($key, "."), 1)); $key=str_replace("jpeg", "jpg", $key); return $key; } // Function used to attach files to the message function phattach($file, $name, $boundary) { $fp=fopen($file, "r"); $str=fread($fp, filesize($file)); $str=chunk_split(base64_encode($str)); $message="--".$boundary."\n"; $message.="Content-Type: application/octet-stream; name=\"".$name."\"\n"; $message.="Content-disposition: attachment; filename=\"".$name."\"\n"; $message.="Content-Transfer-Encoding: base64\n"; $message.="\n"; $message.="$str\n"; $message.="\n"; return $message; } //Little bit of security from people forging headers. People are mean sometimes function clean_msg($key) { $key=str_replace("\r", "", $key); $key=str_replace("\n", "", $key); $find=array( "/bcc\:/i", "/Content\-Type\:/i", "/Mime\-Type\:/i", "/cc\:/i", "/to\:/i" ); $key=preg_replace($find, "", $key); return $key; } // Initilize some variables $error=""; $sent_mail=false; // When the form is submitted If($_POST['submit']==true) { extract($_POST, EXTR_SKIP); // Check the form for errors If(trim($contactmethods)=="") { $error.="Please choose preferred contact method!<br />"; } If(trim($yourname)=="") { $error.="You did not enter your name!<br />"; } If(trim($youremail)=="") { $error.="You did not enter your email!<br />"; } Elseif(!preg_match("/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,})+$/", $youremail)) { $error.="Invalid email address.<br />"; } If(trim($emailsubject)=="") { $emailsubject=$defaultsubject; } If(trim($yourmessage)=="") { $error.="You did not enter a message!<br />"; } // Verify Attchment info If($allowattach > 0) { // Get the total size of all uploaded files If((array_sum($_FILES['attachment']['size'])) > ($max_file_total*1024)) { $error.="The max size allowed for all your files is ".$max_file_total."kb<br />"; } Else { //Loop through each of the files For($i=0; $i <= $allowattach-1; $i++) { If($_FILES['attachment']['name'][$i]) { //Check if the file type uploaded is a valid file type. If(!in_array(get_ext($_FILES['attachment']['name'][$i]), $allowtypes)) { $error.= "Invalid file type for your file: ".$_FILES['attachment']['name'][$i]."<br />"; //Check the size of each file } Elseif(($_FILES['attachment']['size'][$i]) > ($max_file_size*1024)) { $error.= "Your file: ".$_FILES['attachment']['name'][$i]." is to big.<br />"; } // If in_array } // If Files } // For } // Else array_sum($_FILES['attachment']['size']) } // If Allowattach If($error) { $display_message=$error; } Else { If($use_subject_drop AND is_array($subjects) AND is_array($emails)) { $subject_count=count($subjects); $email_count=count($emails); If($subject_count==$email_count) { $myemail=$emails[$emailsubject]; $emailsubject=$subjects[$emailsubject]; } // If $subject_count } // If $use_subject_drop $boundary=md5(uniqid(time())); //Headers $headers="Return-Path: <".clean_msg($youremail).">\n"; $headers.="From: ".clean_msg($yourname)." <".clean_msg($youremail).">\n"; $headers.="X-Mailer: PHP/".phpversion()."\n"; $headers.="X-Sender: ".$_SERVER['REMOTE_ADDR']."\n"; $headers.="X-Priority: ".$priority."\n"; $headers.="MIME-Version: 1.0\n"; $headers.="Content-Type: multipart/mixed; boundary=\"".$boundary."\"\n"; $headers.="This is a multi-part message in MIME format.\n"; //Message $message = "--".$boundary."\n"; $message.="Content-Type: text/html; charset=\"iso-8859-1\"\n"; $message.="Content-Transfer-Encoding: quoted-printable\n"; $message.="\n"; $message.="$yourmessage \n\n"; $message.="Interest: $_POST[interest]"; $message.="\n"; $message.="Contact Method: $_POST[contactmethod]"; $message.="\n"; $message.=clean_msg(nl2br(strip_tags($yourmessage) )); $message.="\n"; //Add attachments to message If($allowattach > 0) { For($i=0; $i <= $allowattach-1; $i++) { If($_FILES['attachment']['tmp_name'][$i]) { $message.=phattach($_FILES['attachment']['tmp_name'][$i], $_FILES['attachment']['name'][$i], $boundary); } //If $_FILES['attachment']['name'][$i] } //For } // If // End the message $message.="--".$boundary."--\n"; // Send the completed message If(!mail($myemail, clean_msg($emailsubject), $message, $headers)) { Exit("An error has occured, please report this to the website administrator.\n"); } Else { $sent_mail=true; } } // Else } // $_POST ------------------------------------------------------------------------- Part of the html that i changed : <script type="text/javascript"> var error=""; e_regex = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,})+$/; function Checkit(theform) { if(theform.yourname.value=="") { error+="You did not enter your name\n"; } if(theform.contactmethods.value=="") { error+="Please choose preferred contact method\n"; } if(theform.youremail.value=="") { error+="You did not enter your email\n"; } else if(!e_regex.test(theform.youremail.value)) { error+="Invalid email address\n"; } if(theform.yourmessage.value=="") { error+="You did not enter your message\n"; } if(error) { alert('**The form returned the following errors:**\n\n' + error); error=""; return false; } else { return true; } } </script> </head> <body> <?If($display_message) {?> <div align="center" class="error_message"><b><?=$display_message;?></b></div> <br /> <?}?> <?If($sent_mail!=true) {?> <form method="post" action="<?=$_SERVER['PHP_SELF'];?>" enctype="multipart/form-data" name="phmailer" onsubmit="return Checkit(this);"> <table align="center" class="table"> <tr> <td colspan="2" class="table_header" width="100%"><?=$websitename;?></td> </tr> <?If($allowattach > 0) {?> <tr> <td width="100%" class="attach_info" colspan="2"> <b>Valid Attachment Types:</b> <?=implode($allowtypes, ", ");?><br /> <b>Max size per file:</b> <?=$max_file_size?>kb.<br /> <b>Max combined file size:</b> <?=$max_file_total?>kb. </td> </tr> <?}?> <tr> <td width="50%" class="table_body">Interest? </td> <td width="50%" class="table_body"> <select name="interest" size="1"> <?while(list($key,$val)=each($interests)) {?> <option value="<?=intval($key);?>"><?=htmlspecialchars(str ipslashes($val));?></option> <?}?> </select> </td> </tr> <tr> <td width="50%" class="table_body">Contact Method? </td> <td width="50%" class="table_body"> <select name="contactmethod" size="1"> <?while(list($key,$val)=each($contactmethods)) {?> <option value="<?=intval($key);?>"><?=htmlspecialchars(str ipslashes($val));?></option> <?}?> </select><span class="error_message">*</span> </td> </tr> <tr> <td width="50%" class="table_body">Name:</td> <td width="50%" class="table_body"><input name="yourname" type="text" size="30" value="<?=stripslashes(htmlspecialchars($yourname) );?>" /><span class="error_message">*</span></td> </tr> <tr> <td width="50%" class="table_body">Phone:</td> <td width="50%" class="table_body"><input name="phone" type="text" size="30" value="<?=stripslashes(htmlspecialchars($phone));? >" /><span class="error_message">*</span></td> </tr> <tr> <td width="50%" class="table_body">Your Email:</td> <td width="50%" class="table_body"><input name="youremail" type="text" size="30" value="<?=stripslashes(htmlspecialchars($youremail ));?>" /><span class="error_message">*</span></td> </tr> <tr> <td width="50%" class="table_body">Subject:</td> <td width="50%" class="table_body"> <?If($use_subject_drop AND is_array($subjects)) {?> <select name="emailsubject" size="1"> <?while(list($key,$val)=each($subjects)) {?> <option value="<?=intval($key);?>"><?=htmlspecialchars(str ipslashes($val));?></option> <?}?> </select> <?} Else {?> <input name="emailsubject" type="text" size="30" value="<?=stripslashes(htmlspecialchars($emailsubj ect));?>" /> <?}?> </td> </tr> |
#4
|
||
|
Hi again..
I still need help to get the entry selections as block, (each field and responses should be separate line.) I could not solve this problem by myself.. And still i am having the array responds as numbers.. |
#5
|
||
|
Just sent you a PM. You need to remove the intval functions for the key values during the while loops. You should also use the security functions for the message body.
__________________
04' Dodge SRT-4, Mopar Stage 3, 406whp/436wtq |
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
|
|