Foros del Web » Programando para Internet » PHP »

Problema con formulario de contacto

Estas en el tema de Problema con formulario de contacto en el foro de PHP en Foros del Web. hola, hace mucho tiempo q intento saber cual es el error de este formulario de contacto y aun no se q pueda ser, lo estoy ...
  #1 (permalink)  
Antiguo 10/02/2011, 19:12
 
Fecha de Ingreso: enero-2011
Mensajes: 57
Antigüedad: 13 años, 2 meses
Puntos: 3
Problema con formulario de contacto

hola, hace mucho tiempo q intento saber cual es el error de este formulario de contacto y aun no se q pueda ser, lo estoy probando para enviar el mensaje a mi correo electrónico pero no me ha resultado porque me tira el error... no se si tenga q hacer algo mas o quizás es te fallando en algo...

este es el código:

<?php
$mailcorreo = '[email protected]';
if (isset ($_POST['enviar'])) {
$headers .= "From: ".$_POST['email']. "\r\n";
if ( mail ($mailcorreo, $_POST['asunto'],
"Nombre y apellidos : ".$_POST['nombre']."
Asunto: ".stripcslashes ($_POST['asunto'])."\n
Mensaje :\n ".stripcslashes ($_POST['mensaje']), $headers ))
echo '<p>Mensaje enviado.</p>';
else
echo '<p>Error.</p>';
}
echo '<form action="?" method="post">
<label for="nombre">Nombre y apellidos : </label>
<input type="text" name="nombre" size="50" maxlength="80"><br/>
<label for="email">Email : </label>
<input type="text" name="email" size="50" maxlength="60"><br/>
<label for="asunto">Asunto : </label>
<input type="text" name="asunto" size="50" maxlength="60"><br/>
<label for="mensaje">Mensaje : </label>
<textarea name="mensaje" cols="31" rows="5"></textarea> <br/>
<label for="enviar">
<input type="submit" name="enviar" value="Enviar consulta"></label>
</form><p>&nbsp;<p><br>';
?>
  #2 (permalink)  
Antiguo 10/02/2011, 19:14
Avatar de jonasanx  
Fecha de Ingreso: enero-2011
Ubicación: La Via Lactea, Mexico, Mexico, Mexico
Mensajes: 134
Antigüedad: 13 años, 3 meses
Puntos: 4
Respuesta: Problema con formulario de contacto

... y el error es...?
  #3 (permalink)  
Antiguo 10/02/2011, 19:19
 
Fecha de Ingreso: enero-2011
Mensajes: 57
Antigüedad: 13 años, 2 meses
Puntos: 3
Respuesta: Problema con formulario de contacto

el código de arriba no me funciono simplemente así q me puse a buscar en muchos lados otro pero sigo topando en el mismo problema... no me envía el mensaje a mi correo >.<

este es el formulario q tengo problemas http://xmusic.zobyhost.com/contacto.html

y este es el código de los archivos:

contacto.html :

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Formulario de Contacto 2.0 - CLH</title>
<script type="text/javascript" src="js/jquery-1.4.2.min.js"></script>
<script type="text/javascript" src="js/validacion.js"></script>
<link rel="stylesheet" type="text/css" href="css/estilos.css" />
</head>
<body>
<div id="container">
<form name="formulario" id="formulario" method="post" action="envio.php">
<fieldset><h2>Contacto</h2></fieldset>
<div><label for="nombre">Nombre y Apellidos: </label>
<input type="text" name="nombre" id="nombre" size="50"><span id="validar-nombre"></span></div>
<div><label for="correo">Correo:</label>
<input type="text" name="correo" id="correo" size="50"/><span id="validar-correo"></span></div>
<label for="mensaje">Mensaje: </label>
<textarea name="mensaje" id="mensaje" rows="10" cols="56"></textarea><span id="validar-mensaje"></span>
<p id="envio">
<input type="submit" name="enviar" id="enviar" value="Enviar" />
</p>
</form>
</div>
</body>
</html>


envio.php :

<?php

/* Recepcionamos los datos enviados asincrónicamente */

$nombre = $_POST['nombre'];
$correo = $_POST['correo'];
$mensaje = $_POST['mensaje'];

/* Definimos el correo donde enviaremos el mensaje y el asunto */

$destino = "[email protected]";
$asunto = "Prueba";

/* Definimos el formato del mensaje a enviar */

$cuerpo = "<strong>Nombre: </strong>".$nombre."<br />
<strong>Correo: </strong>".$correo."<br />
<strong>Mensaje: </strong>".$mensaje;

/* Definimos las cabeceras del mensaje */

$cabecera = "MIME-Version: 1.0\r\n";
$cabecera .= "Content-type:text/html; charset=iso-8859-1\r\n";
$cabecera .= "From: $correo\r\n";
$cabecera .= "Reply-to: $correo\r\n";
$cabecera .= "Cc: $correo\r\n";

/* Enviamos vía correo, devolviendo un mensaje en caso de éxito o falla */

if(mail($destino, $asunto, $cuerpo, $cabecera)) {
echo 'Su mensaje ha sido enviado. De ser necesario, nos pondremos en contacto con Ud.';
}
else {
echo 'No se pudo enviar el mensaje. Int&eacute;ntelo nuevamente';
}



?>

validacion.js :

$(function(){

var valor;
var i = 0;

$('#nombre').focus(function(){

$('#resultado-nombre').remove();
$('#validar-nombre').append('<p class="advertencia">*</p>');

});

$('#nombre').blur(function(){

$('.advertencia').remove();

valor = $('#nombre').val();

if(valor != '') {
$('<img src="imagenes/accept.png" id="resultado-nombre" />').appendTo('#validar-nombre');
}
else {
$('<img src="imagenes/delete.png" id="resultado-nombre" />').appendTo('#validar-nombre');
}

});

$('#correo').focus(function(){

$('#resultado-correo').remove();
$('#validar-correo').append('<p class="advertencia">*</p>');

});

$('#correo').blur(function(){

$('.advertencia').remove();

valor = $('#correo').val();

if(valor != '') {

if(validaCorreo(valor)){

$('<img src="imagenes/accept.png" id="resultado-correo" />').appendTo('#validar-correo');

}
else {
$('<span id="resultado-correo">Correo no valido</span>').appendTo("#validar-correo");
}
}
else {
$('<img src="imagenes/delete.png" id="resultado-correo" />').appendTo('#validar-correo');
}

});

$('#mensaje').focus(function(){

$('#resultado-mensaje').remove();
$('#validar-mensaje').append('<p class="advertencia">*</p>');

});

$('#mensaje').blur(function(){

$('.advertencia').remove();

valor = $('#mensaje').val();

if(valor != '') {
$('<img src="imagenes/accept.png" id="resultado-mensaje" />').appendTo('#validar-mensaje');
}
else {
$('<img src="imagenes/delete.png" id="resultado-mensaje" />').appendTo('#validar-mensaje');
}

});

$('#enviar').click(function(){

if($('#nombre').val()!= '' && $('#correo').val()!='' && $('#mensaje').val()!='') {

$('.advertencia').remove();

$('#envio').append('<img src="imagenes/ajax-loader.gif" alt="Procesando envio" id="cargando" />');

var nombre = $('#nombre').val();
var correo = $('#correo').val();
var mensaje = $('#mensaje').val();

$.ajax({
url: 'envio.php',
type: 'POST',
data: 'nombre=' + nombre + '&correo=' + correo + '&mensaje=' + mensaje,

success: function(resultado) {
$('#respuesta').remove();
$('#envio').append('<span id="respuesta">' + resultado + '</span>');
$('#cargando').fadeOut(500, function() {
$(this).remove();
});

}
});

return false;


}
else {
$('#envio').append('<span class="advertencia">Debe completar los datos requeridos.</span>');
return false;
}

});


});

function validaCorreo(correo) {

var expresion = new RegExp(/^(("[\w-\s]+")|([\w-]+(?:\.[\w-]+)*)|("[\w-\s]+")([\w-]+(?:\.[\w-]+)*))(@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?$)/i);
return expresion.test(correo);

}



como pueden tengo el correo donde deseo q llegue el mensaje pero simplemente no llega... y ya lo he revisado mas de 20 veces y no se q cosa se me debe estar pasando

Última edición por kmlo; 10/02/2011 a las 20:53
  #4 (permalink)  
Antiguo 10/02/2011, 21:46
Avatar de jonasanx  
Fecha de Ingreso: enero-2011
Ubicación: La Via Lactea, Mexico, Mexico, Mexico
Mensajes: 134
Antigüedad: 13 años, 3 meses
Puntos: 4
Respuesta: Problema con formulario de contacto

¿Y estas seguro de que tu servidor te permite enviar correos?
Si envías un correo de prueba desde un script (sencillo) de php, ¿te llega?
  #5 (permalink)  
Antiguo 14/02/2011, 09:04
 
Fecha de Ingreso: enero-2011
Mensajes: 57
Antigüedad: 13 años, 2 meses
Puntos: 3
Respuesta: Problema con formulario de contacto

no me ha llegado... no me llega nada... no se si sea porque es un host gratuito... pero en caso de q eso sea el problema... quizás deba contratar uno :/

ya probé con un script sencillo y el problema era el mismo... me salia eso de q no se pudo enviar...
  #6 (permalink)  
Antiguo 14/02/2011, 09:43
Avatar de jonasanx  
Fecha de Ingreso: enero-2011
Ubicación: La Via Lactea, Mexico, Mexico, Mexico
Mensajes: 134
Antigüedad: 13 años, 3 meses
Puntos: 4
Respuesta: Problema con formulario de contacto

Cita:
Iniciado por kmlo Ver Mensaje
no me ha llegado... no me llega nada... no se si sea porque es un host gratuito... pero en caso de q eso sea el problema... quizás deba contratar uno :/

ya probé con un script sencillo y el problema era el mismo... me salia eso de q no se pudo enviar...
Entonces tu servidor no te da servicio de correo. :D
Tienes que contratar uno, o buscar uno que si cuente con servidor smtp.
  #7 (permalink)  
Antiguo 14/02/2011, 10:16
 
Fecha de Ingreso: enero-2011
Mensajes: 57
Antigüedad: 13 años, 2 meses
Puntos: 3
Respuesta: Problema con formulario de contacto

oks >.< entonces en teoría el script si funciona?
  #8 (permalink)  
Antiguo 14/02/2011, 10:19
Avatar de jonasanx  
Fecha de Ingreso: enero-2011
Ubicación: La Via Lactea, Mexico, Mexico, Mexico
Mensajes: 134
Antigüedad: 13 años, 3 meses
Puntos: 4
Respuesta: Problema con formulario de contacto

Cita:
Iniciado por kmlo Ver Mensaje
oks >.< entonces en teoría el script si funciona?
¿Probaste ejecutar solamente la función mail()?

mail('[email protected]', 'Asunto X', 'mi script no funciona');

<- Si esta función por si sola no envía nada, entonces, en efecto, tu servidor no te provee servicio smtp.
  #9 (permalink)  
Antiguo 14/02/2011, 13:04
 
Fecha de Ingreso: enero-2011
Mensajes: 57
Antigüedad: 13 años, 2 meses
Puntos: 3
Respuesta: Problema con formulario de contacto

probarla en el ultimo código en esta parte te refieres?

if(mail($destino, $asunto, $cuerpo, $cabecera)) {
  #10 (permalink)  
Antiguo 14/02/2011, 15:15
Avatar de jonasanx  
Fecha de Ingreso: enero-2011
Ubicación: La Via Lactea, Mexico, Mexico, Mexico
Mensajes: 134
Antigüedad: 13 años, 3 meses
Puntos: 4
Respuesta: Problema con formulario de contacto

Solo ejecuta la función, tal cual.
  #11 (permalink)  
Antiguo 15/02/2011, 11:43
 
Fecha de Ingreso: enero-2011
Mensajes: 57
Antigüedad: 13 años, 2 meses
Puntos: 3
Respuesta: Problema con formulario de contacto

nop no funciono, no debo tener servicio smtp

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 21:56.