Ver Mensaje Individual
  #2 (permalink)  
Antiguo 05/11/2006, 16:04
Avatar de damian0021
damian0021
 
Fecha de Ingreso: noviembre-2006
Mensajes: 101
Antigüedad: 17 años, 6 meses
Puntos: 0
A continuacion les dejo el codigo completo por si a alguien le sirve:

producto.php
Código PHP:
<?
include("lib_carrito.php");
?>

<html>
<head>
    <title>Trabajando con el carrito</title>
</head>

<body>
<div align="center">
  <table width="740" border="0" align="center">
    <tr> 
      <td><div align="center"> 
          <p>&nbsp;</p>
          <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><a href="ver_carrito.php">ver 
            carrito</a> </font></p>
          <p>&nbsp;</p>        
          <p>&nbsp;</p>
          <form name="form1" method="post" action="">
            <table width="740" border="0">
              <tr> 
                <td width="526" rowspan="2" align="center" valign="middle"><div align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">imagen 
                    de la remera</font></div></td>
                <td width="198"><p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><strong>Nombre 
                    de la remera</strong><br>
                    Peque&ntilde;a descripcci&oacute;n:<br>
                    <br>
                    Precio: $35</font></p>
                  <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Elegir 
                    Talle: <br>
                    <select name="talle" id="select2">
                      <option value=" Talle S (small)">S (small)</option>
                      <option value=" Talle M (medium)">M (medium)</option>
                      <option value=" Talle L (large)">L (large)</option>
                      <option value=" Talle XL (extra large)">XL (extra large)</option>
                    </select>
                    (ver talles) </font></p>
                  <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Elegir 
                    Color:<br>
                    <select name="color" id="select3">
                      <option value=" color negro">negro</option>
                      <option value=" color blanco">blanco</option>
                      <option value=" color rojo">rojo</option>
                      <option value=" color amarillo">amarillo</option>
                      <option value=" color naranja">naranja</option>
                      <option value=" color verde">verde</option>
                    </select>
                    </font></p>
                  <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Cantidad: 
                    <input type="value" name="agregar1" value="1" size="3">
                    <br>
                    <br>
                    </font></p></td>
              </tr>
              <tr> 
                <td><div align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">
                 <a href='mete_producto.php?id=12 & nombre=Buitre Team & talle=document.itemsform.talle.value & color=document.itemsform.color.value & precio=35'>     
                Agregar al Carrito</a></font></div></td>
              </tr>
            </table>
          </form>
          <p><br>
            <br>
          </p>
          </div></td>
    </tr>
  </table>
  
</div>
</body>
</html>
mete_producto.php
Código PHP:
<?
include("lib_carrito.php");
$_SESSION["ocarrito"]->introduce_producto($_GET["id"], $_GET["nombre"], $_GET["talle"], $_GET["color"], $_GET["precio"]);
?>

<html>
<head>
    <title>Introduce Producto</title>
</head>

<body>
<div align="center"></div>
<table width="740" border="0" align="center">
  <tr>
    <td align="center"><div align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Producto 
        introducido. <br>
        <br>
        <a href="index.php">Volver</a> <br>
        <br>
        <a href="ver_carrito.php">Ver carrito</a> </font></div>
</td>
  </tr>
</table>
<div align="center"></div>
</body>
</html>
ver_carrito.php
Código PHP:
<?
include("lib_carrito.php");
?>

<html>
<head>
    <title>Introduce Producto</title>
    <style type="text/css">
    .body {
    font-family: Verdana;
    font-size: 10pt;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    color: #000000;
    }

    .td {
    font-family: Verdana;
    font-size: 10pt;
    font-style: normal;
    line-height: normal;
    font-weight: normal;
    font-variant: normal;
    color: #000000;
    }
    </style>
</head>

<body>
<table width="740" border="0" align="center">
  <tr>
    <td align="center"> 
      <?
$_SESSION
["ocarrito"]->imprime_carrito();
?>
      <p align="center"><br>
      </p>
      <p align="center"><a href="formulario.php"><font size="2" face="Verdana">Hacer 
        compra</font></a><font size="2" face="Verdana"><br>
        <a href="index.php">Volver</a> </font></p>
</td>
  </tr>
</table>
<p>&nbsp;</p>
</body>
</html>
lil_carrito.php
Código PHP:
<?
class carrito {
    
//atributos de la clase
       
var $num_productos;
       var 
$array_id_prod;
       var 
$array_nombre_prod;
       var 
$array_talle_prod;
       var 
$array_color_prod;
       var 
$array_precio_prod;


    
//constructor. Realiza las tareas de inicializar los objetos cuando se instancian
    //inicializa el numero de productos a 0
    
function carrito () {
           
$this->num_productos=0;
    }
    
    
//Introduce un producto en el carrito. Recibe los datos del producto
    //Se encarga de introducir los datos en los arrays del objeto carrito
    //luego aumenta en 1 el numero de productos
    
function introduce_producto($id_prod,$nombre_prod,$talle_prod,$color_prod,$precio_prod){
        
$this->array_id_prod[$this->num_productos]=$id_prod;
        
$this->array_nombre_prod[$this->num_productos]=$nombre_prod;
        
$this->array_talle_prod[$this->num_productos]=$talle_prod;
        
$this->array_color_prod[$this->num_productos]=$color_prod;
        
$this->array_precio_prod[$this->num_productos]=$precio_prod;
        
$this->num_productos++;
    }

    
//Muestra el contenido del carrito de la compra
    //ademas pone los enlaces para eliminar un producto del carrito
    
function imprime_carrito(){
        
$suma 0;
        echo 
'<table border=1 cellpadding="3">
              <tr>
                <td><b>Nombre producto</b></td>
                <td><b>Talle</b></td>
                 <td><b>Color</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){
                echo 
'<tr>';
                echo 
"<td>" $this->array_nombre_prod[$i] . "</td>";
                echo 
"<td>" $this->array_talle_prod[$i] . "</td>";
                echo 
"<td>" $this->array_color_prod[$i] . "</td>";                
                echo 
"<td>" $this->array_precio_prod[$i] . "</td>";
                echo 
"<td><a href='eliminar_producto.php?linea=$i'>Eliminar producto</td>";
                echo 
'</tr>';
                
$suma += $this->array_precio_prod[$i];
            }
        }
        
//muestro el total
        
echo "<tr> <td><b>TOTAL:</b></td> <td>&nbsp;</td> <td>&nbsp;</td> <td><b>$suma</b></td> <td>&nbsp;</td> </tr>";
        
//total más IVA
        
echo "<tr> <td><b>IVA (16%):</b></td> <td>&nbsp;</td> <td>&nbsp;</td> <td><b>" $suma 1.16 "</b></td> <td>&nbsp;</td> </tr>";
        echo 
"</table>";
    }
    
    
// gemera el carrito para mandar por mail
    
function _genera_carrito(){  
        
$suma 0;  
        
$carrito '<table border=1 cellpadding="3">  
              <tr>  
                <td><b>Nombre producto</b></td>  
                <td><b>Precio</b></td>                  
              </tr>'
;  
        for (
$i=0;$i<$this->num_productos;$i++){  
            if(
$this->array_id_prod[$i]!=0){  
                
$carrito .= '<tr>';  
                
$carrito .= "<td>" $this->array_nombre_prod[$i] . "</td>";  
                
$carrito .= "<td>" $this->array_talle_prod[$i] . "</td>";  
                
$carrito .= "<td>" $this->array_color_prod[$i] . "</td>";                  
                
$carrito .= "<td>" $this->array_precio_prod[$i] . "</td>";  
                
$carrito .= '</tr>';  
                
$suma += $this->array_precio_prod[$i];  
            }  
        }  
        
//muestro el total  
        
$carrito .= "<tr> <td><b>TOTAL:</b></td> <td>&nbsp;</td> <td>&nbsp;</td> <td><b>$suma</b></td> </tr>";  
        
//total más IVA  
        
$carrito .= "<tr> <td><b>IVA (21%):</b></td> <td>&nbsp;</td> <td>&nbsp;</td> <td><b>" $suma 1.21 "</b></td> </tr>";  
        
$carrito .= "</table>";  

   
// devolver el resultado al llamarse. 
   
return $carrito
    } 
    
    
//manda el mail con el carrito generado
    
function enviar_email($de,$para,$asunto,$nombre,$comentario){ 
        
// Componer el cuerpo del mensaje .. añade tus "cabeceras y pié" del mismo si corresponde + lo que el método "_genera_carrito()" ya hace por sí solo. 
                    
        
$msg "<b>Solicitud Cotización</b><br><br>"
        
$msg .= "<br>";
        
$msg .= "Nombre: " $nombre "<br>";
        
$msg .= "Email: " $de "<br>";
        
$msg .= "Comentarios: " $comentario "<br>";
        
$msg .= "<br>";
        
$msg .= $this->_genera_carrito()."<br><br>"
        
$msg .= "Fecha solicitud: ".date ("d/m/Y H:i:s"). "<br>"
        
$msg .= "Desde IP:".$_SERVER['REMOTE_ADDR']."<br>"
        

        
// Cabeceras que definen que el e-mail es de formato HTML. 
        
$cabeceras  'MIME-Version: 1.0' "\r\n"
        
$cabeceras .= 'Content-type: text/html; charset=iso-8859-1' "\r\n"

        
$cabeceras .= 'From: '$de "\r\n";
        
$cabeceras .= 'CC: '$de "\r\n";  

        
mail($para,$asunto,$msg,$cabeceras); 
    } 
    
    
//elimina un producto del carrito. recibe la linea del carrito que debe eliminar
    //no lo elimina realmente, simplemente pone a cero el id, para saber que esta en estado retirado
    
function elimina_producto($linea){
        
$this->array_id_prod[$linea]=0;
    }

//inicio la sesión
session_start();
//si no esta creado el objeto carrito en la sesion, lo creo
if (!isset($_SESSION["ocarrito"])){
    
$_SESSION["ocarrito"] = new carrito();
}
?>

Última edición por damian0021; 05/11/2006 a las 16:38