cambiar_foto.php (En este archivo se crea el formulario para subir fotos, hay un formulario que no se puede editar y que tiene el nombre del usuario logueado, a partir de eso mando los datos del formulario al archivo para ingresar los datos a la bd y no lo hacen. Bien aca va.
Código PHP :
Código PHP :
<?php session_start(); include('acceso_db.php'); // incluímos los datos de acceso a la BD // comprobamos que se haya iniciado la sesión if(isset($_SESSION['usuario_nombre'])) { ?> <!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body> <? $usuario=($_SESSION['usuario_nombre']); // string ?> <h4>Bienvenido <?=$usuario?></h4> <form action="subir.php" method="POST" enctype="multipart/form-data"> <label for="imagen">Imagen:</label></br> <input type="file" name="imagen" id="imagen" /></br> <input type="text" value="<?=$usuario?>" name="usuario" disabled /></br> <input type="submit" name="subir" value="Subir"/></br> </form> </body> </html> <?php }else { echo "Estás accediendo a una página restringida, para ver su contenido debes estar registrado.<br /> <a href='index.php'>Ingresar O Registrarse</a>"; } ?>
Como pueden ver ahi un campo del formulario que muestra el nombre del usuario logueado.
Ahora va el archivo que se encarga de hacer la inserción de los datos en la bd y no lo hace.
Código PHP :
Código PHP :
<?php //conexion a la base de datos mysql_connect("mysql.myhosting.com.ar", "miuser_gen", "micontraseña") or die(mysql_error()) ; mysql_select_db("mibd") or die(mysql_error()) ; //comprobamos si ha ocurrido un error. if ($_FILES["imagen"]["error"] > 0){ echo "ha ocurrido un error"; } else { //ahora vamos a verificar si el tipo de archivo es un tipo de imagen permitido. //y que el tamano del archivo no exceda los 100kb $permitidos = array("image/jpg", "image/jpeg", "image/gif", "image/png"); $limite_kb = 1000000; if (in_array($_FILES['imagen']['type'], $permitidos) && $_FILES['imagen']['size'] <= $limite_kb * 1024){ //esta es la ruta donde copiaremos la imagen //recuerden que deben crear un directorio con este mismo nombre //en el mismo lugar donde se encuentra el archivo subir.php $ruta = "imagenes/" . $_FILES['imagen']['name']; //comprobamos si este archivo existe para no volverlo a copiar. //pero si quieren pueden obviar esto si no es necesario. //o pueden darle otro nombre para que no sobreescriba el actual. if (!file_exists($ruta)){ //aqui movemos el archivo desde la ruta temporal a nuestra ruta //usamos la variable $resultado para almacenar el resultado del proceso de mover el archivo //almacenara true o false $resultado = @move_uploaded_file($_FILES["imagen"]["tmp_name"], $ruta); if ($resultado){ $nombre = $_FILES['imagen']['name']; @mysql_query("INSERT INTO imagenes (imagen,usuario) VALUES ('$nombre', '$usuario')") ; echo "el archivo ha sido movido exitosamente"; } else { echo "ocurrio un error al mover el archivo."; } } else { echo $_FILES['imagen']['name'] . ", este archivo existe"; } } else { echo "archivo no permitido, es tipo de archivo prohibido o excede el tamano de $limite_kb Kilobytes"; } }
?> Obviamente cambié los datos de la conxexion a la bd. Bueno en mi punto de vista no está nada mal. Todavía no soy experimentado y puedo equivocarme y estoy seguro de que eso pasa. De contrario andaría a la perfeccion. Espero que me puedan ayudar. Muchas Gracias.
Aclaro que yo se que no se suben los datos del nombre del usuario porque al fijarme en phpmyadmin, imagen, está completo, id tambien, y solo falta usuario. Que puede ser? Gracias.
Código PHP :