tengo el siguiente codigo (omito las tags html que son body head title) tengo esto:
Código PHP :
<?php session_start(); $items = $_SESSION['carrito']; if(count($items)>0){ echo "<table>"; echo "<tr>"; echo "<th>Producto</th>"; echo "<th>Precio</th>"; echo "<th>Remover</th>"; echo "</tr>"; $total = 0; foreach($items as $code=>$value){ echo "<tr> "; echo "<td>". $items[$code]["name"] ."</td> "; echo "<td>\$". $items[$code]["price"] ."</td> "; echo "<td><form action='remove.php' method='post'><input type='hidden' name='code' value='". $items[$code]['code'] ."'><input type='submit' value='remove'></form></td>"; echo "</tr> "; $total+=$items[$code]["price"]; } unset($value); echo "<tr>"; echo "<td>Total: </td>"; echo "<td>\$". $total ."</td>"; echo "</tr>"; echo "<form action='https://www.sandbox.paypal.com/cgi-bin/webscr' method='post'>\n"; echo "<input name='cmd' type='hidden' value='_cart'/>\n"; echo "<input type='hidden' name='upload' value='1'>\n"; echo "<input type='hidden' name='business' value='[email protected]'>\n"; echo "<input type='hidden' name='currency_code' value='USD'>\n"; foreach($items as $code=>$value){ echo "<input name='item_name_". $items[$code]["code"] ."' type='hidden' value='". $items[$code]["name"] ."' />\n"; echo "<input name='amount_". $items[$code]["code"] ."' type='hidden' value='". $items[$code]["price"] ."' />\n"; } echo "<input type='submit' value='Comprar ahora'>\n"; echo "</form><br><br>"; }else{ echo "No hay nada en el carro"; } ?> <?php echo "<a href='shop.php'>Seguir Comprando</a>"; ?>
A grandes razgos explico
Jalo un array (multidimensional con indice alfanumerico) de una variable SESSION (carrito) hasta ahi va bien.
Despues hago la tabla para presentar el carro de compra. Sigue bien
y luego de eso genero un formulario lleno de hiddens para enviar los producto al array:
El codigo fuente que genera es este:
Código HTML :
<html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>cart</title> <link href="style.css" rel="stylesheet" type="text/css" /> </head> <body> <table><tr><th>Producto</th><th>Precio</th><th>Remover</th></tr><tr> <td>Producto1</td> <td>$2.50</td> <td><form action='remove.php' method='post'><input type='hidden' name='code' value='1'><input type='submit' value='remove'></form></td></tr> <tr> <td>Producto3</td> <td>$9.99</td> <td><form action='remove.php' method='post'><input type='hidden' name='code' value='3'><input type='submit' value='remove'></form></td></tr> <tr> <td>Producto4</td> <td>$9.99</td> <td><form action='remove.php' method='post'><input type='hidden' name='code' value='4'><input type='submit' value='remove'></form></td></tr> <tr><td>Total: </td><td>$22.48</td></tr><form action='https://www.sandbox.paypal.com/cgi-bin/webscr' method='post'> <input name='cmd' type='hidden' value='_cart'/> <input type='hidden' name='upload' value='1'> <input type='hidden' name='business' value='[email protected]'> <input type='hidden' name='currency_code' value='USD'> <input name='item_name_1' type='hidden' value='Producto1' /> <input name='amount_1' type='hidden' value='2.50' /> <input name='item_name_3' type='hidden' value='Producto3' /> <input name='amount_3' type='hidden' value='9.99' /> <input name='item_name_4' type='hidden' value='Producto4' /> <input name='amount_4' type='hidden' value='9.99' /> <input type='submit' value='Comprar ahora'> </form><br><br><a href='shop.php'>Seguir Comprando</a> </body> </html>
Segun con eso se tienen que enviar todos los productos que tengo en mi carro a paypal no?
Pero seleccionando ciertos elementos del carro me dice que el carro esta vacio (en paypal) y si pongo los que si funcionan con los que no omite los que "piensa" no existen.
Creo que es un problema con el foreach para integrar los elementos en el form porque segun lei con el primer foreah el value de $value no se borra y hay que limpiarlo ya lo hice pero nanai .
Alguien podria decirme que esta mal y si pudieran otra alternativa para hacerlo.
PS Con el formulario que puse solo se envia el primer elemento.