Foros del Web » Programando para Internet » PHP »

Formulario manda pero no llega la info

Estas en el tema de Formulario manda pero no llega la info en el foro de PHP en Foros del Web. Hola a todos, primero les quiero decir que son un novato en php y haciendo unas pruebas tuve un par de problemas. Hice un html ...
  #1 (permalink)  
Antiguo 13/12/2004, 12:11
 
Fecha de Ingreso: agosto-2004
Mensajes: 25
Antigüedad: 13 años, 3 meses
Puntos: 0
Formulario manda pero no llega la info

Hola a todos, primero les quiero decir que son un novato en php y haciendo unas pruebas tuve un par de problemas.
Hice un html para un formulario de contacto para que la gente rellene y me llegue el mail con los datos que rellenaron, lo asocié con archivo que se llama mail.php y si llenan bien el formulario se auto dirige a otro html agradeciendo el envío. HAsta ahí todo bien.
Cuando lo pruebo agradece el envio pero al chequear mi correo veo que llegó el mail pero sin los campos del formulario, yo creo que el error está en estas lineas del archivo mail.php:
# CUERPO DEL MENSAJE AÑADIDO DE CAMPOS AL MENSAJE
## $vareliminar Número de botones del formulario y campos ocultos (últimos elementos) + 1 --> en este caso (1+1)
## Si queremos eliminar del mensaje el campo oculto de la página final $vareliminar=3;
$vareliminar=5;
## Almacenar en un array los nombres de variables del formulario enviado
$claves_array=array_keys ($HTTP_GET_VARS);
## de i=0 hasta el número de campos del formulario, - variables a eliminar
for ($i=0;$i<=(count($HTTP_GET_VARS)-$vareliminar);$i++){
## Obtenemos el nombre de cada campo en concreto
$nombrevar=$claves_array[$i];
## Sumamos el nombre de campo de formulario al mensaje final
$mfinal .= $correo;
$mfinal .= ": ";
## Y añadimos el contenido que haya introducido nuestro visitante
$mfinal .= $HTTP_GET_VARS[$correo];
$mfinal .= $retorno;
$mfinal .= $retorno;
$mfinal .= $HTTP_GET_VARS[$nombre];
$mfinal .= $retorno;
$mfinal .= $retorno;
$mfinal .= $HTTP_GET_VARS[$asunto];
## Separamos cada campo por dos retornos, podemos eliminar uno
$mfinal .= $retorno;
$mfinal .= $retorno;


Espero sepan contestarme y disculpen mi ignoracia. Les comento que el formulario para probar le puse tres campos solos, correo, nombre y asunto.

Muchas gracias
  #2 (permalink)  
Antiguo 13/12/2004, 17:09
 
Fecha de Ingreso: agosto-2004
Mensajes: 25
Antigüedad: 13 años, 3 meses
Puntos: 0
Por favor, necesitaría que me aclaren esto.
Muchas gracias
  #3 (permalink)  
Antiguo 14/12/2004, 05:15
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Realmente te lias mucho para hacer lo que pretendes hacer ..

No se vé el formulario que usas .. así que no se vé el método que usas en tu formulario (method) .. ahí estás intentando obtener tus variables por GET .. y tu tal vez uses POST en tu method del formulario .. Eso es lo primero que tienes que revisar.

Por lo demás .. componer tu e-mail de estructura tipo

nombre_variable_formulario = su_valor
nombre_variable2_formulario = su_valor2
etc ..

Lo puedes hacer simplemente con:

Código PHP:
$mfinal '';
foreach (
$_GET as $variable => $valor){
   
$mfinal .= $variable." = ".$valor."\n";

Tampoco se vé como compones la función mail() y en general el resto del script .. así que no se puede dar ninguna opinión más sobre que puede suceder; por ejemplo ahí uso un salto de línea \n .. por qué no sé si envias el e-mail en formato HTML (con sus cabeceras adecuadas) .. en tal caso el salto de línea sería el tag <br>. Si quieres respuestas "claras" y rápidas debes aportar más datos en tus preguntas (recuerdalo para otra vez).

Un saludo,
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 18:44.