3bsstudio Posted September 23, 2022 Share Posted September 23, 2022 Hi First off, I know I'm running osCommerce 2.2-MS2 - please don't mock me for it - we have no choice but will be changing it in the future! In the meantime I'm having trouble adding a telephone field to the main contact form. Got it to show OK on the page by adding: <tr> <td class="main"><?php echo ENTRY_TELEPHONE_NUMBER; ?></td> </tr> <tr> <td class="main"><?php echo tep_draw_input_field('telephone'); ?></td> </tr> to the contact_us.php Also added: define('ENTRY_TELEPHONE_NUMBER', 'Telephone Number:'); to includes/languages/english/contact_us.php but when the form is sent the telephone number doesn't appear in the email message. Any ideas why - can't seem to find what I'm missing? Thanks in advance Link to comment Share on other sites More sharing options...
YePix Posted September 25, 2022 Share Posted September 25, 2022 $name = tep_db_prepare_input(ucwords($_POST['name'])); $email_address = tep_db_prepare_input($_POST['email']); $phone = tep_db_prepare_input($_POST['phone']); $subject = tep_db_prepare_input(ucwords($_POST['subject'])); $enquiry = tep_db_prepare_input(ucwords($_POST['enquiry'])); $text = ENTRY_NAME . ' ' . $name . "\n" . ENTRY_TELEPHONE_NUMBER . ' ' . $phone . "\n" . ENTRY_EMAIL . ' ' . $email_address . "\n\n" . BOX_HEADING_SUBJECT . ' ' . $subject . "\n" . ENTRY_ENQUIRY . "\n" . $enquiry; tep_mail(STORE_OWNER, STORE_OWNER_EMAIL_ADDRESS, EMAIL_SUBJECT, $text, $name, STORE_OWNER_EMAIL_ADDRESS, $phone); <tr> <td class="main"><?php echo ENTRY_TELEPHONE_NUMBER; ?></td> </tr> <tr> <td class="main"><?php echo tep_draw_input_field('phone'); ?></td> </tr> Link to comment Share on other sites More sharing options...
3bsstudio Posted September 26, 2022 Author Share Posted September 26, 2022 Hi Thanks for the reply. Working my way through seems OK until this bit: <tr> <td class="fieldKey"><?php echo ENTRY_NAME; ?></td> <td class="fieldValue"><?php echo tep_draw_input_field('name'); ?></td> </tr> <tr> <td class="fieldKey"><?php echo ENTRY_EMAIL; ?></td> <td class="fieldValue"><?php echo tep_draw_input_field('email'); ?></td> </tr> My code is different and looks like this: <tr> <td class="main"><?php echo ENTRY_NAME; ?></td></tr> <tr> <td class="main"><?php echo tep_draw_input_field('name'); ?></td></tr> <tr> <td class="main"><?php echo ENTRY_TELEPHONE_NUMBER; ?></td> </tr> <tr> <td class="main"><?php echo tep_draw_input_field('telephone'); ?></td></tr> <tr> <td class="main"><?php echo ENTRY_EMAIL; ?></td></tr> <tr> <td class="main"><?php echo tep_draw_input_field('email'); ?></td></tr> <tr> <td class="main"><?php echo ENTRY_ENQUIRY; ?></td></tr> <tr> <td><?php echo tep_draw_textarea_field('enquiry', 'soft', 50, 15); ?></td> </tr> Website URL: https://gasbottlesdirect.co.uk/contact_us.php Link to comment Share on other sites More sharing options...
YePix Posted September 26, 2022 Share Posted September 26, 2022 vor 1 Stunde schrieb 3bsstudio: Hi Thanks for the reply. Working my way through seems OK until this bit: <tr> <td class="fieldKey"><?php echo ENTRY_NAME; ?></td> <td class="fieldValue"><?php echo tep_draw_input_field('name'); ?></td> </tr> <tr> <td class="fieldKey"><?php echo ENTRY_EMAIL; ?></td> <td class="fieldValue"><?php echo tep_draw_input_field('email'); ?></td> </tr> My code is different and looks like this: <tr> <td class="main"><?php echo ENTRY_NAME; ?></td></tr> <tr> <td class="main"><?php echo tep_draw_input_field('name'); ?></td></tr> <tr> <td class="main"><?php echo ENTRY_TELEPHONE_NUMBER; ?></td> </tr> <tr> <td class="main"><?php echo tep_draw_input_field('telephone'); ?></td></tr> <tr> <td class="main"><?php echo ENTRY_EMAIL; ?></td></tr> <tr> <td class="main"><?php echo tep_draw_input_field('email'); ?></td></tr> <tr> <td class="main"><?php echo ENTRY_ENQUIRY; ?></td></tr> <tr> <td><?php echo tep_draw_textarea_field('enquiry', 'soft', 50, 15); ?></td> </tr> Website URL: https://gasbottlesdirect.co.uk/contact_us.php Change telephone to phone or vice versa and everything will work. It is important that the variables match or send me the complete contact_us.php. I don't think you'll get any support here for 2.2. Link to comment Share on other sites More sharing options...
bonbec Posted September 28, 2022 Share Posted September 28, 2022 Potential spam : be careful, remove your email adress (sales@...) in your last message. You have a typo error in this line : <td class="main"><?php echo tep_draw_input_field(‘telephone’); ?></td> you should use apostrophes like this: <td class="main"><?php echo tep_draw_input_field('telephone'); ?></td> with OsC 2.2 since 2006 ... Link to comment Share on other sites More sharing options...
YePix Posted September 28, 2022 Share Posted September 28, 2022 Try this <?php /* $Id: contact_us.php,v 1.42 2003/06/12 12:17:07 hpdl Exp $ osCommerce, Open Source E-Commerce Solutions http://www.oscommerce.com Copyright (c) 2003 osCommerce Released under the GNU General Public License */ require('includes/application_top.php'); require(DIR_WS_LANGUAGES . $language . '/' . FILENAME_CONTACT_US); $error = false; if (isset($HTTP_GET_VARS['action']) && ($HTTP_GET_VARS['action'] == 'send')) { $secret = '6LfjSr4UAAAAAKlThMtas78PrxscmSpZoHeRcs_D'; $ch = curl_init(); curl_setopt_array($ch, array( CURLOPT_URL => 'https://www.google.com/recaptcha/api/siteverify', CURLOPT_POST => true, CURLOPT_POSTFIELDS => array( 'secret' => $secret, 'response' => $HTTP_POST_VARS['g-recaptcha-response'], 'remoteip' => $_SERVER['REMOTE_ADDR'] ), CURLOPT_RETURNTRANSFER => true )); $verifyResponse = curl_exec($ch); curl_close($ch); $responseData = json_decode($verifyResponse); if($responseData->success){ $name = tep_db_prepare_input(ucwords($_POST['name'])); $email_address = tep_db_prepare_input($_POST['email']); $phone = tep_db_prepare_input($_POST['phone']); $subject = tep_db_prepare_input(ucwords($_POST['subject'])); $enquiry = tep_db_prepare_input(ucwords($_POST['enquiry'])); $text = ENTRY_NAME . ' ' . $name . "\n" . ENTRY_TELEPHONE_NUMBER . ' ' . $phone . "\n" . ENTRY_EMAIL . ' ' . $email_address . "\n" . ENTRY_ENQUIRY . "\n" . $enquiry; if (tep_validate_email($email_address)) { if (strpos($enquiry, "href") > 1) { }else { tep_mail(STORE_OWNER, STORE_OWNER_EMAIL_ADDRESS, EMAIL_SUBJECT, $text, $name, STORE_OWNER_EMAIL_ADDRESS, $phone); } tep_redirect(tep_href_link(FILENAME_CONTACT_US, 'action=success')); } else { $error = true; $messageStack->add('contact', ENTRY_EMAIL_ADDRESS_CHECK_ERROR); } }else{ $error = true; $messageStack->add('contact', 'Robot verification failed, please try again.'); } } $breadcrumb->add(NAVBAR_TITLE, tep_href_link(FILENAME_CONTACT_US)); ?> <!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN"> <html <?php echo HTML_PARAMS; ?>> <head> <meta http-equiv="Content-Type" content="text/html; charset=<?php echo CHARSET; ?>"> <title><?php echo TITLE; ?></title> <base href="<?php echo (($request_type == 'SSL') ? HTTPS_SERVER : HTTP_SERVER) . DIR_WS_CATALOG; ?>"> <link rel="stylesheet" type="text/css" href="stylesheet.css"> </head> <body marginwidth="0" marginheight="0" topmargin="0" bottommargin="0" leftmargin="0" rightmargin="0"> <!-- header //--> <?php require(DIR_WS_INCLUDES . 'header.php'); ?> <!-- header_eof //--> <style type="text/javascript"> .terms-conditions{font-size: 13px;} </style> <!-- body //--> <table border="0" width="100%" cellspacing="3" cellpadding="3"> <tr> <td width="<?php echo BOX_WIDTH; ?>" valign="top"><table border="0" width="<?php echo BOX_WIDTH; ?>" cellspacing="0" cellpadding="2"> <!-- left_navigation //--> <?php require(DIR_WS_INCLUDES . 'column_left.php'); ?> <!-- left_navigation_eof //--> </table></td> <!-- body_text //--> <td width="100%" valign="top"><?php echo tep_draw_form('contact_us', tep_href_link(FILENAME_CONTACT_US, 'action=send')); ?><table border="0" width="100%" cellspacing="0" cellpadding="0"> <tr> <td><table border="0" width="100%" cellspacing="0" cellpadding="0"> <tr> <td class="pageHeading"><?php echo HEADING_TITLE; ?></td> <td class="pageHeading" align="right"><?php echo tep_image(DIR_WS_IMAGES . HEADING_TITLE, HEADING_IMAGE_WIDTH, HEADING_IMAGE_HEIGHT); ?></td> </tr> </table></td> </tr> <tr> <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td> </tr> <?php if ($messageStack->size('contact') > 0) { ?> <tr> <td><?php echo $messageStack->output('contact'); ?></td> </tr> <tr> <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td> </tr> <?php } if (isset($HTTP_GET_VARS['action']) && ($HTTP_GET_VARS['action'] == 'success')) { ?> <tr> <td class="main" align="left"><?php echo tep_image(DIR_WS_IMAGES . 'table_background_wave.gif', HEADING_TITLE, '0', '0', 'align="left"') . TEXT_SUCCESS; ?></td> </tr> <tr> <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td> </tr> <tr> <td><table border="0" width="100%" cellspacing="1" cellpadding="2" class="infoBox"> <tr class="infoBoxContents"> <td><table border="0" width="100%" cellspacing="0" cellpadding="2"> <tr> <td width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td> <td align="right"><?php echo '<a href="' . tep_href_link(FILENAME_DEFAULT) . '">' . tep_image_button('button_continue.gif', IMAGE_BUTTON_CONTINUE) . '</a>'; ?></td> <td width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td> </tr> </table></td> </tr> </table></td> </tr> <?php } else { ?> <!-- start mod anagram --> <tr> <td class="main"><STRONG><?php echo nl2br(STORE_NAME_ADDRESS); ?></STRONG><br><br></td> </tr> <!-- end mod anagram --> <tr> <td><table border="0" width="100%" cellspacing="1" cellpadding="2" class="infoBox"> <tr class="infoBoxContents"> <td><table border="0" width="100%" cellspacing="0" cellpadding="2"> <tr> <td class="main"><?php echo ENTRY_NAME; ?></td> </tr> <tr> <td class="main"><?php echo tep_draw_input_field('name'); ?></td> </tr> <tr> <td class="main"><?php echo ENTRY_TELEPHONE_NUMBER; ?></td> </tr> <tr> <td class="main"><?php echo tep_draw_input_field('phone'); ?></td> </tr> <tr> <td class="main"><?php echo ENTRY_EMAIL; ?></td> </tr> <tr> <td class="main"><?php echo tep_draw_input_field('email'); ?></td> </tr> <tr> <td class="main"><?php echo ENTRY_ENQUIRY; ?></td> </tr> <tr> <td><?php echo tep_draw_textarea_field('enquiry', 'soft', 50, 15); ?></td> </tr> </table></td> </tr> </table></td> </tr> <tr> <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td> </tr> <tr> <td class="terms-conditions"> <p style="font-size:12px"> <input type="checkbox" id="privacypolicy" /> Please confirm you consent to the storage and handling of your data by this website in order to answer your enquiry or to supply you with the information you require.</p> <p style="font-size:12px">If you don't wish to give consent then please call us on 01903 700778 with your query.</p> <p style="font-size:12px">We won't receive this form unless you give consent.</p> <p style="font-size:12px">Please see our <a href="/privacy.php" style="color: red; text-decoration: none; font-weight: bold;" target="_blank">Privacy and Data Policy</a> for details of what we do with your supplied infomation.</p> <style> .required{ color:red; } .g-recaptcha div { margin: auto; } </style> <script type="text/javascript" src='https://www.google.com/recaptcha/api.js'></script> <div id="g-recaptcha" class="g-recaptcha" data-sitekey="6LfjSr4UAAAAAMuhHo-vC9tx0TVUn68igMlQpzyc"></div> <div id="msgcaptcha" class="g-recaptcha error" style="color: red;"></div> <br/> </td> </tr> <tr> <td><table border="0" width="100%" cellspacing="1" cellpadding="2" class="infoBox"> <tr class="infoBoxContents"> <td><table border="0" width="100%" cellspacing="0" cellpadding="2"> <tr> <td width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td> <td align="right "> <img style="float: right;" src="/includes/languages/english/images/buttons/button_continue.gif" onclick="myFunction()" /> <input style="display:none" id="myDIV" style="float: right;" src="includes/languages/english/images/buttons/button_continue.gif" alt="Continue" title=" Continue " type="image" border="0"> <?php //echo tep_image_submit('button_continue.gif', IMAGE_BUTTON_CONTINUE); ?></td> <td width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td> </tr> </table></td> </tr> </table></td> </tr> <script type="text/javascript"> function myFunction() { if (document.getElementById("privacypolicy").checked == true) { var x = document.getElementsByName("contact_us"); var recaptcha = document.getElementById("g-recaptcha-response").value; if (recaptcha === "") { document.getElementById("msgcaptcha").innerHTML = "Please check the recaptcha"; return false; } x[0].submit(); } else { alert("Please confirm you consent to the storage and handling of your data by this website in order to answer your enquiry or to supply you with the information you require."); } } </script> <?php } ?> </table></form></td> <!-- body_text_eof //--> <td width="<?php echo BOX_WIDTH; ?>" valign="top"><table border="0" width="<?php echo BOX_WIDTH; ?>" cellspacing="0" cellpadding="2"> <!-- right_navigation //--> <?php require(DIR_WS_INCLUDES . 'column_right.php'); ?> <!-- right_navigation_eof //--> </table></td> </tr> </table> <!-- body_eof //--> <!-- footer //--> <?php require(DIR_WS_INCLUDES . 'footer.php'); ?> <!-- footer_eof //--> <br> </body> </html> <?php require(DIR_WS_INCLUDES . 'application_bottom.php'); ?> Link to comment Share on other sites More sharing options...
3bsstudio Posted September 30, 2022 Author Share Posted September 30, 2022 Thank you bonbec - who'd have thought a wrong style quotes would make such a difference. Amended those and the telephone comes through fine. Thanks YePix but that would still have been wrong... I just needed to change: $text, $name, STORE_OWNER_EMAIL_ADDRESS, $phone); to $text, $name, $email_address, $phone); so now the form comes through with the correct reply email. Thanks for all your help it is now all sorted. Link to comment Share on other sites More sharing options...
3bsstudio Posted November 2, 2022 Author Share Posted November 2, 2022 As I said it works great now. The only issue - the telephone number is not currently a required field. How do I change it to a required field? TIA. Link to comment Share on other sites More sharing options...
YePix Posted November 2, 2022 Share Posted November 2, 2022 maybe that's it if (empty($_POST["phone"])) { phoneErr = "phone is required"; } else { $phone = tep_db_prepare_input($_POST['phone']); } <td class="main"><?php echo tep_draw_input_field('phone '); ?><?php echo phoneErr;?></td> Link to comment Share on other sites More sharing options...
YePix Posted November 3, 2022 Share Posted November 3, 2022 try it like this catalog/includes/form_check.js.php Finde: Find: check_input("email_address", <?php echo ENTRY_EMAIL_ADDRESS_MIN_LENGTH; ?>, "<?php echo ENTRY_EMAIL_ADDRESS_ERROR; ?>"); Füge danach inzu: Add after: check_input("phone", <?php echo ENTRY_PHONE_MIN_LENGTH; ?>, "<?php echo ENTRY_PHONE_ERROR; ?>"); catalog/includes/languages/"your_language_file".php Finde: Find: define('ENTRY_EMAIL_ADDRESS_ERROR', 'Your E-Mail Address must contain a minimum of ' . ENTRY_EMAIL_ADDRESS_MIN_LENGTH . ' characters.'); Füge danach inzu: Add after: define('ENTRY_PHONE_MIN_LENGTH', '5'); define('ENTRY_PHONE_ERROR', 'Your phonenumber must contain a minimum of ' . ENTRY_PHONE_MIN_LENGTH . ' characters.'); Link to comment Share on other sites More sharing options...
3bsstudio Posted November 3, 2022 Author Share Posted November 3, 2022 Thanks YePix but that is already there. I'm thinking the verify telephone has to go in here (see below) from contact_us.php as the email verification is here. I tried adding: if (tep_validate_telephone($telephone)) { after the email line but it blew the page. Any ideas? $text = ENTRY_NAME . ' ' . $name . "\n" . ENTRY_TELEPHONE_NUMBER . ' ' . $telephone . "\n" . ENTRY_EMAIL . ' ' . $email_address . "\n" . ENTRY_ENQUIRY . "\n" . $enquiry; if (tep_validate_email($email_address)) { if (strpos($enquiry, "href") > 1) { }else { tep_mail(STORE_OWNER, STORE_OWNER_EMAIL_ADDRESS, EMAIL_SUBJECT, $text, $name, $email_address, $telephone); } tep_redirect(tep_href_link(FILENAME_CONTACT_US, 'action=success')); } else { $error = true; $messageStack->add('contact', ENTRY_EMAIL_ADDRESS_CHECK_ERROR); } }else{ $error = true; $messageStack->add('contact', 'Robot verification failed, please try again.'); } } Link to comment Share on other sites More sharing options...
YePix Posted November 3, 2022 Share Posted November 3, 2022 if (tep_validate_email($email_address)) { Checks whether the specified email address was entered correctly. You find this in: catalog/includes/functions/validations.php try it with that: if (empty($_POST[" telephone "])) { phoneErr = "phone is required"; } else { $ telephone = tep_db_prepare_input($_POST[' telephone ']); } Link to comment Share on other sites More sharing options...
3bsstudio Posted November 4, 2022 Author Share Posted November 4, 2022 I was right where it goes. Correct version is this under email verification: if (!tep_validate_email($email_address)) { $error = true; $messageStack->add('contact', ENTRY_EMAIL_ADDRESS_CHECK_ERROR); } if($telephone==''){ $error = true; $messageStack->add('contact', ENTRY_TELEPHONE_CHECK_ERROR); } Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.