Foros del Web » Programando para Internet » PHP »

Problema para mostrar imagenes

Estas en el tema de Problema para mostrar imagenes en el foro de PHP en Foros del Web. Hola Tengo el siguiente problema al mostrar imagenes; subo imagenes a mi base de datos y las muestro validando al usuario, pero tengo un problema ...
  #1 (permalink)  
Antiguo 13/05/2009, 20:13
 
Fecha de Ingreso: marzo-2009
Mensajes: 96
Antigüedad: 11 años
Puntos: 0
Problema para mostrar imagenes

Hola

Tengo el siguiente problema al mostrar imagenes; subo imagenes a mi base de datos y las muestro validando al usuario, pero tengo un problema que cada que se inicia sesión la pag. donde muestro las imagenes me muestra todas las imagenes subidas.
Y solo quiero mostrar las imagenes que se suben el momento, es decir un usuario inicia sesión sube 3 imagenes y ve sus 3 imagenes, termina su sesión; despues de supongamos 2 hora vuelve a iniciar sesión, sube 2 imagenes y ve sus 2 imagenes.
Con el codigo que tengo muestro todas las imagenes que haya subido el usuario es decir si inicia sesión una vez y sube 3 imagenes se muestran las 3 imagenes pero si después vuelve a iniciar sesión y sube 2 imagenes ahora se muestran 5 imagenes y no las 2 que acaba de subir.

Espero me puedan orientar!!!!!!!!!!!!!!!!

Tengo las páginas de usuario1.php y usuario2.php, la de subir imagenes y en la que las muestro (imagenes.php).
Usuario2.php (En la de usuario tengo los input donde el usuario1 ingresa sus datos)
<?php
session_start();
$_SESSION["usuario"]=$_POST["Usu"];
$_SESSION["con"]=$_POST["Contrasenia"];
if (!isset( $_POST['Usu'] )) {
header("Location: AUsuario.php");
} else {
require "BD.inc";
$conexion=conectar_bd();
$consulta="Select * from usuario where id_Usuario='{$_SESSION["usuario"]}' and clave_Usuario='{$_SESSION["con"]}'";
$datos = mysql_query($consulta, $conexion);
$numDatos = @mysql_num_rows($datos);
if ($numDatos <= 0) {
echo "Error: usuario o contraseña incorrectos. O usuario no dado de alta.<br>";
} else {
require "AMenu2.php";
}
}
?>

Y en la que muestro las imagenes tengo lo siguiente (imagenes.php)
<?
session_start();
?>
<html>
<head>
<title>Documento sin t&iacute;tulo</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<?
require "BD.inc";
?>
<body bgcolor="#CCCCCC">
<?php
$conexion=conectar_bd();

if($_FILES['archivo']['name'])
{ //1
$local = $_FILES['archivo']['name'];
$remoto = $_FILES['archivo']['tmp_name'];
$extension = explode(".", $local);
$n = count($extension)-1;

$tipo=$extension[$n];//obtenemos el tipo de imagen que es
if($tipo=="jpg" || $tipo=="gif" || $tipo=="bmp")

{ //2
// La variable para la BD
$ruta = "imgs/" . $local;
if(is_uploaded_file($remoto))
{ //3
$consulta2="Select imagenes from imagenes";

$datos = mysql_query($consulta2, $conexion);

if(move_uploaded_file($remoto, $ruta)) {
mysql_query("INSERT INTO imagenes(id_Imagen, imagenes, id_Usuario) VALUES ('', '$ruta', '{$_SESSION["usuario"]}')");

}//4
else {//5
echo "Error al Mover el archivo";
}//5
} //3
else {//6
echo "Error al subir el archivo";
}
}//2
else {//7
echo "<b>El Archivo debe ser exclusivamente .jpg .gif o .bmp</b>";
} //1
}
else {
echo "<b>Por favor seleccione un Archivo</b>";
}//1

////////////////////////////

$consulta="Select * from imagenes where id_Usuario='{$_SESSION["usuario"]}'";

$rescon=mysql_query ($consulta,$conexion);
$nc=mysql_num_fields($rescon);
//echo"$nc<br>";
//Numero de registros
$nr=mysql_num_rows($rescon);
//echo"$nr";
echo "<table border=1 width='50%' height='50%'>";
echo "<tr>";

for($i=0;$i<$nc;$i++)
{

while($row=mysql_fetch_assoc($rescon)) {
echo"<tr><td>";
echo "<img src='".$row['imagenes']."' width='50' height='5 alt='50'><br></td>";

}
}
echo"</table>"; ?>

Última edición por jovanale; 13/05/2009 a las 20:22
  #2 (permalink)  
Antiguo 13/05/2009, 21:09
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 13 años, 10 meses
Puntos: 2135
Respuesta: Problema para mostrar imagenes

Podrias usar el valor de tu sesion (usando session_id()) como llave para identificar las variables que subas por sesión.

Saludos.
  #3 (permalink)  
Antiguo 13/05/2009, 21:15
 
Fecha de Ingreso: marzo-2009
Mensajes: 96
Antigüedad: 11 años
Puntos: 0
Respuesta: Problema para mostrar imagenes

Ok, gracias.

Pero no se usar muy bien las variables de sesion, me podrias explicar un poco mejor, o dónde puedo encontrar más información sobre variables de sesion
  #4 (permalink)  
Antiguo 13/05/2009, 21:17
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 13 años, 10 meses
Puntos: 2135
Respuesta: Problema para mostrar imagenes

En el Manual: http://www.php.net/session y lo que haces es por ejemplo:
Código php:
Ver original
  1. $id_usuario = $_SESSION['id_usuario'];
  2. $id_session = session_id();
  3. $query = "INSERT INTO fotos (foto, user, session) VALUES ('$foto', '$id_usuario', '$id_session')";

Saludos.
  #5 (permalink)  
Antiguo 13/05/2009, 22:01
 
Fecha de Ingreso: marzo-2009
Mensajes: 96
Antigüedad: 11 años
Puntos: 0
Hola Gastor V

Lo que pusiste para añadir sessíon_id, ya lo probe pero en la base me esta guardando siempre 1

Y no me esta mostrando las imagenes......

Última edición por GatorV; 14/05/2009 a las 13:40
  #6 (permalink)  
Antiguo 14/05/2009, 13:40
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 13 años, 10 meses
Puntos: 2135
Respuesta: Problema para mostrar imagenes

No debería, estas seguro que estas asignando correctamente el valor de session_id()?

Saludos
  #7 (permalink)  
Antiguo 14/05/2009, 17:32
 
Fecha de Ingreso: marzo-2009
Mensajes: 96
Antigüedad: 11 años
Puntos: 0
Respuesta: Problema para mostrar imagenes

Hola GastorV

Ya me esta guardando bien los datos en la base tenia un error de datos, pero no me muestra las imagenes, lo que pasa es que hice un nuevo form solo para mostrar.
Explico, puse lo que comentaste anteriormente en mi form (imagenes.php) que es donde las guardo en la Bd y las muestro en ese y me funciona bien todo.
Pero hice un nuevo form(imagenes2.php) donde hago la consulta a la base de datos para mostrar las imagenes pero no me esta validando la variable de $id_session, la pase por POST pero no me muestra nada.
En el form (imagenes.php) declare $id_session=session_id(); para poder hacer la inserción de las imagenes y demas a la base de datos y la pase por POST al otro form (imagenes2.php)

La pase por post: $id_session=$_POST ['id_session'];

En el query puse:
$query="Select * from imagenes where id_Ses='$id_session'";
  #8 (permalink)  
Antiguo 14/05/2009, 20:35
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 13 años, 10 meses
Puntos: 2135
Respuesta: Problema para mostrar imagenes

Pero session_id() es una constante, tu la puedes recuperar en todos tus archivos mientras llames a session_start() antes.

Saludos.
  #9 (permalink)  
Antiguo 15/05/2009, 07:45
 
Fecha de Ingreso: marzo-2009
Mensajes: 96
Antigüedad: 11 años
Puntos: 0
Hola

Si tengo session_start() al inicio en mi form, entonces solo debo recuperar la variable como $id_session?

o como debo hacerlo?

Última edición por GatorV; 16/05/2009 a las 19:52
  #10 (permalink)  
Antiguo 16/05/2009, 19:52
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 13 años, 10 meses
Puntos: 2135
Respuesta: Problema para mostrar imagenes

Cuando pongas session_start() despues puedes hacer uso de session_id().

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 01:34.