Foros del Web » Programando para Internet » PHP »

Problema con formulario basico (principiante)

Estas en el tema de Problema con formulario basico (principiante) en el foro de PHP en Foros del Web. Hola a todos. Soy bastante novato aun y estoy en los inicios de mi aprendizaje en PHP. El tema lo resumiré así. Tengo un formulario ...
  #1 (permalink)  
Antiguo 18/07/2011, 04:43
 
Fecha de Ingreso: julio-2011
Mensajes: 6
Antigüedad: 13 años, 4 meses
Puntos: 0
Problema con formulario basico (principiante)

Hola a todos.
Soy bastante novato aun y estoy en los inicios de mi aprendizaje en PHP.
El tema lo resumiré así.
Tengo un formulario en html que llama a este código php:
<?
$para = '[email protected]';
$asunto = 'Prueba Mail';
$mensaje = 'Esto es una prueba de Hostalia';
$cabeceras = "From: [email protected]\r\nReply-To:[email protected]\r\n";
mail($para, $asunto, $mensaje, $cabeceras,'[email protected]');
?>

Funciona.
Mando el formulario y el correo lo recibo con las variables, estas ya definidas, sin problema:
"[email protected]
Prueba Mail
Esto es una prueba de Hostalia"

El problema es si lo modifico:
<?
$para = '[email protected]';
$Email = $_POST['email'];
$Mensaje = $_POST['mensaje'];
$cabeceras = "From: [email protected]\r\nReply-To:[email protected]\r\n";

mail($para, $Email, $Mensaje, $cabeceras,'[email protected]');
?>

Ya no recibo nada.
¿Que puede estar pasando?
Gracias por la ayuda de antemano.
Juan
  #2 (permalink)  
Antiguo 18/07/2011, 04:50
 
Fecha de Ingreso: agosto-2010
Ubicación: Tenerife
Mensajes: 893
Antigüedad: 14 años, 3 meses
Puntos: 202
Respuesta: Problema con formulario basico (principiante)

En principio haz dos cosas:

1º Comprueba antes si los datos que pasas por post están bien.

Código PHP:
echo $_POST['email']; 
2º Comprueba además si se está enviando el mail()

Código PHP:
if (mail($para$Email$Mensaje$cabeceras,'[email protected]') )
echo 
'enviado';
else
echo 
'no enviado'
__________________
Pensaba que internet era una gran biblioteca de sabiduría, hasta que comprendí que un libro no puede tener mil páginas llenas de faltas de ortografía... :(
  #3 (permalink)  
Antiguo 18/07/2011, 04:50
Avatar de vgonga1986  
Fecha de Ingreso: marzo-2008
Ubicación: País de Pandereta
Mensajes: 1.021
Antigüedad: 16 años, 8 meses
Puntos: 253
Respuesta: Problema con formulario basico (principiante)

Me da que el error está más en la recepción del formulario que redirige a dicha página que en la página en sí. Si puedes poner el código de la página anterior y, añade al principio un var_dump($_POST), para que podamos ver si viene relleno o no.

Un saludo.
__________________
¿Alguna pregunta, duda, acotación, nota, cuestión, reparo, comentario, demanda, crítica, interpretación, objeción, interrogante, discrepancia, observación, réplica, disquisición, apostilla o exégesis?
  #4 (permalink)  
Antiguo 18/07/2011, 05:45
 
Fecha de Ingreso: julio-2011
Mensajes: 6
Antigüedad: 13 años, 4 meses
Puntos: 0
Respuesta: Problema con formulario basico (principiante)

Hola.
Gracias por la pronta respuesta IEKK y vgonga1986.
IEKK:
Mira en vez del echo que tu me propones tengo este otro y me confirma que los datos del formulario pasan a la variable ¿ok?
<?php
while(list($key, $Value) = each($_POST)){
echo $key ." : ". $Value . "<br>";
}
?>

He añadido el if(mail) que tu me propones y resultado: enviado.
vgonga1986:
Entiendo que me pides el codigo del form:
<form action="prueba2.php" method="POST">
Su email: <input name="email" size="16" type="text">
Comentarios: <textarea name="mensaje" cols="32" rows="6"></textarea>
<input value="Enviar" type="submit">
</form>


Disculpa lo del var_dump($_POST) no entiendo, si me especificas que debo hacer o donde insertarlo ¿?.
Saludos y gracias.
Juan
  #5 (permalink)  
Antiguo 18/07/2011, 06:05
 
Fecha de Ingreso: julio-2011
Mensajes: 6
Antigüedad: 13 años, 4 meses
Puntos: 0
Respuesta: Problema con formulario basico (principiante)

A se me olvidaba, porque veo que puede ser util.
Se puede ver aquí y probar lo que te devuelve:
http://estetikakerala.es/prueba2.html
  #6 (permalink)  
Antiguo 18/07/2011, 06:06
 
Fecha de Ingreso: agosto-2010
Ubicación: Tenerife
Mensajes: 893
Antigüedad: 14 años, 3 meses
Puntos: 202
Respuesta: Problema con formulario basico (principiante)

¿Que campos son los que no te rellena?
por cierto no uses <? ... ?> sino <?php .. ?>
__________________
Pensaba que internet era una gran biblioteca de sabiduría, hasta que comprendí que un libro no puede tener mil páginas llenas de faltas de ortografía... :(
  #7 (permalink)  
Antiguo 18/07/2011, 06:07
Avatar de vgonga1986  
Fecha de Ingreso: marzo-2008
Ubicación: País de Pandereta
Mensajes: 1.021
Antigüedad: 16 años, 8 meses
Puntos: 253
Respuesta: Problema con formulario basico (principiante)

Lo de var_dump me refiero a que lo pongas en el php que recibe la variable, para que veas si viene o no rellena. Es decir:
Código PHP:
<?
var_dump
($_POST);
$para '[email protected]';
$Email $_POST['email'];
$Mensaje $_POST['mensaje'];
$cabeceras "From: [email protected]\r\nReply-To:[email protected]\r\n";

mail($para$Email$Mensaje$cabeceras,'[email protected]');
?>
Así verás lo que trae $_POST.
__________________
¿Alguna pregunta, duda, acotación, nota, cuestión, reparo, comentario, demanda, crítica, interpretación, objeción, interrogante, discrepancia, observación, réplica, disquisición, apostilla o exégesis?
  #8 (permalink)  
Antiguo 18/07/2011, 06:08
 
Fecha de Ingreso: julio-2011
Mensajes: 6
Antigüedad: 13 años, 4 meses
Puntos: 0
Respuesta: Problema con formulario basico (principiante)

El problema no está en los campos sino en que no recibo el correo a pesar de que el if(mail) diga enviado.
  #9 (permalink)  
Antiguo 18/07/2011, 06:15
 
Fecha de Ingreso: julio-2011
Mensajes: 6
Antigüedad: 13 años, 4 meses
Puntos: 0
Respuesta: Problema con formulario basico (principiante)

Hola.
Gracias de nuevo a ambos.
He hecho los cambios que me proponiais

<?php
var_dump($_POST);
...
...
?>


podeis verlo y probarlo en: www.estetikakerala.es/prueba2.html

Saludos.
Juan
  #10 (permalink)  
Antiguo 18/07/2011, 06:16
 
Fecha de Ingreso: agosto-2010
Ubicación: Tenerife
Mensajes: 893
Antigüedad: 14 años, 3 meses
Puntos: 202
Respuesta: Problema con formulario basico (principiante)

Quizás sea un problema de cabeceras...
Prueba en otro correo y mira ver si llega como no deseado o similar.
__________________
Pensaba que internet era una gran biblioteca de sabiduría, hasta que comprendí que un libro no puede tener mil páginas llenas de faltas de ortografía... :(
  #11 (permalink)  
Antiguo 18/07/2011, 06:18
Avatar de vgonga1986  
Fecha de Ingreso: marzo-2008
Ubicación: País de Pandereta
Mensajes: 1.021
Antigüedad: 16 años, 8 meses
Puntos: 253
Respuesta: Problema con formulario basico (principiante)

Pues debería ir bien, las variables las recibe bien, los correos de destino y fuente están bien. La verdad que no me lo explico.
__________________
¿Alguna pregunta, duda, acotación, nota, cuestión, reparo, comentario, demanda, crítica, interpretación, objeción, interrogante, discrepancia, observación, réplica, disquisición, apostilla o exégesis?
  #12 (permalink)  
Antiguo 18/07/2011, 06:36
 
Fecha de Ingreso: agosto-2010
Ubicación: Tenerife
Mensajes: 893
Antigüedad: 14 años, 3 meses
Puntos: 202
Respuesta: Problema con formulario basico (principiante)

Debe haber algún error. Aunque evaluas el mail con if para saber si se envió recuerda que mail() retorna devuelve true si el correo ha sido aceptado,
pero una cosa es aceptado para reparto y otra que se envíe.

Esto sale en el manual en la parte de valores devueltos:
http://php.net/manual/es/function.ma...l-returnvalues

Yo sigo viendo dos posibles:
-Cambiar el encabezado.
-Asegurarte que realmente necesitas el additional_parameters ( tu 5º parámetro en la función) Ya que con 4 debería ser suficiente para lo que buscas.

Por cierto tienes un error aquí (salvo que quieras que el título sea el email):

mail($para, $Email, $Mensaje, $cabeceras,'[email protected]');

El segundo parámetro es el título (creo recordar) no el email de quien manda el correo
__________________
Pensaba que internet era una gran biblioteca de sabiduría, hasta que comprendí que un libro no puede tener mil páginas llenas de faltas de ortografía... :(
  #13 (permalink)  
Antiguo 18/07/2011, 09:02
 
Fecha de Ingreso: julio-2011
Mensajes: 6
Antigüedad: 13 años, 4 meses
Puntos: 0
Respuesta: Problema con formulario basico (principiante)

SOLUCIONADO
Gracias IEKK y vgonga1986.
Efectivamente el problema era que el buzón no procesaba ni redirigía convenientemente.
Una vez dado este pasito sigo configurando el formulario.
Saludos y Gracias.
Porque al ser uno taan novato (con php), se ahoga en un vaso de agua.
Juan
PD: Suerte.
-*- www.tleo.es -*-

Última edición por juan_txo; 18/07/2011 a las 09:05 Razón: modificar
  #14 (permalink)  
Antiguo 18/07/2011, 09:11
Avatar de vgonga1986  
Fecha de Ingreso: marzo-2008
Ubicación: País de Pandereta
Mensajes: 1.021
Antigüedad: 16 años, 8 meses
Puntos: 253
Respuesta: Problema con formulario basico (principiante)

Me alegro que lo solventaras y tranquilo, que todos empezamos ahogándonos y algunos incluso seguimos haciéndolo. Pero así es como mejor se aprende, a base de darte cabezazos con el código.

Un saludo y suerte, por aquí estamos si necesitas algo más.
__________________
¿Alguna pregunta, duda, acotación, nota, cuestión, reparo, comentario, demanda, crítica, interpretación, objeción, interrogante, discrepancia, observación, réplica, disquisición, apostilla o exégesis?

Etiquetas: basico, html, formulario, variables
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 12:06.