dstebo 0 Denunciar post Postado Julho 16, 2008 Estou usando no contact_us.php sistema de spam, quando usuario for preencher formulario tem que digitar letras que aparece na imagem ao lado. Versão 2001 osCommerce, baixei do oscommerce ( Contact Us - Short Form with Captcha v1.2 ) fiz alterações para rodar nessa versão do oscommerce que tenho. Mais aparece esse erro quando enviado o formulario:: Fatal error: Call to a member function add() on a non-object in /home/httpd/vhosts/xxx.com.br/httpdocs/comercio/contact_us.php on line 117 Linha do código do contact_us.php essa? // End of John changed if (strlen($name) < 7) { $error = true; $messageStack->add('contact', ERROR_NAME); } if (!tep_validate_email($email_address)) { $error = true; $messageStack->add('contact', ERROR_EMAIL); } if (strlen($assunto) < 7) { $error = true; $messageStack->add('contact', ERROR_ASSUNTO); } if (($set_captcha != $security) || (empty($security))) { $error = true; $securitycode_error = true; $messageStack->add('contact', ERROR_SECURITY); } O que seria, se poder me ajudar, fico grato, pois já tentei de tudo, não resolvi esse erro no php. Compartilhar este post Link para o post Compartilhar em outros sites
andreymor 0 Denunciar post Postado Julho 16, 2008 Essa variavel $messageStack deveria ser um objeto. Onde ela está sendo inicializada? tipo: $messageStack = new ClasseNumSei(); Att., Andrey Moretti Compartilhar este post Link para o post Compartilhar em outros sites
dstebo 0 Denunciar post Postado Julho 17, 2008 Coloquei no inicio assim: if (strlen($name) < 7) { $error = true; $messageStack = new ClasseMessageStach(); $messageStack->add('contact', ERROR_NAME); } if (!tep_validate_email($email_address)) { $error = true; Quando enviado formulario apareceu isso: Fatal error: Class 'ClasseMessageStach' not found in /home/httpd/vhosts/mrvirtual.com.br/httpdocs/comercio/contact_us.php on line 117 Na nova versão oscommerce, na pasta classes tem arquivo message_stack.php, dentro tem esse tag Example usage: $messageStack = new messageStack(); $messageStack->add('general', 'Error: Error 1', 'error'); $messageStack->add('general', 'Error: Error 2', 'warning'); if ($messageStack->size('general') > 0) echo $messageStack->output('general'); Na versão que eu uso antiga não tem esse arquivos, será que tem alguma coisa relacionada isso. Compartilhar este post Link para o post Compartilhar em outros sites
dstebo 0 Denunciar post Postado Julho 21, 2008 Inseri classe que faltava na pasta includes (message_stack.php) Agora esta aparecendo esse erro no formulario. No formulario contato, está sendo usado assim: <td class="main"><?php echo ENTRY_NAME; ?><br><?php echo tep_draw_input_field('name', '', 'style="width: 250px"') . ' ' . (tep_not_null(ENTRY_EMAIL_ADDRESS_TEXT) ? '<span class="inputRequirement">' . ENTRY_EMAIL_ADDRESS_TEXT . '</span>': ''); ?></td> Fatal error: Call to undefined function: tep_not_null() in /home/httpd/vhosts/xxxx.com.br/httpdocs/comercio/includes/functions/html_output.php on line 355 Na pasta functions no html_output.php está assim a linha 355: // Output a form input field function tep_draw_input_field($name, $value = '', $parameters = '', $type = 'text', $reinsert_value = true) { $field = '<input type="' . $type . '" name="' . $name . '"'; if ( ($GLOBALS[$name]) && ($reinsert_value) ) { $field .= ' value="' . trim($GLOBALS[$name]) . '"'; } elseif ($value != '') { $field .= ' value="' . trim($value) . '"'; } if ($parameters != '') { $field .= ' ' . $parameters; } $field .= '>'; return $field; } //// Compartilhar este post Link para o post Compartilhar em outros sites
andreymor 0 Denunciar post Postado Julho 21, 2008 onde está a chamada para esta funcao? tep_not_null() Compartilhar este post Link para o post Compartilhar em outros sites
dstebo 0 Denunciar post Postado Julho 23, 2008 esta pedindo isso. tep_not_null Nova versão desse arquivo e assim, // Output a form hidden field function tep_draw_hidden_field($name, $value = '', $parameters = '') { global $HTTP_GET_VARS, $HTTP_POST_VARS; $field = '<input type="hidden" name="' . tep_output_string($name) . '"'; if (tep_not_null($value)) { $field .= ' value="' . tep_output_string($value) . '"'; } elseif ( (isset($HTTP_GET_VARS[$name]) && is_string($HTTP_GET_VARS[$name])) || (isset($HTTP_POST_VARS[$name]) && is_string($HTTP_POST_VARS[$name])) ) { if ( (isset($HTTP_GET_VARS[$name]) && is_string($HTTP_GET_VARS[$name])) ) { $field .= ' value="' . tep_output_string(stripslashes($HTTP_GET_VARS[$name])) . '"'; } elseif ( (isset($HTTP_POST_VARS[$name]) && is_string($HTTP_POST_VARS[$name])) ) { $field .= ' value="' . tep_output_string(stripslashes($HTTP_POST_VARS[$name])) . '"'; } } if (tep_not_null($parameters)) $field .= ' ' . $parameters; $field .= '>'; return $field; } //// tem com adaptar para versão antiga que está acima... Compartilhar este post Link para o post Compartilhar em outros sites