Veréis, encargué hace un año a una empresa una web a medida para mi negocio y después de todo este tiempo me he dado cuenta de que el formulario de contacto que pusieron no funciona. Quitando temas legales y que la empresa dice que la "garantía" ya ha expirado quisiera poneros el código php del formulario para ver si detectáis algún error. Yo lo he mirado y la verdad es que no veo nada anormal, pero vamos, tampoco soy un experto.
Lo separo en dos trozos. Por un lado el código para determinar si los campos están rellenados correctamente y por otro lado el formulario propiamente dicho.
Código:
<script>
function elimina(obj){
if(obj.value.indexOf('Escriba aq') == 0)
obj.value="";
}
function borrar(){
document.contacto.nombre.value="";
document.contacto.email.value="";
document.contacto.comentario.value="";
}
function validar(){
var error = false;
var error_msg = "Los siguientes campos fueron introducidos incorrectamente:\n";
if (document.contacto.nombre.value.indexOf('Escriba aq') == 0 || document.contacto.nombre.value== ""){
error = true;
error_msg += "- Campo Nombre\n";
}
if (document.contacto.email.value.indexOf('Escriba aq') == 0 || document.contacto.email.value== ""){
error = true;
error_msg += "- Campo Email\n";
}
else if (document.contacto.email.value.indexOf('@') == -1 || document.contacto.email.value.indexOf('.') == -1 ){
error = true;
error_msg += "- Campo Email\n";
}
if (document.contacto.comentario.value.indexOf('Escriba aq') == 0 || document.contacto.comentario.value== ""){
error = true;
error_msg += "- Campo Comentario\n";
}
if (error)
alert(error_msg);
else
document.contacto.submit();
}
</script>
Código:
<form name="contacto" id="contacto" method="post" action="?enviar=1">
<table width="547" border="0" cellspacing="3" cellpadding="0">
<tr>
<td width="112" align="right" valign="top">Su nombre:</td>
<td width="435"><input class="bordeado_azul" id="nombre" type="text" name="nombre" value="Escriba aquí su nombre" onClick="elimina(this)" size="33"/></td>
</tr>
<tr>
<td align="right" valign="top">Su email:</td>
<td><input class="bordeado_azul" name="email" id="email" type="text" value="Escriba aquí su email" onClick="elimina(this)" size="33" /></td>
</tr>
<tr>
<td align="right" valign="top">Comentarios:</td>
<td><textarea cols="88" rows="8" id="comentario" name="comentario" onClick="elimina(this)" class="bordeado_azul">Escriba aquí sus comentarios</textarea></td>
</tr>
<tr>
<td colspan="2" align="right"><input class="sulete" name="borrar" type="button" value="Borrar"/>
<input class="sulete" type="button" value="Enviar" onClick="validar()"/></td>
</tr>
</table>
</form>
<?
if ($_GET['enviar'] == 1){
$para = 'info@el**********i.com';
$asunto = 'Formulario de contacto';
$mensaje = '
<table width="541" cellspacing="0" cellpadding="0" border="1">
<tr>
<th width="114" valign="top" bgcolor="#E5EAF9" align="center" style="color:#FFF; text-align:center;" colspan="2">Contacto</td>
</tr>
<tr>
<td>Nombre:</td><td>'.$_POST['nombre'].'</td>
</tr>
<tr>
<td>Email:</td><td>'.$_POST['email'].'</td>
</tr>
<tr>
<td style="text-align:center;" colspan="2">Comentario:</td>
</tr>
<tr>
<td colspan="2">'.$_POST['comentario'].'</td>
</tr>
</table>
';
$cabeceras = 'MIME-Version: 1.0' . "\r\n";
$cabeceras .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$cabeceras .= 'From: Contacto <info@el*********i.com>' . "\r\n";
//echo $mensaje;
mail($para,$asunto,$mensaje,$cabeceras);
}
?>
</div>
Los asteriscos corresponden al correo electrónico donde debería recibir los comentarios.
Agradecido de antemano a quien pueda ayudarme.
Gracias.