Foros aprenderaprogramar.com
Aprender a programar => C, C++, C#, Java, Visual Basic, HTML, PHP, CSS, Javascript, Ajax, Joomla, MySql y más => Mensaje iniciado por: acer500 en 03 de Agosto 2014, 21:10
-
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.
-
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
-
Codigo index.php
(http://i1049.photobucket.com/albums/s395/CreatureDalla/1_zps0b83fbbd.png)
<?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
(http://i1049.photobucket.com/albums/s395/CreatureDalla/2_zps3660b531.png)
<?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/>";
}
?>
-
A qui la carpeta principal
(http://i1049.photobucket.com/albums/s395/CreatureDalla/3_zps2b64aec4.png)
Codigo donde se guarda la imagen cuando el usuario se registra
Carpeta principal -> restringido -> registrar.php
$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);
}
-
Codigo de validacion de usuario
Carpeta principal -> restringido -> validar_usuario.php
<?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();
?>
-
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.
-
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.
-
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:
echo "<td><img src='".$_SESSION['k_foto']."'width='50px' height='45px'></td>";
debería quedar así:
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í:
echo "<td><img src='../../".$_SESSION['k_foto']."'width='50px' height='45px'></td>";
Y así sucesivamente, espero puedas solucionarlo. Un saludo!