Foros del Web » Programando para Internet » PHP »

Duda con pasar variables y agregar más para seguir pasando entre paginas

Estas en el tema de Duda con pasar variables y agregar más para seguir pasando entre paginas en el foro de PHP en Foros del Web. Hola a todos! Tengo un gran dilema... Tengo una página con PRODUCTOS y cada uno de ellos tiene un link como el de abajo el ...
  #1 (permalink)  
Antiguo 17/10/2011, 12:46
 
Fecha de Ingreso: mayo-2002
Ubicación: Capital Federal
Mensajes: 630
Antigüedad: 22 años, 6 meses
Puntos: 1
Duda con pasar variables y agregar más para seguir pasando entre paginas

Hola a todos! Tengo un gran dilema...

Tengo una página con PRODUCTOS y cada uno de ellos tiene un link como el de abajo el cual envía estos datos para que se cargue el carrito de compras.

Código HTML:
CANTIDAD DE PRODUCTOS: ___
<a href="carro_agregar.php?<?php echo SID ?>&cod_articulo=<?php echo $fila['cod_articulo']; ?>&cod_categoria=<?php echo $fila['cod_categoria']; ?>" onclick="if(confirmDel() == false){return false;}" target="frame1"><img src="imagesite/carrito.png" width="150" height="35" title="Agregar al Pedido" border="0" /></a> 
¿Cómo puedo hacer para crear un campo donde pueda agregarle la cantidad que quiero cargar en el carrito?

Actualmente el archivo carro_agregar.php solo carga por defecto 1 sola unidad:
Código PHP:
session_start();
extract($_REQUEST);
    include(
'conectar.php');

    
// conexion a la base
    
$conexion mysql_connect($host_db$usuario_db$pass_db) or die ("no se ha podido conectar a la BD");
    
mysql_select_db($base_db$conexion) or die ("no se ha podido seleccionar la BD");

if(!isset(
$cantidad)){$cantidad=1;}
$qry=mysql_query("SELECT * FROM producto WHERE cod_articulo='".$cod_articulo."' AND cod_categoria='".$cod_categoria."'");
$row=mysql_fetch_array($qry);

$_SESSION['carro']

if(isset(
$_SESSION['carro']))
$carro=$_SESSION['carro'];

$carro[md5($cod_articulo)]=array('identificador'=>md5($cod_articulo),'cantidad'=>$cantidad,'unidad'=>$row['unidad'],'categoria'=>$row['categoria'],'linea'=>$row['linea'],'precio'=>$row['precio'],'cod_articulo'=>$cod_articulo,'cod_categoria'=>$cod_categoria);

$_SESSION['carro']=$carro
Desde ya muchas gracias y espero su ayuda.
Abrazo.
Marx.
__________________
"Todo lo que somos es el resultado de lo que hemos pensado". Budda.
  #2 (permalink)  
Antiguo 17/10/2011, 12:57
Avatar de JuJoGuAl  
Fecha de Ingreso: julio-2009
Ubicación: Venezuela
Mensajes: 754
Antigüedad: 15 años, 3 meses
Puntos: 19
Respuesta: Duda con pasar variables y agregar más para seguir pasando entre paginas

para pasar varaibles por url seria algo asi:

Código HTML:
<a href="carro_agregar.php?VARIABLE=<?php echo SID ?>&cod_articulo=<?php echo $fila['cod_articulo']; ?> ><img src="imagesite/carrito.png" width="150" height="35" title="Agregar al Pedido" border="0" /></a> 
y para recibir variables en la pagina CARRO_AGREGAR.php

haces esto:

Código PHP:
<?PHP
$var1
=$_GET["VARIABLE"];
$var2=$_GET["cod_articulo"];
...
?>
  #3 (permalink)  
Antiguo 17/10/2011, 13:29
 
Fecha de Ingreso: mayo-2002
Ubicación: Capital Federal
Mensajes: 630
Antigüedad: 22 años, 6 meses
Puntos: 1
Respuesta: Duda con pasar variables y agregar más para seguir pasando entre paginas

Gracias JuJoGuAl por responder pero no me has comprendido...

Ya estoy pasando las variables por url pero lo que necesito es AGREGAR un campo, un INPUT TEXT el cual REGOJA esa variable y tambien la pase, sumado a las que YA ESTAN PASANDO.

Por eso aclaré diciendo...
¿Cómo puedo hacer para crear un campo donde pueda agregarle la cantidad que quiero cargar en el carrito? =)

Ese campo tendría que pasar con las demás variables.

Gracias igualmente.
__________________
"Todo lo que somos es el resultado de lo que hemos pensado". Budda.
  #4 (permalink)  
Antiguo 17/10/2011, 13:56
Avatar de JuJoGuAl  
Fecha de Ingreso: julio-2009
Ubicación: Venezuela
Mensajes: 754
Antigüedad: 15 años, 3 meses
Puntos: 19
Respuesta: Duda con pasar variables y agregar más para seguir pasando entre paginas

bueno un campo seria asi:

<input name="XXX" type="text" id="XXX" size="30">

si colocas eso dentro de un FORM, con la variable POST puedes enviarla, ahora si quieres que un campo muestre un dato que recibes por URL (GET) seria


<input name="XXX" type="text" id="XXX" size="30" value="$_GET["variable"]">

la verdad no te estas explicando bien...
  #5 (permalink)  
Antiguo 17/10/2011, 14:29
 
Fecha de Ingreso: mayo-2002
Ubicación: Capital Federal
Mensajes: 630
Antigüedad: 22 años, 6 meses
Puntos: 1
Respuesta: Duda con pasar variables y agregar más para seguir pasando entre paginas

JuJoGuAl: nuevamente gracias por tu tiempo. Te muestro el ejemplo para ver si me explico más claramente. Es obvio que estoy cometiendo un error por eso la variable no está pasando pero te juro que no puedo darme cuenta donde está el rollo...

Desde aquí, hay que cargarle un nro. al CAMPO CANTIDAD para que la siguiente página lo procese por eso está visible. Los ocultos YA están tomando los datos de la base para que la siguiente página los procese.

Este formulario que recoge variables de una consulta y las "envía" a otra página.
Código HTML:
<form method="GET">
  <input name="cantidad" type="text" id="cantidad" size="10" value="<?php echo $_GET['cantidad'];?>">
  <input name="cod_articulo" type="hidden" value="<?php echo $fila['cod_articulo']; ?>">
  <input name="cod_categoria" type="hidden" value="<?php echo $fila['cod_categoria']; ?>">

<!--- link que debería funcionar como botón y enviar las variables por GET ---->
<a href="carro_agregar.php?<?php echo SID ?>&cod_articulo=<?php echo $fila['cod_articulo']; ?>&cod_categoria=<?php echo $fila['cod_categoria']; ?>" onclick="if(confirmDel() == false){return false;}" target="frame1"><img src="imagesite/carrito.png" width="150" height="35" title="Agregar al Pedido" border="0" /></a>

<iframe name="frame1" style="display:none"></iframe>
</form> 
Y la otra página NO me está capturando la variable $cantidad (las otras SI pasan)
Código PHP:
$cod_articulo $_GET["cod_articulo"];
$cod_categoria $_GET["cod_categoria"];
$cantidad $_GET["cantidad"]; // no pasa el dato que le cargamos en la pagina anterior

//incluímos la conexión a nuestra base de datos
if(!isset($cantidad)){$cantidad=$_GET["cantidad"];}
.....
resto del código 
Seguro te vas a reir pero no me doy cuenta xq no pasa la variable.
Gracias y saludos.
__________________
"Todo lo que somos es el resultado de lo que hemos pensado". Budda.
  #6 (permalink)  
Antiguo 17/10/2011, 14:35
Avatar de JuJoGuAl  
Fecha de Ingreso: julio-2009
Ubicación: Venezuela
Mensajes: 754
Antigüedad: 15 años, 3 meses
Puntos: 19
Respuesta: Duda con pasar variables y agregar más para seguir pasando entre paginas

Cita:
Iniciado por marx-pola Ver Mensaje
JuJoGuAl: nuevamente gracias por tu tiempo. Te muestro el ejemplo para ver si me explico más claramente. Es obvio que estoy cometiendo un error por eso la variable no está pasando pero te juro que no puedo darme cuenta donde está el rollo...

Desde aquí, hay que cargarle un nro. al CAMPO CANTIDAD para que la siguiente página lo procese por eso está visible. Los ocultos YA están tomando los datos de la base para que la siguiente página los procese.

Este formulario que recoge variables de una consulta y las "envía" a otra página.
Código HTML:
<form method="GET">
  <input name="cantidad" type="text" id="cantidad" size="10" value="<?php echo $_GET['cantidad'];?>">
  <input name="cod_articulo" type="hidden" value="<?php echo $fila['cod_articulo']; ?>">
  <input name="cod_categoria" type="hidden" value="<?php echo $fila['cod_categoria']; ?>">

<!--- link que debería funcionar como botón y enviar las variables por GET ---->
<a href="carro_agregar.php?<?php echo SID ?>&cod_articulo=<?php echo $fila['cod_articulo']; ?>&cod_categoria=<?php echo $fila['cod_categoria']; ?>" onclick="if(confirmDel() == false){return false;}" target="frame1"><img src="imagesite/carrito.png" width="150" height="35" title="Agregar al Pedido" border="0" /></a>

<iframe name="frame1" style="display:none"></iframe>
</form> 
Y la otra página NO me está capturando la variable $cantidad (las otras SI pasan)
Código PHP:
$cod_articulo $_GET["cod_articulo"];
$cod_categoria $_GET["cod_categoria"];
$cantidad $_GET["cantidad"]; // no pasa el dato que le cargamos en la pagina anterior

//incluímos la conexión a nuestra base de datos
if(!isset($cantidad)){$cantidad=$_GET["cantidad"];}
.....
resto del código 
Seguro te vas a reir pero no me doy cuenta xq no pasa la variable.
Gracias y saludos.
bueno estas enviando un dato llamado SID que hasta mal esta porque haces echo SID donde no especificas el $ que conlleva una variable ni el ; si quieres llevar la cantidad a otra pagina seria:

Código PHP:
<a href="carro_agregar.php?cantidad=<?php echo $fila['cantidad']; ?>&cod_articulo=<?php echo $fila['cod_articulo']; ?>&cod_categoria=<?php echo $fila['cod_categoria']; ?>" onclick="if(confirmDel() == false){return false;}" target="frame1"><img src="imagesite/carrito.png" width="150" height="35" title="Agregar al Pedido" border="0" /></a>
creo que es asi? al menos que la cantidad sea un valor que coloces manual mente... alli cambiaria un pelin la cosa...
  #7 (permalink)  
Antiguo 18/10/2011, 05:20
 
Fecha de Ingreso: mayo-2002
Ubicación: Capital Federal
Mensajes: 630
Antigüedad: 22 años, 6 meses
Puntos: 1
Respuesta: Duda con pasar variables y agregar más para seguir pasando entre paginas

Cita:
creo que es asi? al menos que la cantidad sea un valor que coloces manual mente... alli cambiaria un pelin la cosa...
JuJoGuAl: Claaaaaro.... es esto lo que necesito y no sé como hacerlo. El valor se está cargando manualmente .

Fíjate que aquí, en esta parte del formulario que puse más arriba, que el campo CANTIDAD es el UNICO que no recoge el valor de la base, por ende no se especifica el valor de la consulta $fila['cantidad'];

Es por eso que (mal hecho) estuve tratando de enviar ese valor de esta manera:

Código HTML:
<input name="cantidad" type="text" id="cantidad" size="10" value="<?php echo $_GET['cantidad'];?>"> 
Espero que no sea tan complicado.

Gracias nuevamente y saludos.
__________________
"Todo lo que somos es el resultado de lo que hemos pensado". Budda.
  #8 (permalink)  
Antiguo 18/10/2011, 08:17
Avatar de JuJoGuAl  
Fecha de Ingreso: julio-2009
Ubicación: Venezuela
Mensajes: 754
Antigüedad: 15 años, 3 meses
Puntos: 19
Respuesta: Duda con pasar variables y agregar más para seguir pasando entre paginas

Bueno si es un valor que colocas manualmente colocas un INPUT con el nombre cantidad:

Código PHP:
Ver original
  1. <input type="text" name="cantidad" />

pero entonces haber que me desenredo (como se me a hecho dificil entenderte )

tienes una pagina 1 donde deberia de haber un formulario donde introduces tus datos y envia a una pagina 2, donde procesas esos datos e introduces otros?

es lo que quiero aclarar, si el campo cantidad es algo que colocas manualmente debes de colocarlo en una de las paginas donde INGRESES datos..

porque todos esos campos tienen VALUES con datos que sacas de una BD y para sacar esos datos supongo yo que usas un condicional...
  #9 (permalink)  
Antiguo 18/10/2011, 08:30
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: Duda con pasar variables y agregar más para seguir pasando entre paginas

Lo que debes de hacer es no usar un link para cargar las cosas al carrito, utiliza como ya te mostraron anteriormente un formulario, donde con <input type="hidden"> declares las variables, y posteriormente tengas el link que haga el submit del formulario, así deberían de pasar todas las variables.

Por ejemplo:
Código PHP:
Ver original
  1. <form action="carro_agregar.php" method="get" id="submitForm">
  2. <input type="hidden" name="cod_articulo" value="<?php echo $fila['cod_articulo']; ?>" />
  3. <input type="text" name="cantidad" value="1" />
  4. </form>
  5.  
  6. <a href="javascript:document.getElementById('submitForm').submit();">Agregar al carrito</a>

Obvio tienes que pensar las cosas de forma un poco más optimizada para poderlo hacer con varios productos.

Saludos.

Etiquetas: mysql, pasando, seguir, variables, usuarios
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 10:00.