Foros del Web » Programando para Internet » PHP »

Motrar imagen segun usuario de sesion

Estas en el tema de Motrar imagen segun usuario de sesion en el foro de PHP en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 16/06/2014, 07:10
Avatar de thepiratebyte  
Fecha de Ingreso: mayo-2014
Mensajes: 13
Antigüedad: 9 años, 11 meses
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;
*/
  #2 (permalink)  
Antiguo 16/06/2014, 07:44
Avatar de hhs
hhs
Colaborador
 
Fecha de Ingreso: junio-2013
Ubicación: México
Mensajes: 2.995
Antigüedad: 10 años, 9 meses
Puntos: 379
Respuesta: Motrar imagen segun usuario de sesion

Necesitas agregar un campo para el usuario en la tabla imagephp. Ese campo generalmente es un FK a la tabla usuario o el nombre que tenga tu tabla.
__________________
Saludos
About me
Laraveles
A class should have only one reason to change.
  #3 (permalink)  
Antiguo 16/06/2014, 12:50
Avatar de thepiratebyte  
Fecha de Ingreso: mayo-2014
Mensajes: 13
Antigüedad: 9 años, 11 meses
Puntos: 0
Respuesta: Motrar imagen segun usuario de sesion

Cita:
Iniciado por hhs Ver Mensaje
Necesitas agregar un campo para el usuario en la tabla imagephp. Ese campo generalmente es un FK a la tabla usuario o el nombre que tenga tu tabla.
eso es lo que estoy haciendo pero no me funciona.
  #4 (permalink)  
Antiguo 16/06/2014, 15:02
 
Fecha de Ingreso: febrero-2013
Mensajes: 78
Antigüedad: 11 años, 2 meses
Puntos: 0
Respuesta: Motrar imagen segun usuario de sesion

No era necesario crear una tabla aparte llamada IMAGEN ,, para que luego estes comparando esta tabla con la de los usuarios registrados ...

simplemente en la tabla de tu BD donde estan todos los usuarios registrados supongamos que tu tabla se llama USUARIOS , y este tiene los campos como

: ID : Nombre , Apellido , Edad , Email , Sexo , IP , aqui tienes que agregar un campo mas que se llame avatar ... donde se almacenara la imagen de dicho usuario y para cada uno



y LISTO nada mas , asi de facil

entonces cada ves que inicies sesion sacaras todos los datos de cada campo segun del usuario que haya iniciado sesion , luego ya muestras la imagen de dicho usuario

es como decir :

Código PHP:
Ver original
  1. <?php
  2.  
  3. $Nom = $_POST['nombre'];
  4. $Pass = $_POST['Password'];
  5.  
  6.  
  7. $sql = ("SELECT * FROM USUARIOS WHERE Nombre = '$Nom'  and Password = '$Pass' " );
  8. require("connect_db.php");
  9. $guardar = mysql_query($sql);
  10.  
  11. while($row = mysql_fetch_assoc($guardar))
  12. {
  13. $Nombre = $row['Nombre']:
  14. $Sexo = $row['Sexo']:
  15. $Avatar = $row['Avatar']:
  16.  
  17. ?>
  18.  
  19. <table border="2" cellspacing="2" cellpadding="2" widht="200" height="200">
  20. <tr>
  21. <td>
  22. Nombre <?php echo $Nombre; ?>  <img src=<?php echo $Avatar ?> width="65" height="65"/></td>
  23. </tr>
  24. </table>
  25.  
  26. <?php
  27. }
  28. ?>

y listo
  #5 (permalink)  
Antiguo 16/06/2014, 19:13
Avatar de thepiratebyte  
Fecha de Ingreso: mayo-2014
Mensajes: 13
Antigüedad: 9 años, 11 meses
Puntos: 0
Exclamación Respuesta: Motrar imagen segun usuario de sesion

pudde hacerlo , se guarda perfecto en un campo blob pero en vez de verse la imagen se ven millones de letras... me alludan

Código PHP:
<?


# 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"]); 
    

        
# 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("UPDATE user_registration SET avatar='".$imagenEscapes."' WHERE usuario='".$_SESSION['k_username']."' ",$link); 
        
# Cogemos el identificador con que se ha guardado 
        
$id=mysql_insert_id(); 

}} 
?> 

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

// armo el  query
 
$result mysql_query("SELECT avatar FROM user_registration WHERE usuario='".$_SESSION['k_username']."'");

while(
$f mysql_fetch_assoc($result)){ 


 
?>
 
<table border="2" cellspacing="2" cellpadding="2" widht="200" height="200">
<tr>
<td>
<img src=<?php echo $f['avatar']; ?> width="65" height="65"/></td>
</tr>
</table>
<?
}
?>

Etiquetas: bd, mysql
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 08:45.