Foros del Web » Programando para Internet » PHP »

Problema al enviar campos duplicados

Estas en el tema de Problema al enviar campos duplicados en el foro de PHP en Foros del Web. Buenas, les escribo porque tengo una duda, un problema que no puedo arreglar. Tengo un codigo JS, que me duplica unos 6 campos de texto, ...
  #1 (permalink)  
Antiguo 29/08/2012, 09:36
 
Fecha de Ingreso: diciembre-2007
Mensajes: 18
Antigüedad: 15 años, 1 mes
Puntos: 0
Problema al enviar campos duplicados

Buenas, les escribo porque tengo una duda, un problema que no puedo arreglar. Tengo un codigo JS, que me duplica unos 6 campos de texto, asi como el que se muestra aca:


Código:
<script type="text/javascript">
function agregar() {
	campo = '<li><label>Email:</label><input type="text" size="20" name="email[]" /></li>';
	$("#emails").append(campo);
}
</script>
</head>

<body>
<fieldset id="form">
	<legend>Info</legend>
	<form name="frm_multiple" method="post" action="procesar.php">
    <ol id="emails">
    	<li>
        <label>Email:</label><input type="text" size="20" name="email[]" /> 
        <span><a href="#" onclick="agregar();">Agregar</a></span>
        </li>
    </ol>
    <p align="center"><input type="submit" name="Send" value="Send" /></p>
    </form>
</fieldset>
Luego los tomo en un archivo procesar.php :

Código:
<?php
$emails=$_POST['email'];
for ($i=0; $i<=count($emails); $i++) {	
	echo $emails[$i].'<br>';
	//// aqui grabamos en la base de datos o lo que deseemos
}
?>
Bien, hasta ahí todo 10 puntos, mi consulta es: ¿como puedo hacer para que esos datos que toma el archivo "procesar.php" los envíe a una casilla de correo?
Gracias !!!
  #2 (permalink)  
Antiguo 29/08/2012, 10:16
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 14 años, 6 meses
Puntos: 1532
Respuesta: Problema al enviar campos duplicados

simplemente investigando los métodos que tiene PHP para enviarlo, como la función mail() o clases como SwiftMailer, PHPMailer, entre otras, consulte el manual de PHP
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 29/08/2012, 10:28
 
Fecha de Ingreso: diciembre-2007
Mensajes: 18
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: Problema al enviar campos duplicados

Claro. Intente mandarlo con la funcion mail(), es decir, armar el cuerpo del mensaje, en este caso, con "$emails" y no me funciono..
  #4 (permalink)  
Antiguo 29/08/2012, 12:00
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 14 años, 6 meses
Puntos: 1532
Respuesta: Problema al enviar campos duplicados

Cita:
Iniciado por xikinho Ver Mensaje
Claro. Intente mandarlo con la funcion mail(), es decir, armar el cuerpo del mensaje, en este caso, con "$emails" y no me funciono..
¿consulto el manual de php?: me imagino que no, porque allí se detallan los requisitos según es OS para poder enviar correos.

además de que tiene que verificar que no tenga un proxy o firewall bloqueando el puerto del SMTP
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #5 (permalink)  
Antiguo 30/08/2012, 12:24
 
Fecha de Ingreso: diciembre-2007
Mensajes: 18
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: Problema al enviar campos duplicados

Tenias razon mayco, no los mandaba porque estaba trabajando desde el localhost.
Ahora tengo un problema, en el mail me llega el campo como Array, no me muestra los datos introducidos.

Código:
<?php

$origen=$_POST['origen'];
for ($i=0; $i<=count($origen); $i++) {	
	
	
$cuerpo .= "Origen: " . $origen=$_POST['origen'] . "\n";
		
mail("[email protected]il.com","Formulario de Contacto",$cuerpo);
		
		}
		

?>
Me podes ayudar por favor? Necesito presentar esto urgentemente.
  #6 (permalink)  
Antiguo 30/08/2012, 12:50
 
Fecha de Ingreso: mayo-2006
Mensajes: 475
Antigüedad: 16 años, 8 meses
Puntos: 58
Respuesta: Problema al enviar campos duplicados

Código PHP:
Ver original
  1. <?php
  2. $origen=$_POST['origen'];
  3. for ($i=0; $i<=count($origen); $i++) {         
  4. $cuerpo = "Origen: " . $origen=$_POST['origen'] . "\n";    
  5. mail("[email protected]","Formulario de Contacto",$cuerpo);      
  6. }
  7. ?>
  #7 (permalink)  
Antiguo 30/08/2012, 13:13
 
Fecha de Ingreso: diciembre-2007
Mensajes: 18
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: Problema al enviar campos duplicados

joss gracias por responder.
Para tomar los datos me di cuenta que tengo que llamar a . $origen[$i]
Pero si ya quiero tomar 2 campos distintos deja de funcionar...
  #8 (permalink)  
Antiguo 30/08/2012, 13:31
 
Fecha de Ingreso: mayo-2006
Mensajes: 475
Antigüedad: 16 años, 8 meses
Puntos: 58
Respuesta: Problema al enviar campos duplicados

Código PHP:
Ver original
  1. <?php
  2. $cuerpo='';
  3. $origen=$_POST['origen'];
  4. foreach($origen as $k=>$v) {
  5. $cuerpo .= "Clave: " . $k . " - "."Origen: " . $v . "\n";      
  6. }
  7. mail("[email protected]","Formulario de Contacto",$cuerpo);
  8. ?>
  #9 (permalink)  
Antiguo 30/08/2012, 13:44
 
Fecha de Ingreso: diciembre-2007
Mensajes: 18
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: Problema al enviar campos duplicados

no, no funcionó. Gracias por la ayuda Jossss
  #10 (permalink)  
Antiguo 30/08/2012, 13:50
 
Fecha de Ingreso: mayo-2006
Mensajes: 475
Antigüedad: 16 años, 8 meses
Puntos: 58
Respuesta: Problema al enviar campos duplicados

y si le haces un print_r($cuerpo) o print_r($origen) en esa página, te muestra bien?
  #11 (permalink)  
Antiguo 30/08/2012, 13:58
 
Fecha de Ingreso: diciembre-2007
Mensajes: 18
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: Problema al enviar campos duplicados

Mira ahi te paso un link, de como seria mi pagina.
http://ellala.16mb.com/elform/multiplestrayectos/nuevo.php

a los campos que introducis aca los tomo en un archivo procesa.php que imprime los datos en un input para despues enviarlos.
Muchas gracias Jossss
  #12 (permalink)  
Antiguo 30/08/2012, 14:13
 
Fecha de Ingreso: mayo-2006
Mensajes: 475
Antigüedad: 16 años, 8 meses
Puntos: 58
Respuesta: Problema al enviar campos duplicados

Poniendo esto en enviar.php te debería mostrar bien la recepción ya que estas se envían correcatmente según he podico ver.
Código PHP:
Ver original
  1. <?php
  2.     $cuerpo='';
  3.     $origen=$_POST['origen'];
  4.     foreach($origen as $k=>$v) {
  5.     $cuerpo .= "Clave: " . $k . " - "."Origen: " . $v . "\n";      
  6.     }
  7. if(!mail("[email protected]","Formulario de Contacto",$cuerpo)){
  8. 'se ha producido un error<br />';
  9. }
  10. echo $cuerpo.'<br />';
  11. print_r($_POST['origen']);
  12.     ?>
  #13 (permalink)  
Antiguo 30/08/2012, 14:18
 
Fecha de Ingreso: diciembre-2007
Mensajes: 18
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: Problema al enviar campos duplicados

Genial Jossss, funciona!!

el unico problema, en la pagina siguiente me imprime unos array:
Clave: 0 - Origen: origen1 Clave: 1 - Origen: origen2 Clave: 2 - Origen:
Array ( [0] => origen1 [1] => origen2 [2] => )

que puede ser?

y en el caso de querer agregar los demas campos restantes?
  #14 (permalink)  
Antiguo 30/08/2012, 14:30
 
Fecha de Ingreso: mayo-2006
Mensajes: 475
Antigüedad: 16 años, 8 meses
Puntos: 58
Respuesta: Problema al enviar campos duplicados

El problema puede ser:
Que el mail al que envias el correo esté mal escrito.
Que el servidor no permita enviar mails a otros correos que no sean del mismo dominio a traves de mail().
Para opción uno la solución es revisar que el mail sea el correcto. :P
Para la opcion dos, contactar con tu proveedor.

Código PHP:
Ver original
  1. <?php
  2. $cuerpo='';
  3. $origen=$_POST['origen'];
  4. $destino=$_POST['destino'];
  5. $npasajeros=$_POST['npasajeros'];
  6. $fecha=$_POST['fecha'];
  7.  
  8. for($i=0;$i<count($origen);$i++) {
  9. $cuerpo .= "<h2>Pedido:".$i."</h2>"; ;  
  10. $cuerpo .= "Origen:".$origen[$i]."<br />";  
  11. $cuerpo .= "Destino:".$destino[$i]."<br />";
  12. $cuerpo .= "Numero de pasajeros:".$npasajeros[$i]."<br />";  
  13. $cuerpo .= "Fecha:".$fecha[$i]."<br />";
  14. $cuerpo .= "<hr />";      
  15. }
  16. mail("[email protected]","Formulario de Contacto",$cuerpo);
  17. echo $cuerpo;
  18. ?>

Última edición por jossss; 30/08/2012 a las 14:40
  #15 (permalink)  
Antiguo 30/08/2012, 14:44
 
Fecha de Ingreso: diciembre-2007
Mensajes: 18
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: Problema al enviar campos duplicados

Muchisimas gracias Jossss! Sos un genio!
Gracias a ti, me saque un peso enorme de encima.
Y no quiero abusar de tu confianza, pero queda un solo detalle. Siempre me agrega un campo de mas, porque puede ser eso?
  #16 (permalink)  
Antiguo 30/08/2012, 14:58
 
Fecha de Ingreso: mayo-2006
Mensajes: 475
Antigüedad: 16 años, 8 meses
Puntos: 58
Respuesta: Problema al enviar campos duplicados

Recorres mal el bucle en el archivo procesa.php
  #17 (permalink)  
Antiguo 30/08/2012, 15:01
 
Fecha de Ingreso: diciembre-2007
Mensajes: 18
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: Problema al enviar campos duplicados

Tendria que poner el mismo codigo que en la pagina donde se envia el mail, pero, sin la funcion mail, es eso verdad?
Disculpa que te moleste, pero soy diseñador grafico, no programador, tengo conocimientos muy basicos en php, en css si soy bueno, pero php java etc, se me complica un poco, y hago esto para ayudar a un amigo, que me pidio el favor solamente..
  #18 (permalink)  
Antiguo 30/08/2012, 15:06
 
Fecha de Ingreso: mayo-2006
Mensajes: 475
Antigüedad: 16 años, 8 meses
Puntos: 58
Respuesta: Problema al enviar campos duplicados

Si, básicamente es el mismo código pero poniendolo en inputs que es como lo tienes.
Saludos
  #19 (permalink)  
Antiguo 30/08/2012, 15:13
 
Fecha de Ingreso: diciembre-2007
Mensajes: 18
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: Problema al enviar campos duplicados

Genio, te debo una muy grande!
Muchas gracias jossss, muy agradecido, saludos!

Etiquetas: campos, duplicados
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:33.