Ver Mensaje Individual
  #1 (permalink)  
Antiguo 05/02/2010, 04:36
dunete
 
Fecha de Ingreso: diciembre-2004
Mensajes: 79
Antigüedad: 20 años, 1 mes
Puntos: 0
Problema con un formulario de correo

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.