Ver Mensaje Individual
  #4 (permalink)  
Antiguo 28/02/2007, 09:46
Avatar de ebe
ebe
 
Fecha de Ingreso: marzo-2004
Ubicación: Guatemala
Mensajes: 363
Antigüedad: 20 años, 1 mes
Puntos: 11
Re: Carrito de la compra que envie un e-mail

Primeramente dejame hacerte saber que veo llamadas a funciones y a propiedades de algun objecto que no menciones de donde vienen (ej. $this->array_nombre_prod[$i] y sus deribados de la funcion imprime_carrito() ), pero si al momento que despliegas la informacion del carrito es cuando deseas que se envie un correo electronico de la "Compra" efectuada, yo modificaria la funcion de imprime el carrito de la siguiente manera b(asandome en el codigo que me has mostrado)


<?php
session_start();

//Muestra el contenido del carrito de la compra
//ademas pone los enlaces para eliminar un producto del carrito
function imprime_carrito(){
$suma = 0;
$elcarrito .= '<table border=1 cellpadding="3">
<tr>
<td><b>Nombre producto</b></td>
<td><b>Precio</b></td>
<td>&nbsp;</td>
</tr>';

for ( $i=0;$i<$this->num_productos;$i++ ){
if( $this->array_id_prod[$i]!=0 ){
$elcarrito .= '<tr>';
$elcarrito .= "<td>" . $this->array_nombre_prod[$i] . "</td>";
$elcarrito .= "<td>" . $this->array_precio_prod[$i] . "</td>";<em></em>
$elcarrito .= "<td><a href='eliminar_producto.php?linea=$i'>Eliminar producto</td>";
$elcarrito .= '</tr>';
$suma += $this->array_precio_prod[$i];
}
}

return $elcarrito;

}
?>

al momento e mostrar tu carrito prueba hacer algo asi, suponiendo que es en este momento que deseas enviar el correo a usuario:

<?php
session_start();
include_once('archivodefuncioncarrito.php');

$header = "From: elcorreodelquienenvia \r\n";
$header .= "Return-Path: tucorreoderetorno \r\n";
$header .= "X-Priority: 3\r\n"; // Urgent message set to 1; normal set to 3
$header .= "X-Mailer: PHP/".phpversion()."\r\n";
$header .= "Content-Type: text/html; charset=iso-8859-1\r\n\n";

$carrito = imprime_carrito();

mail('aquienvaelcorreo' 'carrito', $message, $header);

// y si no es en este momento que deseas enviar el email.. puedes guardar el valor de $carrito en una variable de session y llamarla en el momento que desees enviar o bien incluir el archivo con la funcion imprime_carrito, asignar el valor a una variable y hacer el proceso que te explico arriba.

?>


<html>
<head>
<title> Introduce Producto </title>
</head>
<body>
<?php
echo $carrito;
?>
<br>
<br>
<?
// echo $carrito;
?>
<a href="index.php">Volver</a>
</body>
</html>



Hasta lo que veo esto podria ser una solucion para tu problema, lo que veo mal es que no tengas restringido (o hasta cierto modo) sabido en tu sistema quien es el que esta interactuando con tu carrito de compras (con lo cual ya tendrias el email del que interactua con tu sistema), y asi evitarias tener que poner en alguna pagina extra o e medio de tu proceso de compra un campo apra solicitar el email del navegante y hasta entonces efectuar el envio del email al usuario. mira si te ayuda en algo lo que te planteo y me cuentas.
__________________
http://dev.wsnetcorp.com

Última edición por ebe; 28/02/2007 a las 09:57