 
			
				25/04/2011, 00:43
			
			
			     |  
        |     |    |    Fecha de Ingreso: diciembre-2008  
						Mensajes: 38
					  Antigüedad: 16 años, 10 meses Puntos: 1     |        |  
  |      Respuesta: enviar textbox dinamico a correo carrito de compras        Hola Claus0618 la verdad es que saque un carrito de una muestra de programacionweb.net que acontinuacion te mostrare, ya lo adapte bien a mi pagina, y el problema es cuando mando los valores de la lista por correo, como lo son "cantidad, precio, producto", si los  manda, solo que cuanto crece esa lista a otro renglon ya no me manda por correo esas filas nuevas. quizas no estoy haciendo bien el post con un foreach...   
ese formulario se va llenando de forma dinamica   
/////////// carrito 
<form id="form2" name="form2" method="post" onSubmit="return checkFields();" action="envio_compra_carrito.php"> 
    <fieldset> 
      <legend> </legend> 
      <h1 align="center">Carrito</h1> 
      <?php   
if($carro){  
//si el carro no está vacío,  
//mostramos los productos   
?> 
      <table width="720" border="0" align="center" cellpadding="0" cellspacing="0" id="t1"> 
        <tr bgcolor="#333333" class="tit"> 
          <td width="105">Producto</td> 
          <td width="207">Precio</td> 
          <td colspan="2" align="center">Cantidad de Unidades</td> 
          <td width="100" align="center">Borrar</td> 
          <td width="159" align="center">Actualizar</td> 
        </tr>   
        <?php  
$color=array("#ffffff","#F0F0F0");  
$contador=0;  
//las 2 líneas anteriores  
//sirven sólo para hacer  
//una tabla con colores   
//alternos  
$suma=0;  
//antes de recorrer todos  
//los valores de la matriz  
//$carro, ponemos a cero la  
//variable $suma, en la que  
//iremos sumando los subtotales  
//del costo de cada item por la  
//cantidad de unidades que se  
//especifiquen   
foreach($carro as $k => $v){  
//recorremos la matriz que tiene  
//todos los valores del carro,   
//calculamos el subtotal y el  
// total   
$subto=$v['cantidad']*$v['precio'];  
$suma=$suma+$subto;  
$contador++;  
//este es el contador que usamos  
//para los colores alternos   
?> 
        <tr bgcolor="<?php echo $color[$contador%2]; ?>" class='prod'> 
          <td bgcolor="<?php echo $color[$contador%2]; ?>"><?php echo $v['producto'] ?> 
          <input name="producto" type="text" id="producto" value="<?php echo $v['producto'] ?>" size="20"></td> 
          <td><?php echo $v['precio'] ?> 
          <input name="precio" type="text" id="precio" value="<?php echo $v['precio'] ?>" size="8"></td> 
          <td width="43" align="center"><?php echo $v['cantidad'] ?></td> 
          <td width="136" align="center"><input name="cantidad[]" type="text" id="cantidad" value="<?php echo $v['cantidad'] ?>" size="8"> 
            <input name="id" type="hidden" id="id" value="<?php echo $v['id'] ?>"></td> 
          <td align="center"><a href="borracar.php?<?php echo SID ?>&id=<?php echo $v['id'] ?>"><img src="trash.gif" alt="1" width="12" height="14" border="0"></a></td> 
          <td align="center"><input name="imageField" type="image" src="actualizar.gif" width="20" height="20" border="0"></td> 
        </tr> 
        <?php  
//por cada item creamos un  
//formulario que submite a  
//agregar producto y un link  
//que permite eliminarlos   
}  
?> 
      </table> 
      <div align="center"><span class="prod">Total de Artículos: <?php echo count($carro);  
//el total de items va a ser igual  
//a la cantidad de elementos que  
//tenga la matriz $carro, valor  
//que obtenemos con la función  
//count o con sizeof   
 ?></span></div> 
      <br> 
      <div align="center"><span class="prod">Total: $<?php echo number_format($suma,2);  
//mostramos el total de la variable  
//$suma formateándola a 2 decimales   
?></span></div> 
      <br> 
      <div align="center"><span class="prod">Continuar la selección de productos</span> <a href="catalogo.php?<?php echo SID;?>"> <img src="continuar.gif" alt="1" width="13" height="13" border="0"></a></div> 
      <?php }else{ ?> 
      <p align="center"> <span class="prod">No hay productos seleccionados</span> <a href="catalogo.php?<?php echo SID;?>"> <img src="continuar.gif" alt="1" width="13" height="13" border="0"></a> 
        <?php }?> 
      </p> 
      <p align="center" class="prod">Nota: Para enviar el pedido, es necesario llenar los siguientes campos.</p> 
      <span class="prod"> 
      <legend>Datos del Cliente</legend> 
      </span> 
      <p> 
        <span class="prod"> 
          <label>Nombre Completo </label> 
        <input name="nombre" type="text" id="nombre" size="50" /> 
        * 
      </span></p> 
      <p> 
        <span class="prod"> 
      <label>Domicilio 
          <input name="direccion" type="text" id="domicilio" size="60" /> 
        * </label> 
      (Calle, Numero, Colonia, C.P.)</span></p> 
      <p> 
        <span class="prod"> 
      <label>Ciudad 
          <input name="ciudad" type="text" id="ciudad" /> 
        </label> 
      *</span></p> 
      <p> 
        <span class="prod"> 
      <label>Estado 
          <input name="estado" type="text" id="estado" /> 
        </label> 
      *</span></p> 
      <p> 
        <span class="prod"> 
      <label>Teléfono 
        <input name="tel" type="text" id="tel" /> 
      </label> 
      *</span></p> 
      <p> 
        <span class="prod"> 
      <label>E-Mail 
          <input name="email" type="text" id="email" /> 
        </label> 
      *</span></p> 
      <p> 
        <span class="prod"> 
  <script language="JavaScript" type="text/javascript">   
<!-- Begin 
function checkFields() { 
missinginfo = ""; 
if (document.form2.nombre.value == "") { 
missinginfo += "\n     -  Nombre"; 
}   
if ((document.form2.email.value == "") ||  
(document.form2.email.value.indexOf('@') == -1) ||  
(document.form2.email.value.indexOf('.') == -1)) { 
missinginfo += "\n     -  Email"; 
} 
 if(document.form2.confirma_correo.value != document.form2.email.value) 
     { 
    alert("El email ingresado no coincide"); 
    document.form2.confirma_correo.value = ""; document.form2.confirma_correo.focus(); return false; 
    } 
if(document.form2.direccion.value == "") { 
missinginfo += "\n     -  Direccion"; 
} 
if(document.form2.ciudad.value == "") { 
missinginfo += "\n     -  Ciudad"; 
} 
if(document.form2.estado.value == "") { 
missinginfo += "\n     -  Estado"; 
} 
if(document.form2.tel.value == "") { 
missinginfo += "\n     -  tel"; 
} 
if (missinginfo != "") { 
missinginfo ="_____________________________\n" + 
"Te ha faltado introducir los siguientes datos:\n" + 
missinginfo + "\n_____________________________" + 
"\n¡Por favor pulsa enter, rellena los datos y prueba de nuevo!"; 
alert(missinginfo); 
return false; 
} 
else return true; 
} 
//  End --> 
          </script>   
  <input type="checkbox" value="1" name="chVerTutoriales" onClick="btTutorial.disabled = !this.checked" /> 
        <input type="submit" value="Enviar" name="btTutorial" disabled="disabled"/> 
      </span></p> 
      <p class="prod">Nota: todos los campos con * son obligatorios.</p> 
    </fieldset> 
    <?php 
print_r($_POST); 
?> 
  </form> 
///////////// este es mi envio de carrito por correo, una parte   
/// datos que si envia por correo (funciona) 
$senderNombre = $_POST['nombre']; 
$senderTel = $_POST['tel']; 
$senderEmail = $_POST['email']; 
$senderDireccion = $_POST['direccion']; 
$senderCiudad = $_POST['ciudad']; 
$senderEstado = $_POST['estado'];   
///////////esto no funciona solo devuelve un solo registrio 
$senderProducto = $_POST['producto']; 
$senderPrecio = $_POST['precio'];     
//$test=array($senderPrecio); 
//foreach ($test as $x) 
//echo $x; 
$array1 = array (); 
$array1[] = $senderPrecio; 
$array1[] = $senderPrecio;   
for ($i=0; $i<count($array1); $i++){ 
echo "indice Array" . $i . ":" . $array1[$i] . "<br>"; 
}   
la fuente del carrito es de http://www.programacionweb.net/articulos/articulo/?num=329           |