Comunidad de diseño web y desarrollo en internet online

Los datos no se ingresan a la Base de datos.

Citar            
MensajeEscrito el 30 Ene 2015 08:39 pm
Hola, buenas tengo una duda y espero que me la respondan, tengo un problema, es algo muy simple y es que no se ingresan los datos a mi bd. Espero que me puedan ayudar. Trata de que tengo un sistema para que los usuarios suban fotos, lo cuál funciona muy bien, pero el tema, es que quiero que en la galeria diga quien lo subió. Hice esto y no me funciona, Ahi va el codigo

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 :

					

Por Vale12

1 de clabLevel



 

chrome
Citar            
MensajeEscrito el 02 Feb 2015 12:06 pm
Pues en ninguna parte del código estás tomando la variable $_POST['usuario'] para introducirla en la base de datos.

Por otro lado en el form HTML tienes el campo input 'usuario' como disabled, eso provoca que ese campo no se envíe al servidor. Me parece que lo que quieres hacer, lo tienes que hacer con un campo input tipo "hidden"... o tomar el nombre del usuario de $_SESSION como ya lo has hecho.

Por DriverOp

Claber

2510 de clabLevel



 

opera

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.