Ver Mensaje Individual
  #1 (permalink)  
Antiguo 07/08/2013, 09:01
Avatar de ghiper
ghiper
 
Fecha de Ingreso: julio-2013
Ubicación: Guadalajara Jalisco
Mensajes: 80
Antigüedad: 10 años, 9 meses
Puntos: 0
Pregunta problema para agregar imagen a base de datos

Saludos.
Mi problema es que quiero cargar una imagen a mi base de datos pero que todo sea en un solo archivo y una sola base de datos para al momento de llamar el listado todo sea mas fácil de mostrar con sus respectivos datos y su imagen correspondiente mi código es el siguiente:

Código PHP:
 <form name="registrar" accept-charset="iso-8859-1" action=" " method="POST" onsubmit="return formulario(this)" class="cargabd">
    <div><label>Nombre de Producto:</label><input name="producto" type="text" size="50" ></div>
    <div><label>Marca de Producto:</label><input name="marca" type="text" size="50"></div>
       <div><label>Descripci&oacute;n de Producto:</label><textarea name="descripcion" class="textarea" rows="5" cols="39"></textarea></div>
    <div><label>Precio de Producto:</label><input name="precio" type="text" size="50" onkeydown="return decimales(this, event)"></div>
    <div><label>Cantidad de Productos:</label><input name="cantidad" type="text" size="50"></div>
    <div><label></label><input name="imagen" type="file" class="cargar-imagen"></div>
    <div> <input type="submit" name="guardar" value="Registrar Producto"/></div>    
      </form>
    <?php
    
if(isset($_POST['guardar'])){
        
$producto=$_POST['producto'];
        
$marca=$_POST['marca'];
        
$descripcion=$_POST['descripcion'];
        
$precio=$_POST['precio'];
        
$cantidad=$_POST['cantidad'];
        
$imagen=$_POST['imagen'];
$sql mysql_query("INSERT INTO productos (nombre,marca,descripcion,precio,cantidad,imagen)VALUES('$producto','$marca','$descripcion','$precio','$cantidad','$imagen');");


        if (!
$sql) {
echo 
"Fallo en la insercion de registro en la Base de Datos: " mysql_error();
}else{
    
/*echo"Los datos se agregaron correctamente!!";*/
    
header("location:cargar_productos.php");
    
mysql_free_result(); 
    }
    }


/*con este código cargo mis imágenes*/


if ($_FILES["imagen"]["error"] > 0){
  echo 
"ha ocurrido un error";
} else {
  
//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 100;
  
  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 productos (imagen) VALUES ('$nombre')") ;
        echo 
"El archivo ha sido movido exitosamente.";
        exit();
      } else { 
      echo 
"Ocurrio un error al el archivo.";
        exit();
      }
    } else {
    echo 
"El archivo " .$_FILES['imagen']['name'];  echo "<p>ya existe</p>";
    }
  } else {
   echo
"Archivo no permitido, es tipo de archivo prohibido o excede el tamano de $limite_kb Kilobytes."
        exit();
  }
}
?>
Agrego que el código con el que agrego imágenes es otro archivo lo que quiero es agregar este código al primer formulario para que todo sea uno solo.
Espero alguien me pueda ayudar, gracias de ante mano.