Foros del Web » Programando para Internet » PHP »

Formulario de contacto no funciona.

Estas en el tema de Formulario de contacto no funciona. en el foro de PHP en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 23/04/2010, 13:08
 
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.
  #2 (permalink)  
Antiguo 23/04/2010, 13:16
Avatar de loncho_rojas
Colaborador
 
Fecha de Ingreso: octubre-2008
Ubicación: En el mejor lugar del mundo
Mensajes: 2.704
Antigüedad: 15 años, 6 meses
Puntos: 175
Respuesta: Formulario de contacto no funciona.

me parece que esta un poco denso como para que sea un form dirigido a un Novato.. porque no te buscas mejor un script mas sencillo.. pones en google... enviar mail con PHP

hay como 100 ejemplos menos complicados que este, ademas de utilizar otro lenguaje para validar, y si eres novato, que podriamos decirte para que lo comprendas.. no lo tomes a mal, pero es preferible hacer algo mas sencillo en tu caso
__________________
Ayudo con lo que puedo en el foro, y solo en el foro.. NO MENSAJES PRIVADOS.. NO EMAILS NI SKYPE u OTROS.

Antes de hacer un TOPICO piensa si puedes hallarlo en Google o en el Buscador del Foro...
  #3 (permalink)  
Antiguo 23/04/2010, 13:58
 
Fecha de Ingreso: abril-2010
Mensajes: 2
Antigüedad: 14 años
Puntos: 0
Respuesta: Formulario de contacto no funciona.

No te preocupes. Lo entiendo y me pongo en vuestro lugar. La verdad es que no me gusta mucho solicitar en foros salvo caso urgente. Prefiero buscarme un poco la vida.
Ya me he bajado un par de scripts en php, pero (y te doy la razón en cuanto a mi nivel de experiencia con esto) no encuentro la forma adecuada de enlazar la pagina del formulario en html con el script propio en php.
De todos modos seguire mirando. Estoy seguro de que en esta pagina hay excelentes ejemplos y plantillas.
Es que llevo ya bastantes horas con esto (que seguro que es una tonteria) y ya estoy en el punto en el que no veo la luz al final del tunel. :)

Gracias de todos modos.

Etiquetas: contacto, formulario
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:09.