Autor Tema: problema con rutas imágenes php ¿cómo escribir rutas relativas?  (Leído 12533 veces)

acer500

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 5
    • Ver Perfil
Chicos tengo un pequeño problema, cuando me logueo en el Index me debe aparecer el nombre de usuario y la foto del usuario.

A si esta estructurado esto:

Ahi esta la ruta donde se almacenan las imagenes cuando un usuario se registra
Carpeta principal -> fotos -> usuario -> imagen.png

Carpeta principal -> Index.php (se supone que me tiene que mostrar la foto del usuario).

Carpeta principal -> cliente -> tablaProductosCliente.php (ahi si me muestra la imagen del usuario).

¿por que en index.php no me aparece la imagen y en tablaProductosCliente.php si? Alguien que me ayude porfavor.
« Última modificación: 13 de Septiembre 2014, 19:01 por Alex Rodríguez »

Ogramar

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2660
    • Ver Perfil
Re:ayuda con login en php porfavor
« Respuesta #1 en: 03 de Agosto 2014, 21:17 »
Es posible que tengas un problema con las rutas de las imágenes, pero habría que ver el código para comprobarlo. Pulsa # y pega el código entre las etiquetas [ code ] ... [ / code] ó si el código es muy largo, adjunta ambos archivos pulsando en opciones adicionales y examinar para ponerlos como adjuntos. Seguramente viendo el código se pueda ver cuál es el problema

Salu2

acer500

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 5
    • Ver Perfil
Re:ayuda con login en php porfavor
« Respuesta #2 en: 03 de Agosto 2014, 21:22 »
Codigo index.php

Código: [Seleccionar]
<?php
echo "<center>";
echo "<div id='logout'>";
if (isset($_SESSION['k_username'])) {
echo "<table>";
echo "<tr>";
echo "<td><img src='".$_SESSION['k_foto']."'width='50px' height='45px'></td>";
echo "<td>Bienvenid@</td>";
echo '<td>'.$_SESSION['k_username'].'</td>';
echo '<td><div id="botonSalir"><a href="restringido/logut.php">Salir</a></div></td>';
echo "</tr>";
echo "</table>";
echo "</div>";
echo "<center>";
  }else{
  echo "<div id='tablaIniciarSesion'>";
  echo "<table>";
  echo "<tr>";
  echo '<td><div id="botonSesion"><a href="restringido/login.php">Iniciar sesión</a></div></td>';
  echo '<td><div id="botonRegistrar"><a href="restringido/registrar.php">Registrar</a></div></td>';
  echo "</tr>";
  echo "</table>";
  echo "</div>";
  echo "<br/>";
}

?>


Codigo tablaProductosCliente.php

Código: [Seleccionar]
<?php
echo "<center>";
echo "<div id='logout'>";
if (isset($_SESSION['k_username'])) {
echo "<table>";
echo "<tr>";
echo "<td><img src='".$_SESSION['k_foto']."'width='50px' height='45px'></td>";
echo "<td>Bienvenid@</td>";
echo '<td>'.$_SESSION['k_username'].'</td>';
echo '<td><div id="botonSalir"><a href="../restringido/logut.php">Salir</a></div></td>';
echo "</tr>";
echo "</table>";
echo "</div>";
echo "<center>";
  }else{
  echo "<div id='tablaIniciarSesion'>";
  echo "<table>";
  echo "<tr>";
  echo '<td><div id="botonSesion"><a href="../restringido/login.php">Iniciar sesión</a></div></td>';
  echo '<td><div id="botonRegistrar"><a href="../restringido/registrar.php">Registrar</a></div></td>';
  echo "</tr>";
  echo "</table>";
  echo "</div>";
  echo "<br/>";
}

?>

« Última modificación: 03 de Agosto 2014, 21:32 por acer500 »

acer500

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 5
    • Ver Perfil
Re:ayuda con login en php porfavor
« Respuesta #3 en: 03 de Agosto 2014, 21:36 »
A qui la carpeta principal


Codigo donde se guarda la imagen cuando el usuario se registra
Carpeta principal -> restringido -> registrar.php
Código: [Seleccionar]
$foto="../fotos/usuario/".$_FILES["foto"]['name'];
  //permite guardar datos de archivo proximos a subir
$foto_tmp=$_FILES["foto"]["tmp_name"];

if(is_uploaded_file($foto_tmp)){
move_uploaded_file($foto_tmp,$foto);
}

acer500

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 5
    • Ver Perfil
Re:ayuda con login en php porfavor
« Respuesta #4 en: 03 de Agosto 2014, 21:39 »
Codigo de validacion de usuario

Carpeta principal -> restringido -> validar_usuario.php
Código: [Seleccionar]
<?php
session_start
();
require(
"config.php");

mysql_connect($HOST,$USER,$PASS) or die ("La conexion ha fallado".mysql_error());
mysql_select_db($DB) or die ("Base de datos no existente".mysql_error());
function 
quitar($mensaje){
$nopermitidos=array("'",'\\','<','>',"\"");
$mensaje=str_replace($nopermitidos""$mensaje);
return $mensaje;

echo 
$_POST["usuario"];
echo 
$_POST["password"];
if (
trim($_POST["usuario"])!= "" && trim($_POST["password"])!="") {
//Se puede utilizar la funcion para eliminar algun caracter en especifico
//$usuario=strtolower(quitar($HTTP_POST_VARS["usuario"]));
//$password=$HTTP_POST_VARS["password"];
//Se puede convertir los a su entidad HTML aplicable con htmlentities
//echo $_POST["password"];
$usuario strtolower(htmlentities($_POST["usuario"], ENT_QUOTES));
$pass $_POST["password"];

$result mysql_query('SELECT usu_password, usu_usuario, usu_foto FROM usuario WHERE usu_usuario=\''.$usuario.'\'');
if ($row=mysql_fetch_array($result)) {
if($row["usu_password"]== $pass) {
$_SESSION["k_username"]=$row['usu_usuario'];
$_SESSION["k_foto"]=$row['usu_foto'];
/*echo 'Has sido logueado correctamente '.$_SESSION['k_username'].'<p>';
echo '<a href="index1.php">Index</a></p>';*/
header('Location:../index.php');
}else{
echo "Password incorrecto";
}
}else{
echo "Usuario no existente en la base de datos<br/>";
}
mysql_free_result($result);

}else{
echo "Debe especificar un usuario y password";
}
mysql_close();
?>


dongo

  • Intermedio
  • ***
  • Mensajes: 177
    • Ver Perfil
Re:ayuda con login en php porfavor
« Respuesta #5 en: 03 de Agosto 2014, 21:58 »
Hola, me he repasado un poco tus códigos y veo que el fichero index.php y el fichero
tablaProductosCliente.php no están en la misma carpeta, por tanto la ruta hacia la imagen es imposible que sea la misma para los dos ficheros...

¿Puede ser que vayan por ahi los tiros? Compruebalo copiando el fichero index.php a la misma carpeta que tablaProductosCliente.php y ábrelo a ver si en ese caso te muestra la imagen. Bueno ya nos cuentas.



acer500

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 5
    • Ver Perfil
Re:ayuda con login en php porfavor
« Respuesta #6 en: 03 de Agosto 2014, 22:14 »
Ese es el punto, si paso index a la carpeta donde se encuentra la de tablaProductosCliente si me va a mostrar la imagen, pero yo quiero que me aparesca en el index afuera de las carpetas. Gracias por tu ayuda.

dongo

  • Intermedio
  • ***
  • Mensajes: 177
    • Ver Perfil
Re:ayuda con login en php porfavor
« Respuesta #7 en: 03 de Agosto 2014, 22:27 »
Pues para eso yo lo que haría sería lo siguiente.

La ruta que se debe almacenar en la bbdd es la ruta desde el index, hasta la imagen,
y después en la pagina:

tablaProductosCliente.php

esta linea:

Código: [Seleccionar]
echo "<td><img src='".$_SESSION['k_foto']."'width='50px' height='45px'></td>";


debería quedar así:

Código: [Seleccionar]
echo "<td><img src='../".$_SESSION['k_foto']."'width='50px' height='45px'></td>";

Si es que el archivo tablaProductosCliente.php se encuentra por ejemplo una carpeta por encima de la principal.

Si esta en 2 niveles por encima del principal quedaría así:

Código: [Seleccionar]
echo "<td><img src='../../".$_SESSION['k_foto']."'width='50px' height='45px'></td>";

Y así sucesivamente, espero puedas solucionarlo. Un saludo!

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".