Jump to content

Tengo un error con este formulario de contacto con captcha?? alguien sabe como resolver??


Dimar

Recommended Posts

Es un formulario de contacto que trae captcha, y e querido configurarlo para agregarle 2 campos:

Nombre:
Telefono:
Estado:

Lo que sucede es que si envia el email a mi cuenta de correo electronico, pero el campo del mensaje me llega con el numero del telefono, y no encuentro el error en los 3 archivos.

Me llega asi (ver imagen):

imagenhr.jpg

Estas son las lineas de codigo de los tres archivos que realizan todas las funciones:

contact.html

<html>
<head>
   <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
   <title>Mensaje de {shop_name}</title>
</head>
<body>



 

Haz recibido un mensaje de un cliente desde {shop_name}

 


               Dirección de Email del cliente: {email}



               MENSAJE DEL CLIENTE: {message}

 




</body>
</html>



En el otro post comparto el modulo para su descarga, aunque con el error que no e logrado resolver.

Link to comment
Share on other sites

......y estos son las otras dos:

contact-form.tpl

>{capture name=path}{l s='Contact'}{/capture}
{include file=$tpl_dir./breadcrumb.tpl}
{l s='Contact us'}
{if isset($confirmation)}

{l s='Your message has been successfully sent to our team.'}
</pre>
<ul>
{l s='Home'}
</ul>
<br>{else} <p>{l s='For questions about an order or for information about our products'}.</p>
<br>   {include file=$tpl_dir./errors.tpl}<br>   <form action="{$request_uri|escape:'htmlall':'UTF-8'}" method="post" class="std"><br><h3>{l s='Send a message'}</h3>
<br><p>
{l s='Subject'}

{l s='-- Choose --'}
               {foreach from=$contacts item=contact}
{$contact.name|escape:'htmlall':'UTF-8'}
               {/foreach}
</p>
<p> </p>
<br>       {foreach from=$contacts item=contact}<br><p>
 {$contact.description|escape:'htmlall':'UTF-8'}</p>
<br>       {/foreach}<br><p>{l s='E-mail address'}
           <input type="text" id="email" name="from" value="{$email}" />
</p>
<p>
{l s='Message'}
            <textarea id="message" name="message" rows="7" cols="35">{if isset($smarty.post.message)}{$smarty.post.message|escape:'htmlall':'UTF-8'|stripslashes}{/if}</textarea>
</p>
<p>
                      <input type="text" name="staf_skey" style="width: 50px; height:20px; border: 1px solid #003C74;" maxlength="5" /><input type="hidden" name="staf_rnd" value="{$staf_rnd}">
                     {l s='Retype the 5 digit key'}.
</p>
<br><p><input type="submit" name="submitMessage" id="submitMessage" value="{l s='Send'}" class="button_large" /></p>
</p>
<br></form><br



contact-form.php

<?php $useSSL = true;
include(dirname(__FILE__).'/config/config.inc.php');
include(dirname(__FILE__).'/header.php');
$errors = array();
$smarty->assign('contacts', Contact::getContacts(intval($cookie->id_lang)));
       global $smarty;
       $error = false;
       $confirm = false;
       $codelen = 5;
       $rnd = mt_rand(1, pow(10,$codelen));
       $badSecKey = false;
       $_POST['staf_rnd'] = (int)$_POST['staf_rnd'];
       $_POST['staf_skey'] = (int)$_POST['staf_skey'];
       if (extension_loaded("gd")) {
           $datekey = date("F j");
           $rcode = hexdec(md5($_SERVER['HTTP_USER_AGENT'].'1'.$_POST['staf_rnd'].$datekey));
           $code = substr($rcode,4,$codelen);
       }else{            // no GD (image library), so let in
           $code = $_POST['staf_skey'];
       }        if ($_POST['staf_skey']!=$code)
           $badSecKey = true;
if (Tools::isSubmit('submitMessage'))
{    if (!($from = Tools::getValue('from')) OR !Validate::isEmail($from))
       $errors[] = Tools::displayError('invalid e-mail address');
   elseif (!($message = nl2br2(Tools::getValue('message'))))
       $errors[] = Tools::displayError('message cannot be blank');
   elseif (!Validate::isMessage($message))
       $errors[] = Tools::displayError('invalid message');
elseif ( $badSecKey )
$errors[] = Tools :: displayError ( 'The 5 digit Security Code doesn\' t match.'); 
   elseif (!($id_contact = intval(Tools::getValue('id_contact'))) OR !(Validate::isLoadedObject($contact = new Contact(intval($id_contact), intval($cookie->id_lang)))))
       $errors[] = Tools::displayError('please select a contact in the list');
   else
   {        if (intval($cookie->id_customer))
           $customer = new Customer(intval($cookie->id_customer));
       if (Mail::Send(intval($cookie->id_lang), 'contact', 'Message from contact form', array('{email}' => $_POST['from'], '{message}' => stripslashes($message)), $contact->email, $contact->name, $from, (intval($cookie->id_customer) ? $customer->firstname.' '.$customer->lastname : $from)))
           $smarty->assign('confirmation', 1);
       else
           $errors[] = Tools::displayError('an error occurred while sending message');
   }
}$email = Tools::safeOutput(Tools::getValue('from', ((isset($cookie) AND isset($cookie->email) AND Validate::isEmail($cookie->email)) ? $cookie->email : '')));
$smarty->assign(array(
   'errors' => $errors,
   'email' => $email,
   'staf_rnd' => $rnd,
   'staf_codelen' => $codelen,
   'confirm' => $confirm
)); $smarty->display(_PS_THEME_DIR_.'contact-form.tpl');
include(dirname(__FILE__).'/footer.php');
?>



Por favor es solo ver los 3 archivos, tengo horas buscando el error, ya pregunte por todoprestashop.com y nadie sabe o nadie quiere ayudarme nose.

Aqui adjunto los archivos completos para funcionar todo:

Agradeceria si alguien me echa una mano. Exitos!!

formulario_con_captcha_y_tres_campos_mas.zip

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...