Ver Mensaje Individual
  #1 (permalink)  
Antiguo 06/04/2010, 07:28
elmenda
 
Fecha de Ingreso: diciembre-2005
Mensajes: 46
Antigüedad: 18 años, 5 meses
Puntos: 0
Exclamación Ayuda Codigo PHPTengo un problema con un codigo en php, que me tiene algo loco porque

Ayuda Codigo PHP Duplicacion de datos Sesiones

Tengo un problema con un codigo en php, que me tiene algo loco porque no se el porque del error.

Es sobre un carrito de la compra, usando sesiones.

Parto de una pagina que es un simple formulario en html donde se escogen los producos a añadir al carro de la compra, redireccionando a otra pagina.

En la pagina redireccionada, es donde voy asignando a las variables de sesion el contenido de los productos eleguidos, precios, etc....

Pero hay momentos cuando sueles escoger varios productos que se ve como la pagina se actualiza instantamente y si has cogido 2 productos te sale que has cogido 4, osea el doble siempre, es como si rapidamente se hiciera un f5, y lo que me preocupa es que no tengo ningun codigo de redireccionamiento automatico ni nada, y no lo hace siempre solo de vez en cuando y no entiendo el error.

Dejo el codigo donde asigno las variables de sesion por si alguien encuentra el error que yo no veo (He probado con variables estaticas pero nada)

Código:
<?
session_start(); 

include("conexion.php");
$db = Conectarse();

/*La variable de sesion IDE es donde almaceno los ID de los productos, es un array de sesiones*/

$x = count($_SESSION["ide"]);      

	  /*La variable k la uso para el contenido del formuarlio, son varios productos todos ellos en una lista, dicha lista es un array, de modo que si tengo 10 productos, habra un array de 10 posiciones en el que en cada una de esas posiciones contiene el contenido de esa lista*/
	   $k=0;
	   $z = count($_GET["Cajita"]) ;

		for($i=$x;$i<$z;$i++)
		{/*cajita y cantidad son los dos unicos datos que paso en el formulario*/
			$_SESSION["ide"][$i] = $_GET["Cajita"][$k];
			$_SESSION["cantidad"][$i] = $_GET["Cantidad"][$k];
			$_SESSION["numero"][$i] = $i; /*Almaceno el total de articulos comprados*/
			$k++;
			$valor = $_SESSION["ide"][$i];
		  $var = mysql_query("select * from catalogo where id like '$valor'");
			/* voy en busca del precio para ese IDE de producto mostrando en pantalla el total*/
		 	while($v = mysql_fetch_array($var))
			 {
 			 $total = $v["precio"] * $_SESSION["cantidad"][$i];
			 printf("<br>Ha escogido <b>%s</b> con un precio de %.2f € comprando %d productos a un total de %.2f €<br>",$v["producto"],$v["precio"],$_SESSION["cantidad"][$i],$total);
		    

			 }
		}	



     
?> 
Lo dicho no se porque a veces lo repite dos veces. Si alguien sabe el porque o como evitarlo que me lo diga, gracias.

Última edición por elmenda; 06/04/2010 a las 14:40