Ver Mensaje Individual
  #3 (permalink)  
Antiguo 15/10/2009, 14:09
tupio
 
Fecha de Ingreso: octubre-2009
Ubicación: Sevilla
Mensajes: 46
Antigüedad: 14 años, 6 meses
Puntos: 0
Respuesta: Dudas de sesiones y variables en php

Primero pongo:

<?
include("lib_carrito.php");
?>

Después el formulario:

<FORM ACTION="<?php echo $_SERVER['PHP_SELF']; ?>" METHOD="get">
<INPUT TYPE="hidden" NAME="producto" VALUE="Producto1">
<INPUT TYPE="hidden" NAME="id_code" VALUE="001">
<INPUT TYPE="hidden" NAME="precio" VALUE="25,00">
<TABLE WIDTH="400">
<TR>
<TD ALIGN="RIGHT">
<?php
$cantidad="";
$msg="";
if(isset($_GET["num_piezas"])) {
$cantidad=$_GET["num_piezas"];
if ($cantidad != "0") {
$_SESSION["ocarrito"]->introduce_producto($_GET["id_code"], $_GET["producto"], $_GET["precio"],$cantidad);
$msg.="Este producto se ha incluido en su cesta de la compra.";
}
else {
$msg.="Debe especificar el número de piezas !";
}
}
?>
<span style='font-size:12px;font-weight:bold;color:#F20000;'><?php echo $msg; ?></span>
<P><SELECT NAME="num_piezas" SIZE="1">
<OPTION VALUE="0"></OPTION>
<OPTION VALUE="1">Una pieza</OPTION>
<OPTION VALUE="2">Dos piezas</OPTION>
<OPTION VALUE="3">Tres piezas</OPTION>
<OPTION VALUE="4">Cuatro piezas</OPTION>
<OPTION VALUE="5">Cinco piezas</OPTION>
</SELECT></P></TD>
<TD ALIGN="RIGHT">
<P><INPUT TYPE="submit" VALUE="Añadir a la cesta"></P></TD>
</TR>
</TABLE></FORM>

Y por último un enlace para poder ver el carrito:

<A CLASS="enlaceseccion" HREF="ver-carrito.php">Vea
su aqu&iacute; su pedido online</A>

La función introduce producto incluida en la libreria es:

function introduce_producto($id_prod,$nombre_prod,$precio_p rod,$cantidad_prod){
$this->array_id_prod[$this->num_productos]=$id_prod;
$this->array_nombre_prod[$this->num_productos]=$nombre_prod;
$this->array_precio_prod[$this->num_productos]=$precio_prod;
$this->array_cantidad_prod[$this->num_productos]=$cantidad_prod;
$this->num_productos++;
}
Y en dicha libreria también hago la apertura de la sesion:

session_start();

if (!isset($_SESSION["ocarrito"])){
$_SESSION["ocarrito"] = new carrito();
}

Me lo hace bien .... pero al dar atrás en el navegador y luego volver a ver el carrito con el enlace o dando adelante en el navegador me vuelve a incluir en el carrito lo mismo que le puse al principio.

Cómo puedo limpiar las url ?? hay alguna forma más o menos establecida ?? como evito esto ??
No se ocurre nada !!