Ver Mensaje Individual
  #1 (permalink)  
Antiguo 02/04/2016, 23:56
wilson_romero
 
Fecha de Ingreso: diciembre-2015
Mensajes: 369
Antigüedad: 8 años, 4 meses
Puntos: 4
Dirección de imagen dentro de la base de datos para los usuarios

Hola amigos ya casi termino el aporte pero me a surgido algunos problemas yo que creía que con todo lo que eh aprendido podía resolver esto pero pensé hasta donde me llevo la lógica trata de esto.

Tengo un formulario donde el usuario se registra. La foto que el usuario visualiza esta grabada en una carpeta llamada imagenes la ubicación de la imagen es sugerida en el formulario donde se registra. para que tenga un idea de lo que pasa.

Código PHP:
Ver original
  1. mysql_query("INSERT INTO usuarios VALUES ('','$ip',[B]'imagenes/people.jpg'[/B],'$fecha_hora','$nick','$pass','$email')");
lo que pasa en este insert es que introduce una dirección

bueno ya el usuario se le visualiza una foto por default se llama people.jpg en la carpeta imagenes
cuando ingresa en la pagina de usuario hay unas variables de session que le dan el valor a su nombre la foto que la esta buscando en imagenes/people.jpg bueno todo bien desde ahí.
aunque tenia un problema que la imagen no me aparecia por que segun veo dentro del php las direcciones se leen según a partir donde esten si la web esta dentro de una carpeta que se llama inicio el buscara la dirección partiendo des esa carpeta si no ve dentro una carpeta que se llama imágenes no la imprimirá para resolver este hice la carpeta dentro de todo los directorio donde pedía la foto si el archivo visualizar imagen esta dentro de una carpeta que se llama sesión pues dentro le puse la carpeta con imagen, bueno... un poco tosco pero trabajo con lo que se. Luego cuando cambio la foto en editar con este codigo

Código PHP:
Ver original
  1. session_start(); // inicia la sesion
  2.  
  3. if (isset($_SESSION['email']))  // pregunta si existe la sesion si es true ejecuta lo primero
  4. {
  5.     echo "sexion exitosa <br>";
  6.     echo "<a href='cerrar_sesion.php'>Cerrar sesion </a><br>";
  7.     echo "<a href='../../funciones/editar_user/index.php'>Editar usuario </a><br>";
  8. }
  9.  
  10. else  // si el if no es cierto
  11. {
  12.     header("location: ../../index.php" );
  13. }
  14. ?>
  15. <?php
  16. $conexion = mysql_connect('localhost', 'root', '') or die("erro de conexion de base de datos");
  17. $db= mysql_select_db('roomvs',$conexion)  or die("no existe la base de datos");
  18. // codico para subir la iamgen //
  19. $rutaEnServidor = 'imagenes'; //nombre de la carpeta
  20. $rutaTemporal = $_FILES['imagen']['tmp_name'];
  21. $nombreImagen = $_FILES['imagen']['name'];
  22. $rutaDestino = $rutaEnServidor.'/'.$nombreImagen; // esto '/' pone un slash
  23. move_uploaded_file($rutaTemporal, $rutaDestino);
  24.  
  25. //mysqli_query($conexion, "UPDATE registro set  pass='$pass' where nick='$nick' ") or die ("error al actualizar");
  26. $email = $_SESSION['email'];
  27. $cambio = " UPDATE usuarios set img='$rutaDestino' where email='$email' ";
  28. $res = mysql_query($cambio,$conexion);
  29. if ($res)
  30. {
  31.     echo 'inserto con exito <font color="blue">'.$_SESSION["nick"].'!</font></b><br> ' ;
  32. }
  33. else
  34. {
  35.     echo 'no se pudo insertar los datos ';
  36. }
  37. ?>

la información se introduce en la base de datos y en el usuario que quiero pero cuando le doy hacia atras la foto no se carga con la nueva información que esta en la base de datos tengo que cerrar sesion del usuario para que se visualice y tampoco se ve la imagen hasta que entre a editar esto pasa por que la foto nueva no se sube en la carpeta del el directorio donde esta la imagen subida ya que mi codigo solo sube la imagen a una carpeta que esta dentro del mismo código donde esta la web con el código. Osea se graba en funciones/editar_user/index.php y la web del inicio es otro directorio pero visualiza la de default por que la carpeta la tengo en la dos directorio pero esto no lo puedo hacer con mi código que se grabe en dos directorio a la vez. como se hace esto de la imagen yo soy novato lo hice con lo que tenia a mano.

gracias por todo amigos este pos es un poco largo espero haberme explicado bien