Leighbee Posted June 26, 2010 Posted June 26, 2010 I've searched and read the available topics, but still can't work this out. I've added a new contact form - specific for requesting a particular type of information about an item. The fields (all required) are: name, telephone number, email address, item details, and agree to conditions of use checkbox. I currently have three problems (hopefully the last two are easy code fixes): 1. I need to set a new minimum value for the item field: I've an idea this is something to do with the database, which I know how to access, but have no idea how to modify. 2. the error messages come up with the blank form, i.e. before you've even had the chance to enter any information 3. the email error comes up even when a valid email address is used - I hope this is just an easy code fix. I've also entered this line into form_check.js.php <?php if (ITEM == 'true') echo ' check_input("item", ' . ENTRY_ITEM_MIN_LENGTH . ', "' . ENTRY_ITEM_ERROR . '");' . "\n"; ?> This is what the coding currently looks like for request_details.php (please forgive my duff attempts at php. It's not my thing): <?php require('includes/application_top.php'); require(DIR_WS_LANGUAGES . $language . '/' . FILENAME_REQUEST_DETAILS); $error = false; if (isset($HTTP_GET_VARS['action']) && ($HTTP_GET_VARS['action'] == 'send')) { $name = tep_db_prepare_input($HTTP_POST_VARS['name']); $email_address = tep_db_prepare_input($HTTP_POST_VARS['email']); $telephone = tep_db_prepare_input($HTTP_POST_VARS['telephone']); $enquiry = tep_db_prepare_input($HTTP_POST_VARS['item']); $terms = tep_db_prepare_input($HTTP_POST_VARS['terms']); if (tep_validate_email($email_address)) { tep_mail(STORE_OWNER, STORE_OWNER_EMAIL_ADDRESS, EMAIL_SUBJECT, $email_address); tep_redirect(tep_href_link(FILENAME_REQUEST_DETAILS, 'action=success')); } else { $error = true; $messageStack->add('request_details', ENTRY_EMAIL_ERROR); } } if (strlen($name) < ENTRY_FIRST_NAME_MIN_LENGTH) { $error = true; $messageStack->add('request_details', ENTRY_NAME_ERROR); } if (strlen($telephone) < ENTRY_TELEPHONE_MIN_LENGTH) { $error = true; $messageStack->add('request_details', ENTRY_ITEM_ERROR); } if (strlen($item) < ENTRY_ITEM_MIN_LENGTH) { $error = true; $messageStack->add('request_details', ENTRY_ITEM_ERROR); } if (!isset($HTTP_POST_VARS['terms'])) { $error = true; $messageStack->add('request_details', ENTRY_TERMS_ERROR); } $breadcrumb->add(NAVBAR_TITLE, tep_href_link(FILENAME_REQUEST_DETAILS)); ?> <!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 //--> <!-- 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('request_details', tep_href_link(FILENAME_REQUEST_DETAILS, '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"></td> </tr> </table></td> </tr> <tr> <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td> </tr> <?php if ($messageStack->size('request_details') > 0) { ?> <tr> <td><?php echo $messageStack->output('request_details'); ?></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 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 { ?> <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 TEXT_INFORMATION; ?></td> </tr> <tr> <td class="main"><?php echo ENTRY_NAME; ?></td> </tr><tr> <td class="main"><?php echo tep_draw_input_field('name') . ' ' . (tep_not_null(ENTRY_NAME_TEXT) ? '<span class="inputRequirement">' . ENTRY_NAME_TEXT . '</span>': ''); ?></td> </tr><tr> <td class="main"><?php echo ENTRY_EMAIL_ADDRESS; ?></td> </tr><tr> <td class="main"><?php echo tep_draw_input_field('email_address') . ' ' . (tep_not_null(ENTRY_EMAIL_ADDRESS_TEXT) ? '<span class="inputRequirement">' . ENTRY_EMAIL_ADDRESS_TEXT . '</span>': ''); ?></td> </tr><tr> <td class="main"><?php echo ENTRY_TELEPHONE_NUMBER; ?></td> </tr><tr> <td class="main"><?php echo tep_draw_input_field('telephone') . ' ' . (tep_not_null(ENTRY_TELEPHONE_NUMBER_TEXT) ? '<span class="inputRequirement">' . ENTRY_TELEPHONE_NUMBER_TEXT . '</span>': ''); ?></td> </tr> <tr> <td class="main"><?php echo ENTRY_ITEM; ?></td> </tr><tr> <td class="main"><?php echo tep_draw_input_field('item') . ' ' . (tep_not_null(ENTRY_ITEM_TEXT) ? '<span class="inputRequirement">' . ENTRY_ITEM_TEXT . '</span>': ''); ?></td> </tr> </table></td> </tr> </table></td> </tr> <tr> <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td> </tr> <tr> <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td> </tr> <tr> <td class="main"><b><?php echo CATEGORY_TERMS; ?></b></td> </tr> <tr> <td><table border="0" width="100%" cellspacing="1" cellpadding="2" class="infoBox"> <tr class="infoBoxContents"> <td><table border="0" cellspacing="2" cellpadding="2"> <tr> <td class="main"><?php echo ENTRY_TERMS; ?></td> <td class="main"><?php echo tep_draw_checkbox_field('terms', '1') . ' ' . (tep_not_null(ENTRY_TERMS_TEXT) ? '<span class="inputRequirement">' . ENTRY_TERMS_TEXT . '</span>': ''); ?></td> </tr> </table></td> </tr> </table></td> </tr> <tr><td><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"><?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> <?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'); ?> Any help gratefully received! cmd-z... the best keystroke invented
Guest Posted June 26, 2010 Posted June 26, 2010 I've also entered this line into form_check.js.php <?php if (ITEM == 'true') echo ' check_input("item", ' . ENTRY_ITEM_MIN_LENGTH . ', "' . ENTRY_ITEM_ERROR . '");' . "\n"; ?> But did you include this file ??? i see <?php require('includes/form_check.js.php'); ?> above line is missing in your code.
Leighbee Posted June 26, 2010 Author Posted June 26, 2010 Good point, but, without understanding how it all works, I could only observe that it didn't seem to be needed. So why add the line in the form_check file? Ha! I know! I'm right at the limit of my understanding - and beyond - so I've been trying everything! The error codes have been working anyway -one for each of the fields I've got working so far (only they're currently all showing by default... as mentioned above) cmd-z... the best keystroke invented
Recommended Posts
Archived
This topic is now archived and is closed to further replies.