Ver Mensaje Individual
  #1 (permalink)  
Antiguo 16/06/2014, 07:10
Avatar de thepiratebyte
thepiratebyte
 
Fecha de Ingreso: mayo-2014
Mensajes: 13
Antigüedad: 10 años
Puntos: 0
Pregunta Motrar imagen segun usuario de sesion

Tengo estos 2 archivos: imagen_agregar.php y imagen_mostrar.php y una BD que esta mas abajo. El codigo funciona perfecto, pero lo que yo quiero es que cuando el usuario inicio sesion se vea la imagen que el subio.

Por ejemplo estaba pensando en agregar en la tabla de imagen un campo que se llame usuario, entonces una ves guardada la imagen y subida a la vista, cerramos sesion y al abrir la sesion de ese mismo usuario comparamos el K_USERNAME de la session con el usuario que subio la imagen. y coincide se deberia ver la imagen.

el codigo anda bien. Lo que no puedo hacer es esta comparacion. No me funciona habia pensado algo asi :

SELECT * FROM imagephp WHERE usuario='".$_SESSION['k_username']."' pero no me funciona. muchas gracias de antemano.

Código PHP:


########## imagen_agregar.php ##########

<html>
<body>
<?php
# Conectamos con la base de datos
$link=mysql_connect("localhost","root","123456");
mysql_select_db("imagenes",$link);
//echo "<BR>".$_FILES["userfile"]["name"];        //nombre del archivo
//echo "<BR>".$_FILES["userfile"]["type"];        //tipo
//echo "<BR>".$_FILES["userfile"]["tmp_name"];    //nombre del archivo de la imagen temporal
//echo "<BR>".$_FILES["userfile"]["size"];        //tamaño

# Comprovamos que se haya subido un fichero
if (is_uploaded_file($_FILES["userfile"]["tmp_name"]))
{
    
# Cogemos el formato de la imagen
    
if ($_FILES["userfile"]["type"]=="image/jpeg" || $_FILES["userfile"]["type"]=="image/pjpeg" || $_FILES["userfile"]["type"]=="image/gif" || $_FILES["userfile"]["type"]=="image/bmp" || $_FILES["userfile"]["type"]=="image/png")
    {
        
# Cogemos la anchura y altura de la imagen
        
$info=getimagesize($_FILES["userfile"]["tmp_name"]);
        
//echo "<BR>".$info[0]; //anchura
        //echo "<BR>".$info[1]; //altura
        //echo "<BR>".$info[2]; //1-GIF, 2-JPG, 3-PNG
        //echo "<BR>".$info[3]; //cadena de texto para el tag <img

        # Escapa caracteres especiales
        
$imagenEscapes=mysql_real_escape_string(file_get_contents($_FILES["userfile"]["tmp_name"]));

        
# Agregamos la imagen a la base de datos
        
$result=mysql_query("INSERT INTO `imagephp` (anchura,altura,tipo,imagen) VALUES (".$info[0].",".$info[1].",'".$_FILES["userfile"]["type"]."','".$imagenEscapes."')",$link);
        
# Cogemos el identificador con que se ha guardado
        
$id=mysql_insert_id();

        
# Mostramos la imagen agregada
        
echo "Imagen agregada con el id ".$id."<BR>";
        echo 
"<img src='imagen_mostrar.php?id=".$id."' width='".$info[0]."' height='".$info[1]."'>";
    }else{
        
$error="El formato de archivo tiene que ser JPG, GIF, BMP o PNG.";
    }
}else{
    
$error="No ha seleccionado ninguna imagen...";
}

if (
$error!="")
{
    echo 
"</center><P><font face='Arial' size=2 color='#ff0000'> Error: ".$error."</font><br>";
}
?>

<form ENCTYPE="multipart/form-data" action="imagen_agregar.php" method="POST">
    <INPUT NAME="userfile" TYPE="file">
    <p><input type="submit" value="Guardar Imagen">
</form>
</body>
</html>

Código PHP:



<?php
########## imagen_mostrar.php ##########
# deve recibir el id de la imagen a mostrar
 
#Conectamos con la base de datos
$link=mysql_connect("localhost","root","123456");
mysql_select_db("imagenes",$link);

# Buscamos la imagen a mostrar
$result=mysql_query("SELECT * FROM `imagephp` WHERE id=".$_GET["id"],$link);
$row=mysql_fetch_array($result);

# Mostramos la imagen
header("Content-type:".$row["tipo"]);
echo 
$row["imagen"];
?>
/*
La base de datos utilizada para el ejemplo se llama imagenes

CREATE TABLE IF NOT EXISTS `imagephp` (
`id` smallint(6) NOT NULL auto_increment,
`anchura` smallint(6) NOT NULL,
`altura` smallint(6) NOT NULL,
`tipo` char(15) NOT NULL,
`imagen` mediumblob NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
*/