Foros del Web » Programando para Internet » PHP »

Problemas con foreach?

Estas en el tema de Problemas con foreach? en el foro de PHP en Foros del Web. Hola a todos, estoy haciendo un formulario que debe ser enviado por email y dentro del mismo tengo un Checkbox. Y el problema es cuando ...
  #1 (permalink)  
Antiguo 22/10/2004, 18:49
 
Fecha de Ingreso: febrero-2003
Mensajes: 795
Antigüedad: 21 años, 2 meses
Puntos: 2
Problemas con foreach?

Hola a todos, estoy haciendo un formulario que debe ser enviado por email y dentro del mismo tengo un Checkbox. Y el problema es cuando quiero que lo que llena el usuario me llegue por mail.

Esta es la parte del checkbox del codigo php:

Código PHP:
<?php
$toaddress 
"[email protected]";
$subject "Nuevo CV";
foreach (
$programas as $dear)
$mailcontent =
" DATOS PERSONALES \n -----------------\n"
."     Programas que domina". echo $dear."\n";
$fromaddress="From: $email\n";
mail($toaddress$subject$mailcontent$fromaddress);
?>
Lo raro es que al llegar a mi email sólo recoje el último seleccionado, pero si le doy un echo, si me da todos los datos que han sido marcados:

foreach ($programas as $dear) { echo $dear."<br>"; }

Ya no se que puedo hacer, es decir, si los recoje, pero para el email no

Ojala alguien me eche una mano.

Saludos
__________________
Carlo Rodríguez
florerias en lima
  #2 (permalink)  
Antiguo 22/10/2004, 18:56
 
Fecha de Ingreso: enero-2004
Mensajes: 235
Antigüedad: 20 años, 3 meses
Puntos: 0
Tienes unos errores en el código:
- Te faltaba el punto para concatenar en: $mailcontent.=
- Los claudators {} del foreach.

<?php
$toaddress = "[email protected]";
$subject = "Nuevo CV";
$mailcontent = NULL;
$fromaddress = "From: $email\n";

foreach ($programas as $dear) {
$mailcontent .=
" DATOS PERSONALES \n -----------------\n"
." Programas que domina". echo $dear."\n";
}

mail($toaddress, $subject, $mailcontent, $fromaddress);
?>
  #3 (permalink)  
Antiguo 22/10/2004, 19:04
 
Fecha de Ingreso: enero-2004
Mensajes: 235
Antigüedad: 20 años, 3 meses
Puntos: 0
Carlo, te he enviado un mail a tu direccion personal de REDATM, por un asunto personal.

Un saludo.
  #4 (permalink)  
Antiguo 22/10/2004, 20:49
 
Fecha de Ingreso: febrero-2003
Mensajes: 795
Antigüedad: 21 años, 2 meses
Puntos: 2
Hola Jmaribau, lo acabo de constestar , sobre tu respuesta, el problema es que ese es solo uno de todos los datos, existen nombre, email y otros que son parte de un textarea, selects y demás.

El código casi completo es:

Código PHP:
<?php
$toaddress 
"[email protected]";
$subject "Nuevo CV";
    foreach (
$programas as $dear) { echo $dear." ";} 
//COMERCIAL
if($area_postular=="comercial"){
$mailcontent =
" DATOS PERSONALES \n -----------------\n"
."   Apellido paterno: ".$apellido_paterno."\n"
."   Apellido materno: ".$apellido_materno."\n"
."   Nombre: ".$nombre."\n"
."   Sexo:    ".$sexo."\n"
."   Nacionalidad: ".$nacionalidad."\n"
."   Teléfono de referencia: ".$telefono_referencia."\n"
."   Nombre de familiar o vecino: ".$nombre_vecino."\n"
."   Email: ".$email."\n \n"
."   Familiares en la empresa: ".$familiares."\n \n"
." SI POSTULA PARA CONDUCTOR O GI \n"
." ------------------------------ \n"
."   Licencia de conducir: ".$licencia_conducir."\n"
."   Tipo de licencia: " .$tipo_licencia."\n \n"
."   ------------------- \n"
."   Otros Datos \n"
."   ------------------- \n"
."     Interés profesional: ".$adm_interes_profesional."\n"
."     Inglés: ".$adm_ingles."\n"
."     Programas que domina: ".$dear."\n"
;}
Espero asi se entienda mejor
__________________
Carlo Rodríguez
florerias en lima
  #5 (permalink)  
Antiguo 23/10/2004, 01:31
 
Fecha de Ingreso: enero-2004
Mensajes: 235
Antigüedad: 20 años, 3 meses
Puntos: 0
Tan facil cómo cambiar esta linia :
foreach ($programas as $dear) { echo $dear." ";}

Por esta linia:
$dear = explode(' ' ,$programas);

Un saludo.

PD: si lo quisieras hace con foreach, que es del todo desaconsejable se haria de esta manera:
$dear = NULL;
foreach ($programas as $dearparcial) {
$dear .= $dearparcial.' ';
}
  #6 (permalink)  
Antiguo 24/10/2004, 21:45
Avatar de jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 20 años, 6 meses
Puntos: 41
jmaribau:
Creo que quisiste poner implode(' ' ,$programas); en lugar de expode(...

Saludos
  #7 (permalink)  
Antiguo 25/10/2004, 09:37
 
Fecha de Ingreso: febrero-2003
Mensajes: 795
Antigüedad: 21 años, 2 meses
Puntos: 2
Muchas gracias jmaribau! ya me funcionó con los 2, tambien te agradezco jpinedo por la aclaracion, por conocimiento general: ¿Por que es desaconsejable utilizar el foreach en este caso?

Gracias por todo
__________________
Carlo Rodríguez
florerias en lima
  #8 (permalink)  
Antiguo 25/10/2004, 21:18
Avatar de jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 20 años, 6 meses
Puntos: 41
Cita:
Iniciado por jmaribau
(...)si lo quisieras hace con foreach, que es del todo desaconsejable se (...)
No es que sea desaconsejable... lo que pasa es que no hay razón para recorrer todo el array juntando elemento por elemento para armar una cadena si ya existe una función que te lo devuelve directamente... es por una cuestión de optimización de código nada más... pero no va a pasar nada malo ni nada indeseable si utilizas el foreach.

Saludos
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 10:25.