Comunidad de diseño web y desarrollo en internet online

enviar textbox dinamico a correo de carrito de compras

Citar            
MensajeEscrito el 24 Abr 2011 05:43 am
Hola amigos tengo varios dias queriendo mandar por correo una lista dinamica de un carrito de compras por correo y solo logro mandarla de un solo registro el cual no pertenece a una base de datos.
/// 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>";
}

---------------

De antemano les agradezco mucho por su tiempo y ayuda.

Por jlomss

3 de clabLevel



 

firefox
Citar            
MensajeEscrito el 25 Abr 2011 04:16 pm
Te falta decirnos dónde están los datos de los productos, porque en el código solo pareces tomar un solo producto, no varios.

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 26 Abr 2011 07:03 pm
hola amigo gracias por tu pronta respuesta tengo un carrito que te mostrare acontinuacion me muestra los datos de la compra, pero no se com osacarlos de ahi ya que el contenido es dinamico no se si se sacan los parametros por sesion o como. necesito mandar esa informacion de la lista del carrito por correo,los demas $_POST que puse en el codigo de arriba es paara enviar la informacion del cliente.

<?php
session_start();
//Iniciamos o retomamos la
//sesión
if(isset($_SESSION['carro']))
$carro=$_SESSION['carro'];else $carro=false;
//La asignamos a la variable
//$carro si existe o ponemos a false $carro
//en caso contrario
?>
<html>
<head>
<title>PRODUCTOS AGREGADOS AL CARRITO</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
<!--
.tit {
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 9px;
color: #FFFFFF;
}
.prod {
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 9px;
color: #333333;
}
h1 {
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 20px;
color: #990000;
}
-->
</style>
</head>
<body>
<h1 align="center">Carrito</h1>
<?php
if($carro){
//si el carro no está vacío,
//mostramos los productos
?>
<table width="720" border="0" cellspacing="0" cellpadding="0" align="center">
<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
?>
<form name="a<?php echo $v['identificador'] ?>" method="post" action="agregacar.php?<?php echo SID ?>" id="a<?php echo $v['identificador'] ?>">
<tr bgcolor="<?php echo $color[$contador%2]; ?>" class='prod'>
<td><?php echo $v['producto'] ?></td>
<td><?php echo $v['precio'] ?></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" 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></form>
<?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" 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" width="13" height="13" border="0"></a>
<?php }?>
</p>
</body>
</html>

este recurso salio de http://www.programacionweb.net/articulos/articulo/?num=329

Por jlomss

3 de clabLevel



 

firefox
Citar            
MensajeEscrito el 27 Abr 2011 12:46 pm
Estás haciendo un formulario <form> por cada producto en el carrito, eso no tiene sentido.

Mejor prueba creando tres inputs como arrays, por ejemplo

Código PHP :

<input type="type" name="cantidad[]" value="<?php echo $v['cantidad']; ?>" />

Y ponlos todos en un solo <form> con su correspondiente action.
Al poner corchetes después del identificador en "name", sucede que se crea un array con ese name el cual se pasa por POST y puedes consultar con $_POST['cantidad']. Eso es un array.

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 27 Abr 2011 06:38 pm
Hola amigo muchas gracias por tu pronta respuesta, te comento que hice los cambios que me dijiste pero al correo me llega esto

precio = Array

ya e utilizado varias formas de hacer arrays y no logro salir de eso, nunca me muestra los valores

Por jlomss

3 de clabLevel



 

firefox
Citar            
MensajeEscrito el 28 Abr 2011 01:23 pm
a lo que se refiere DriverOp es que estas creando un formulario por cada item que tienes lo cual es innecesario ya que solo necesitarias un formulario y lo que si necesitas repetir es los demas campos pero usando la forma de array en html, es algo mas practico y aligera el peso de la pagina resultante

Por tuadmin

Claber

598 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 28 Abr 2011 09:48 pm
DriverOp y tuadmin muchas gracias por responder, estoy tratando de hacerlo que me dicen, pero no se de que forma se esta creando un form por ITEM yo nomas veo un solo form

saludos...

Por jlomss

3 de clabLevel



 

firefox
Citar            
MensajeEscrito el 29 Abr 2011 03:03 pm
Hombre, este foreach...

Código PHP :

foreach($carro as $k => $v) { ...

encierra un tag <form>, por lo tanto por cada elemento del array $carro estás creando un formulario. Y si no nos crees, pues mira el código fuente HTML resultante en el navegador.

Por DriverOp

Claber

2510 de clabLevel



 

opera

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.