Ver Mensaje Individual
  #1 (permalink)  
Antiguo 23/04/2010, 13:08
ashnely
 
Fecha de Ingreso: abril-2010
Mensajes: 2
Antigüedad: 14 años
Puntos: 0
Formulario de contacto no funciona.

Muy buenas a todos:
Lo primero de todo doy por adelantado las gracias a todos los que hacen posible este foro ayudando a usuarios inexpertos o con dudas (en mi caso casi totalmente inexperto).
Mi problema es el siguiente. Me dedico a la informatica desde hace ya tiempo, pero a la gestión de sistemas y redes, y la verdad es que no me habia metido al diseño web ni a la programación. Hace poco he visto la oportunidad de independizarme laboralmente y tras descargar una plantilla web la he modificado casi por completo, excepto en lo que se refiere al estilo. Pero no consigo que funcione el formulario de envio a mi cuenta de email. Adjunto os edito la pagina en html donde esta el formulario en si:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head profile="http://gmpg.org/xfn/11">
<title>Contacts_us</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link href="style.css" rel="stylesheet" type="text/css">
<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript">
<!--
jQuery(document).ready(function(){
$('#contactform').submit(function(){
var action = $(this).attr('action');
//$('#contactform')
// .before('<div class="loader"><img src="images/ajax-loader.gif" align="center" /></div>')
// .attr('disabled','disabled');
$.post(action, {
name: $('#name').val(),
email: $('#email').val(),
//phone: $('#phone').val(),
//concerning: $('#concerning').val(),
message: $('#message').val()
},
function(data){
$('#contactform #submit').attr('disabled','');
$('.response').remove();
$('#contactform').before('<div class="response">'+data+'</div>');
$('.response').slideDown();
//$('.loader').fadeOut(500,function(){$(this).remove ()});
if(data=='Message sent!') $('#contactform').slideUp();
}
);
return false;
});
});
-->
</script>
</head>
<body>
<div class="main">
<div class="header">
<div class="logo">
<h2>AVALON SYSTEMS </h2>
<div class="text">Servicio Técnico Informático </div>
</div>
<div class="menu">
<ul>
<li><a href="index.html">Inicio</a></li>
<li><a href="sobre avalon.html" >Sobre Avalon </a></li>
<li><a href="Servicios.html">Servicios</a></li>
<li><a href="clientes.html">Nuestros Clientes </a></li>
<li><a href="Contacts_us.html" class="active">Contáctenos</a></li>
</ul>
</div>
<div class="clr"></div>
<div class="header_text">
<div><img src="images/Keyboard-1 [1600x1200].jpeg" width="441" height="248" /></div>
<h2>Contáctenos!!!</h2>
<p>No tenemos la más mínima duda de que la parte más importante de este proyecto, no lo forma la empresa en sí misma, sino todas aquellas personas y empresas que la enriquecen con sus peticiones y dudas. Y que por extensión nos obligan a mejorar y a mantenernos cada día al más alto nivel de servicio. </p>
</div>
<div class="clr"></div>
<div class="search"></div>
<div class="clr"></div>
</div>
<div class="clr"></div>
<div class="body">
<div class="about_body">
<h2>Sus comentarios nos ayudan a mejorar. </h2>
<p>No dude en utilizar esta página para realizar cualquier consulta, duda, o petición.</p>
<form action="contact.php" method="post" id="contactform">
<ol>
<li>
<label for="name">Su nombre*<br />
</label>
<input id="name" name="name" class="text" />
</li>
<li>
<label for="email">Su Email*<br />
</label>
<input id="email" name="email" class="text" />
</li>
<li>
<label for="message">Escriba su mensaje*<br />
<span> </span></label>
<textarea id="message" name="message" rows="6" cols="50"></textarea>
</li>
<li class="buttons">
<input type="submit" value="Enviar Mensaje" id="submit" />
<a href="mailto:[email protected]"></a> </li>
</ol>
</form>
</div>
<div class="team">
<h2>Avalon Systems </h2>
<p><strong>Teléfono</strong>: 670-30-83-55 <br />
<strong>Email</strong>: [email protected] <br />
</p>
</div>
<div class="clr"></div>
</div>
</div>
<div class="fbg">
<div class="footer">
<p>Avalon Systems <br />
<a href="index.html"> Inicio</a> | <a href="sobre avalon.html">Sobre Avalon</a> |<u> <a href="Servicios.html">Servicios</a></u> | <u><a href="Contacts_us.html">Contáctenos</a></u></p>
</div>
</div>
</body>
</html>

Y este es el archivo php que deberia encargarse de enviarlo (si no entiendo mal):

<?php

if(!$_POST) exit;

$email = $_POST['email'];


//$error[] = preg_match('/\b[A-Z0-9._%-]+@[A-Z0-9.-]+\.[A-Z]{2,4}\b/i', $_POST['email']) ? '' : 'INVALID EMAIL ADDRESS';
if(!eregi("^[a-z0-9]+([_\\.-][a-z0-9]+)*" ."@"."([a-z0-9]+([\.-][a-z0-9]+)*)+"."\\.[a-z]{2,}"."$",$email )){
$error.="Invalid email address entered";
$errors=1;
}
if($errors==1) echo $error;
else{

$values = array ('name','email','message');
$required = array('name','email','message');

$your_email = "[email protected]";
$email_subject = "New Message";
$email_content = "new message:\n";

//for( $i = 0 ; $i < count( $values ) ; ++$i ) {
// for( $c = 0 ; $c < count( $required ) ; ++$c ) {
// if( $values[$i]==$required[$c] ) {
// echo $required[$x];
// if( empty($_POST[$values[$i]]) ) { echo 'PLEASE FILL IN REQUIRED FIELDS'; exit; }
// }
// }
// $email_content .= $values[$i].': '.$_POST[$values[$i]]."\n";
//}

foreach($values as $value){
if(in_array($value,$required)){
if( empty($_POST[$value]) ) { echo 'PLEASE FILL IN REQUIRED FIELDS'; exit; }
$email_content .= $value.': '.$_POST[$value]."\n";
}
}

if(mail($your_email,$email_subject,$email_content) ) {
echo 'Message sent!';
} else {
echo 'ERROR!';
}
}
?>

Si alguien le puede echar un vistazo y decirme lo que anda mal se lo agradezco. No necesito que me haga nada extraordinario. Me conformo con que se puedan enviar los email.