Foros del Web » Programando para Internet » PHP »

Problema con unset

Estas en el tema de Problema con unset en el foro de PHP en Foros del Web. Hola a todos: En primer lugar agradecerles a todos los que comparten sus conocimientos y nos permiten a los novatos ir avanzando poco a poco. ...
  #1 (permalink)  
Antiguo 15/09/2012, 20:35
Avatar de arya  
Fecha de Ingreso: septiembre-2012
Mensajes: 2
Antigüedad: 12 años, 3 meses
Puntos: 0
Pregunta Problema con unset

Hola a todos:
En primer lugar agradecerles a todos los que comparten sus conocimientos y nos permiten a los novatos ir avanzando poco a poco.
En segundo lugar mi problema. Estoy intentando realizar un carrito de la compra en php sin base de datos. Todo funciona bien pero al intentar borrar un producto solo funciona si tengo un producto en la cesta. Estoy empezando con php y seguro que mi error es básico pero no consigo hacerlo funcionar.
Les dejo el codigo:

carro.php
Código:
<?
session_start();
include("conect.php");
?>
<html>
<head>

 </head>
<body>
<?

  
if(isset($_GET['id'])){ 
 $_SESSION['carro'][]=array(
"id"=> $_GET['id'],
"producto"=> $_GET['producto'],
"medidas"=> $_GET['medidas'],
"precio"=> $_GET['precio'],
"cantidad"=> $_GET['cantidad'],
"fila"=> $_GET['producto']&['medidas']&['cantidad']&['precio']&['id'],
);}

		 
		 
if(isset($_SESSION['carro'])){
$totalcoste = 0;
$xTotal = 0;
	?>
<table width="800" align="center">
<tr>
<td>
Producto
</td>
<td>
Medidas
</td>
<td>
Cantidad
</td>
<td>
Precio
</td>
</tr>

<?
foreach($_SESSION['carro'] as $carro){
$fila=$carro['fila'];
$id=$carro['id'];
$producto=$carro['producto'];
$medidas=$carro['medidas'];
$cantidad=$carro['cantidad'];
$precio=$carro['precio'];
$totalcoste=$totalcoste+$precio;
$xTotal = $xTotal+$cantidad;

?>
<tr id="carro">
<td>
<?= $producto;?>
</td>
<td>
<?= $medidas;?>
</td>
<td>
<?= $cantidad;?>

<a href="borrar.php?fila=<?=$fila?>"><input type='submit' value="x"/></a>

</td>
<td>
<?= $precio;?> euros
</td>
</tr>
<?
}
?>
<tr>
<td></td>
<td></td>
<td><label class="Negrita">Total:</label></td>
<td><label class="Negrita">
<?= $totalcoste;?> euros
</label></td>
</tr>
<tr align="right"><td colspan="4">
                        
                        <a href='comprar.php'><input type='button' value='finalizar compra' /></a>
 </td></tr>
 </table>

<?
}
else{
?>
<li>Su cesta se encuentra vacía</li>
<?
}

					$_SESSION["totalcoste"] = $totalcoste;
					$_SESSION["cantidadTotal"] = $xTotal;

echo "<p>Volver a la <a href='html/collection.php' title='lista de productos'>lista de productos</a></p>";
?>

</body>
</html>

borrar.php

Código:
<?
session_start();
include("conect.php");



foreach($_SE'];
if(isset($_SESSIOSSION['carro'] as $carro){
if(isset($_GET['fila']))
$fila = $_GET['filaN['carro'][$fila])){
unset($_SESSION['carro'][$fila]);}}

 
header ("location:carro.php");

?>

Muchas gracias de antemano.

Última edición por arya; 15/09/2012 a las 20:42
  #2 (permalink)  
Antiguo 15/09/2012, 21:02
Avatar de pzin
Moderata 😈
 
Fecha de Ingreso: julio-2002
Ubicación: Islas Canarias
Mensajes: 10.489
Antigüedad: 22 años, 4 meses
Puntos: 2114
Respuesta: Problema con unset

Buenas y bienvenido a FDW.

Así a vista rápida, ¿es correcto $_SESSIOSSION[]?

Código PHP:
Ver original
  1. if(isset($_SESSIOSSION['carro'] as $carro){

Intenta usar la opción highlight > php cuando pones código, que queda un poco más amigable para leer.
__________________
(:
  #3 (permalink)  
Antiguo 15/09/2012, 21:24
Avatar de arya  
Fecha de Ingreso: septiembre-2012
Mensajes: 2
Antigüedad: 12 años, 3 meses
Puntos: 0
Respuesta: Problema con unset

Gracias por responder, el segundo código se me copió mal, lo siento. Lo vuelvo a poner

Código PHP:
Ver original
  1. <?
  2. include("conect.php");
  3. ?>
  4. <html>
  5. <head>
  6.  
  7.  </head>
  8. <body>
  9. <?
  10.  
  11.  
  12. if(isset($_GET['id'])){
  13.  $_SESSION['carro'][]=array(
  14. "id"=> $_GET['id'],
  15. "producto"=> $_GET['producto'],
  16. "medidas"=> $_GET['medidas'],
  17. "precio"=> $_GET['precio'],
  18. "cantidad"=> $_GET['cantidad'],
  19. "fila"=> $_GET['producto']&['medidas']&['cantidad']&['precio']&['id'],
  20. );}
  21.  
  22.          
  23.          
  24. if(isset($_SESSION['carro'])){
  25. $totalcoste = 0;
  26. $xTotal = 0;
  27.     ?>
  28. <table width="800" align="center">
  29. <tr>
  30. <td>
  31. Producto
  32. </td>
  33. <td>
  34. Medidas
  35. </td>
  36. <td>
  37. Cantidad
  38. </td>
  39. <td>
  40. Precio
  41. </td>
  42. </tr>
  43.  
  44. <?
  45. foreach($_SESSION['carro'] as $carro){
  46. $fila=$carro['fila'];
  47. $id=$carro['id'];
  48. $producto=$carro['producto'];
  49. $medidas=$carro['medidas'];
  50. $cantidad=$carro['cantidad'];
  51. $precio=$carro['precio'];
  52. $totalcoste=$totalcoste+$precio;
  53. $xTotal = $xTotal+$cantidad;
  54.  
  55. ?>
  56. <tr id="carro">
  57. <td>
  58. <?= $producto;?>
  59. </td>
  60. <td>
  61. <?= $medidas;?>
  62. </td>
  63. <td>
  64. <?= $cantidad;?>
  65.  
  66. <a href="borrar.php?fila=<?=$fila?>"><input type='submit' value="x"/></a>
  67.  
  68. </td>
  69. <td>
  70. <?= $precio;?> euros
  71. </td>
  72. </tr>
  73. <?
  74. }
  75. ?>
  76. <tr>
  77. <td></td>
  78. <td></td>
  79. <td><label class="Negrita">Total:</label></td>
  80. <td><label class="Negrita">
  81. <?= $totalcoste;?> euros
  82. </label></td>
  83. </tr>
  84. <tr align="right"><td colspan="4">
  85.                        
  86.                         <a href='comprar.php'><input type='button' value='finalizar compra' /></a>
  87.  </td></tr>
  88.  </table>
  89.  
  90. <?
  91. }
  92. else{
  93. ?>
  94. <li>Su cesta se encuentra vacía</li>
  95. <?
  96. }
  97.  
  98. //Campos que nos serviran para informar la cesta de lo que
  99.                     //llevamos comprados y que se mostrará en la página PRODUCTOS.
  100.                     $_SESSION["totalcoste"] = $totalcoste;
  101.                     $_SESSION["cantidadTotal"] = $xTotal;
  102.  
  103. echo "<p>Volver a la <a href='html/collection.php' title='lista de productos'>lista de productos</a></p>";
  104. ?>
  105.  
  106. </body>
  107. </html>
borrar.php
Código PHP:
Ver original
  1. <?
  2. include("conect.php");
  3.  
  4.  
  5.  
  6. foreach($_SESSION['carro'] as $carro){
  7. if(isset($_GET['fila']))
  8. $fila = $_GET['fila'];
  9. if(isset($_SESSION['carro'][$fila])){
  10. unset($_SESSION['carro'][$fila]);}}
  11.  
  12.  
  13.  
  14.  
  15.  
  16.  
  17. header ("location:carro.php");
  18.  
  19. ?>

Última edición por arya; 15/09/2012 a las 21:35

Etiquetas: html, unset
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:59.