Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] mostrar foto desde base de datos

Estas en el tema de mostrar foto desde base de datos en el foro de PHP en Foros del Web. hola a todos alguien puede ayudarme en como mostrar la foto de perfil y conseguido subir la foto a base de datos pero en el ...
  #1 (permalink)  
Antiguo 05/05/2013, 10:21
all7
Invitado
 
Mensajes: n/a
Puntos:
mostrar foto desde base de datos

hola a todos alguien puede ayudarme en como mostrar la foto de perfil
y conseguido subir la foto a base de datos pero en el perfil no se muestra

codigo de subir es este

<?php
include('acceso_db.php'); // incluimos el archivo de conexión a la Base de Datos
if(isset($_POST['enviar'])) { // comprobamos que se han enviado los datos desde el formulario
// creamos una función que nos parmita validar el email
function valida_email($correo) {
if (eregi("^[_.0-9a-z-]+@[0-9a-z._-]+.[a-z]{2,4}$", $correo)) return true;
else return false;
}
// Procedemos a comprobar que los campos del formulario no estén vacíos
$sin_espacios = count_chars($_POST['usuario_nombre'], 1);
if(!empty($sin_espacios[32])) {
echo "El campo <em>usuario_nombre</em> no debe contener espacios en blanco. <a href='javascript:history.back();'>Reintentar</a>";
}elseif(empty($_POST['usuario_nombre'])) {
echo "No haz ingresado tu usuario ._.<a href='javascript:history.back();'>Reintentar</a>";
}elseif(empty($_POST['usuario_clave'])) {
echo "No haz ingresado contraseña. <a href='javascript:history.back();'>Reintentar</a>";
}elseif($_POST['usuario_clave'] != $_POST['usuario_clave_conf']) {
echo "Las contraseñas ingresadas no coinciden. <a href='javascript:history.back();'>Reintentar</a>";
}elseif(!valida_email($_POST['usuario_email'])) {
echo "El email ingresado no es válido. <a href='javascript:history.back();'>Reintentar</a>";

}elseif(empty($_POST['foto'])) {
echo "No haz ingresado tufoto ._.<a href='javascript:history.back();'>Reintentar</a>";


}else {
// "limpiamos" los campos del formulario de posibles códigos maliciosos
$usuario_nombre = mysql_real_escape_string($_POST['usuario_nombre']);
$usuario_clave = mysql_real_escape_string($_POST['usuario_clave']);
$usuario_email = mysql_real_escape_string($_POST['usuario_email']);
$foto = mysql_real_escape_string($_POST['foto']);


// comprobamos que el usuario ingresado no haya sido registrado antes
$sql = mysql_query("SELECT usuario_nombre FROM usuarios WHERE usuario_nombre='".$usuario_nombre."'");
if(mysql_num_rows($sql) > 0) {
echo "El nombre usuario elegido ya ha sido registrado anteriormente. <a href='javascript:history.back();'>Reintentar</a>";
}else {
$usuario_clave = md5($usuario_clave); // encriptamos la contraseña ingresada con md5
// ingresamos los datos a la BD
$reg = mysql_query("INSERT INTO usuarios (usuario_nombre, usuario_clave, usuario_email, foto , usuario_freg) VALUES ('".$usuario_nombre."', '".$usuario_clave."', '".$usuario_email."','".$foto."', NOW())");
if($reg) {
echo "Datos ingresados correctamente.";
}else {
echo "ha ocurrido un error y no se registraron los datos.";
}
}
}
}else {
?>

<html>

<head>

<title>Registro de Usuarios</title>



</head>

<body>

<h1>Formulario de Registro!</h1>

<form action="<?=$_SERVER['PHP_SELF']?>" method="post">
<label>Usuario:</label><br />
<input type="text" name="usuario_nombre" maxlength="15" /><br />
<label>Contraseña:</label><br />
<input type="password" name="usuario_clave" maxlength="15" /><br />
<label>Confirmar Contraseña:</label><br />
<input type="password" name="usuario_clave_conf" maxlength="15" /><br />
<label>Email:</label><br />
<input type="text" name="usuario_email" maxlength="50" /><br />



<label>foto:</label><br />

<INPUT type="file" name="foto" maxlength="1" /><br />








<input type="submit" name="enviar" value="Registrar" />

<input type="reset" value="Borrar" />
</form>
<br />
<br />
<br />
<?php
}
?>

</body>

</html>



y ahora para mostra el perfil el codigo es esta

<? include 'acceso_db.php'; ?>
<? $perfil = mysql_query("SELECT * FROM usuarios WHERE usuario_id='".$_GET['id']."'") or die(mysql_error());
if(mysql_num_rows($perfil)) { // Comprobamos que exista el registro con la ID ingresada
$row = mysql_fetch_array($perfil);
$usuario_id = $row["usuario_id"];
$usuario_nombre = $row["usuario_nombre"];
$usuario_email = $row["usuario_email"];
$usuario_freg = $row["usuario_freg"];
$foto = $row["foto"];
$twitter = $row["twitter"];
$avatar = $row["avatar"];
?>

<html>

<head>
<title>Perfil de <?=$usuario_nombre?> | Tu web</title>
</head>

<body>

<h2><? echo $nombre ?></h2>

<div id="menu">
<a href="usuarios.php">Usuarios</a> |
<a href="acceso.php">Acceso-Portal</a>
</div>

<h2>Perfil de <?=$usuario_nombre?></h2>

<p> foto:<img src= <?=$foto?></p> //aqui mostro la imagen
<br>
<p>Email: <?=$usuario_email?></p>
<p>Fecha de registro: <?=$usuario_freg?></p>

<p>Twitter: <a href="<?=twitter?>" target="_blank">Mi twitter</a></p>



</body>

</html>

<? } else { ?>

<p>El usuario o perfil que buscas no existe .-.</p>
<a href="usuarios.php"><button>Lista de usuarios</button></a>

<? } ?>


gracias
  #2 (permalink)  
Antiguo 05/05/2013, 12:05
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años
Puntos: 406
Respuesta: mostrar foto desde base de datos

Cita:
hola a todos alguien puede ayudarme en como mostrar la foto de perfil
y conseguido subir la foto a base de datos pero en el perfil no se muestra
Completamente falso, con ese código jamás podrás subir una imagen al servidor ya que:

a) no usas el enctype correcto en el form
b) en ningún momento guardas el archivo con PHP

así que no importa que hagas nunca se mostrará la imagen en el perfil, antes de continuar mejor lee un buen tutorial/manual sobre como subir archivos con PHP...
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)
  #3 (permalink)  
Antiguo 05/05/2013, 12:06
sjj
 
Fecha de Ingreso: octubre-2008
Mensajes: 213
Antigüedad: 15 años, 6 meses
Puntos: 12
Respuesta: mostrar foto desde base de datos

Si lográs guardar la ruta de la foto subida en un campo de la base de datos, alcanza con que luego muestres esa ruta. Podés hacer un select del campo que guarda la foto y luego mostrarlo en cada usuario. Podría ser algo así:

Código PHP:
$sql mysql_query("Select foto FROM usuarios where usuario_nombre=$usuario_nombre");
$muestrafoto=$row[0];
echo 
"<input type=\"image\" src=\"$muestrafoto\" name=\"fotousuario\">"
Pero primero tenés que solucionar lo que te comenta Nemutagk.
  #4 (permalink)  
Antiguo 05/05/2013, 13:37
all7
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: mostrar foto desde base de datos

Completamente falso, con ese código jamás podrás subir una imagen al servidor ya que:

a) no usas el enctype correcto en el form
b) en ningún momento guardas el archivo con PHP

así que no importa que hagas nunca se mostrará la imagen en el perfil, antes de continuar mejor lee un buen tutorial/manual sobre como subir archivos con PHP...



si logre subir las fotos de cada usuarios registrado a base de datos
pero no se muestra no es broma ni mentira
  #5 (permalink)  
Antiguo 05/05/2013, 13:47
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años
Puntos: 406
Respuesta: mostrar foto desde base de datos

¬¬ el que "guardes" el nombre del archivo no quiere decir que se suba y se guarde el archivo en el servidor, investiga que lo te deje y verás como estas equivocado...
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)
  #6 (permalink)  
Antiguo 05/05/2013, 23:44
all7
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: mostrar foto desde base de datos

gracias por la respuesta puedes ayudarme en esto como tengo que hacer para que los usuarios con el registro este pueden subir fotos de perfil , pues a una carpeta del servidor
te doy las gracias si me ayudes teneis razon cuando subo una foto me lo guarda asi con esta url

C:\\Users\\Public\\Pictures\\Sample Pictures\\Tree


pero cuando le cambio la url a esta aparece la foto


Tree.jpf

Etiquetas: formulario, foto, html, mysql, registro, select, sql, 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 18:22.