Foros del Web » Programando para Internet » PHP »

pasar variable de una pagina a otra

Estas en el tema de pasar variable de una pagina a otra en el foro de PHP en Foros del Web. Hola, llevo tiempo anclado en esto y no lo logro solucionar. Os explico: Tengo una página que muestra una serie de imagenes que tengo en ...
  #1 (permalink)  
Antiguo 05/01/2007, 07:14
 
Fecha de Ingreso: febrero-2005
Mensajes: 12
Antigüedad: 19 años, 2 meses
Puntos: 0
pasar variable de una pagina a otra

Hola, llevo tiempo anclado en esto y no lo logro solucionar. Os explico:
Tengo una página que muestra una serie de imagenes que tengo en una base de datos de mysql. Seria
Código:
<tr>
        <td><div align="center"><a href="pedido.php?id_imag=$id_imag"><img src="result.php?id_imag=1&tam=1" alt="Hacer un pedido de este dise&ntilde;o" border="0"  /></a></a></div></td>
        <td><div align="center"><img src="result.php?id_imag=2&tam=1"  /></div></td>
        <td><div align="center"><img src="result.php?id_imag=3&tam=1"  /></div></td>
        <td><div align="center"><img src="result.php?id_imag=4&tam=1"  /></div></td>
        <td><div align="center"><img src="result.php?id_imag=5&tam=1"  /></div></td>
      </tr>
Para mostrar las imagenes tengo una llamada a una pagina llamada resul.php que contiene el codigo para recoger las imagenes de la base de datos, que es esta:
Código:
// Parámetros para recuperar la imagen
 # Recuperamos el parámetro GET con el id único de la foto que queremos mostrar
 $id_imag = (isset($_GET["id_imag"])) ? $_GET["id_imag"] : exit();
 # Recuperamos el parámetro GET para elegir entre la miniatura o la foto real
 $tam = (isset($_GET["tam"])) ? $_GET["tam"] : 1;
 
 // Escojemos la foto real o la miniatura según la variable $tam
 switch($tam) {
  case "1":
   $campo = "imag";break;;
  case "2":
   $campo = "thumb";break;;
  default:
   $campo = "imag";break;;
 }
 
 // Recuperamos la foto de la tabla
 $sql = "SELECT $campo, mime
   FROM personas 
   WHERE id_imag = $id_imag";
   
 # Conexión a la base de datos #
$prueba = mysql_connect($hostname_prueba, $username_prueba, $password_prueba) or die(mysql_error($prueba));;
 mysql_select_db($database_prueba, $prueba) or die(mysql_error($prueba));
 
 $conn = mysql_query($sql, $prueba) or die(mysql_error($prueba));
 $datos = mysql_fetch_array($conn);
  
 // La imagen
 $imagen = $datos[0];
 // El mime type de la imagen
 $mime = $datos[1];
 
 // Gracias a esta cabecera, podemos ver la imagen 
 // que acabamos de recuperar del campo blob
 header("Content-Type: $mime");
 // Muestra la imagen
 echo $imagen; 
?>
Las imagenes me las muestra perfectamente.
Pero lo que quiero es que al hacer click sobre alguna de las imagenes me lleve a otra pagina ( pedido.php) donde pueda mostrar la imagen selecionada, y aqui es donde no logro llevar la variable id_imag de una pagina a otra.
En la pagina pedido.php llamaria a otra pagina result_ped.php que recoge la imagen de la base de datos.
result_ped.php tendria este codigo:
Código:
<?php
 
 // Parámetros para recuperar la imagen
 $id_imag = $_GET['id_imag']; 
 
 
 
 // Recuperamos la foto de la tabla
 $sql = "SELECT imag, mime
   FROM personas 
   WHERE id_imag = $id_imag";
   
 # Conexión a la base de datos
 $prueba = mysql_connect($hostname_prueba, $username_prueba, $password_prueba) or die(mysql_error($prueba));;
 mysql_select_db($database_prueba, $prueba) or die(mysql_error($prueba));
 
 $conn = mysql_query($sql, $prueba) or die(mysql_error($prueba));
 $datos = mysql_fetch_array($conn);
 
 // La imagen
 $imagen = $datos[0];
 // El mime type de la imagen
 $mime = $datos[1];
 
 // Gracias a esta cabecera, podemos ver la imagen 
 // que acabamos de recuperar del campo blob
 header("Content-Type: $mime");
 // Muestra la imagen
 echo $imagen; 
?>
La pagina pedido tendria esta parte de codigo para mostrar la imagen:
Código:
<td><div align="center"><img src="result_ped.php?id_imag=$id_imag"  /></div></td>
Y aqui surge la duda, si pongo id_imag=1 me muestra la imagen 1, pero lo que quiero es que me muestre la imagen sobre la que he hecho click en la pagina anterior, que coga la imagen de la variable $id_imag, pero no lo hace. No me recupera la variable con el GET de la pagina result_ped.php.
Bueno, ha sido un poco largo, pero queria daros la mayor información posible por si alguien me puede ayudar a solucionarlo.
Muchas gracias por vuestra atencion y ayuda.
Salu2.
  #2 (permalink)  
Antiguo 05/01/2007, 08:50
Avatar de claudiovega  
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 20 años, 6 meses
Puntos: 11
Re: pasar variable de una pagina a otra

encierra cada tag <img> dentro de los tag <a></a> pasando los datos correctos en la propiedad href, para asi crear el link apunta a un nombre de imagen como parametro.
Algo como esto:

Código:
        <td><div align="center"><a href="pagina.php?idimag=1"><img src="ruta_img1"/></a></div></td>
        <td><div align="center"><a href=""pagina.php?idimag=2"><img src="ruta_img2"/></a></div></td>
        <td><div align="center"><a href=""pagina.php?idimag=3"><img src="ruta_img3"/></a></div></td>
        <td><div align="center"><a href=""pagina.php?idimag=4"><img src="ruta_img4"/></a></div></td>
  #3 (permalink)  
Antiguo 08/01/2007, 03:54
 
Fecha de Ingreso: febrero-2005
Mensajes: 12
Antigüedad: 19 años, 2 meses
Puntos: 0
Re: pasar variable de una pagina a otra

Gracias por contestar, pero no acabo de entender como paso la variable $id_imag de una pagina a otra. Si pudieses explicarmelo mejor te lo agradezco.
Saludos.
  #4 (permalink)  
Antiguo 08/01/2007, 05:42
Avatar de xyyy7  
Fecha de Ingreso: enero-2004
Ubicación: Maracay.-
Mensajes: 637
Antigüedad: 20 años, 3 meses
Puntos: 5
Re: pasar variable de una pagina a otra

Dos Observaciones.-

1.- Posiblemente estés trabajando con los "Global Register" en OFF en el php.ini de tu servidor, y por eso no estas recogiendo las variables manera Global.- () (Note que los script que recogen variables para ser procesados, las toman de esta manera $_GET['variable'], así se asegura la entrada de la variable, trabajando con los GR en OFF)

De ser así Inténtalo así,
Cita:
<td><div align="center"><img src="result_ped.php?id_imag=<?$_GET['id_imag']?>" /></div></td>
2.- La segunda observación es que también posiblemente estés trabajando los enlaces fuera de php (Que seguramente sea lo mas probable).-

Solo haz un una prueba haciendo un link de esta manera en tu pagina pedido
Código PHP:
<?
echo '<td><div align="center"> <img src="result_ped.php id_imag='.$_GET['id_imag'].' /></div></td>';
?>

Saludos.-
__________________
Maracay Edo Aragua - Venezuela :
Mi Favorita :
http://www.MySQL.Com
  #5 (permalink)  
Antiguo 08/01/2007, 06:21
 
Fecha de Ingreso: febrero-2005
Mensajes: 12
Antigüedad: 19 años, 2 meses
Puntos: 0
Re: pasar variable de una pagina a otra

Gracias xyyy7 por tu respuesta. He probado tus dos observaciones y no me funcionan, el global_register lo tengo en on, por ello de ahí no surge el error de que no me pase la variable de una pagina a otra.
Gracias de todas las formas. seguiremos intentandolo.
Saludos.
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 21:40.