Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] no me inserta datos la ruta de las imagenes

Estas en el tema de no me inserta datos la ruta de las imagenes en el foro de PHP en Foros del Web. hola amigos: tengo un problema y es que al enviar la informacion de mi formulario no recoge la variable de la ruta donde esta una ...
  #1 (permalink)  
Antiguo 08/06/2015, 04:45
 
Fecha de Ingreso: mayo-2003
Mensajes: 194
Antigüedad: 20 años, 11 meses
Puntos: 4
no me inserta datos la ruta de las imagenes

hola amigos:

tengo un problema y es que al enviar la informacion de mi formulario no recoge la variable de la ruta donde esta una imagen para insertarla en la tabla de avisos.

este es el codigo:¿que estoy haciendo mal? seguro que unas cuantas cosas, pero es que soy nuevo y me lio un poco.

Código PHP:

<?php
include("../conexion.php");
if (isset(
$_FILES["imagen"]))
{

    
//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 1500;
    
        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 "../avisos/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)
                {
                    echo 
"el archivo ha sido movido exitosamente";
                    
                    
$insert="INSERT INTO avisos (ruta)
                    VALUES('$ruta')"
;
                    
$result=mysqli_query($link,$insert);
                } 
                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";
        }
        
        
    }
}
if(isset(
$_POST['enviar']))

{        

        
$codigo_avi=$_POST['codigo_avi'];
        
        
$fecha_avi=$_POST['fecha_avi'];
        
        
$fecha_avi_MySQL implode'-'array_reverseexplode'/'$fecha_avi ) ) ) ;
        
        
$hora_avi=$_POST['hora_avi'];
        
        
$codigo_cli=$_POST['codigo_cli'];
        
        
$servicio=$_POST['servicio'];
        
        
$urgente=$_POST['urgente'];
        
        
$reparacion=$_POST['reparacion'];
        
        
$fecha_cita=$_POST['fecha_cita'];
        
        
$fecha_cita_MySQL implode'-'array_reverseexplode'/'$fecha_cita ) ) ) ;
        
        
$hora_cita=$_POST['hora_cita'];
        
        
$importe_factura=$_POST['importe_factura'];
    
        
$mano_de_obra=$_POST['mano_de_obra'];
        
        
$materiales=$_POST['materiales'];
        
        
$precios_tecnico=$_POST['precios_tecnico'];
        
        
$precio_2=$_POST['precio_2'];
        
        
$precio_3=$_POST['precio_3'];
        
        
$codigo_tec=$_POST['codigo_tec'];
        
        
$atencion_recibida=$_POST['atencion_recibida'];
        
        
$satisfaccion_precio=$_POST['satisfaccion_precio'];
        
        
$observaciones=$_POST['observaciones'];
        
        
$finalizado=$_POST['finalizado'];

        
    
$_FILES=$_POST['imagen'];
        
        
        
        
$insert1="insert into avisos (codigo_avi,fecha_avi,hora_avi,codigo_cli,servicio,urgente,reparacion,fecha_cita,hora_cita,importe_factura,mano_de_obra,materiales,precios_tecnico,precio_2,precio_3,codigo_tec,atencion_recibida,satisfaccion_precio,observaciones,finalizado,FILES)
         values($codigo_avi,'$fecha_avi_MySQL','$hora_avi',$codigo_cli,'$servicio','$urgente','$reparacion','$fecha_cita_MySQL','$hora_cita',$importe_factura,$mano_de_obra,$materiales,$precios_tecnico,$precio_2,$precio_3,$codigo_tec,'$atencion_recibida','$satisfaccion_precio','$observaciones','$finalizado','$ruta')"
;
        
$result=mysqli_query($link,$insert1);
        
        if (
$result==1)
        { 
        
?><p align="center" style="font-size:18px"><font color="yellow"><?php echo"El Aviso con codigo $codigo_avi  se a creado con exito";?></font></p>
            <?php
        
}
        else
        {
            
?>
            <p align="center" style="font-size:18px"><font color="red"><?php echo "El Aviso con Codigo $codigo_avi no se a creado. Revisa que has introducido todos los datos";?></font></p>
            <?php
        

        
}



?>
  #2 (permalink)  
Antiguo 08/06/2015, 05:42
Avatar de gogupe  
Fecha de Ingreso: octubre-2006
Ubicación: Mallorca
Mensajes: 897
Antigüedad: 17 años, 6 meses
Puntos: 32
Respuesta: no me inserta datos la ruta de las imagenes

Asegurate de declarar bien el <form> de esta forma:

<form method="post" enctype="multipart/form-data" >
__________________
Somos una serie de acontecimiento que puede venir al caso en un momento dado.
  #3 (permalink)  
Antiguo 08/06/2015, 07:37
 
Fecha de Ingreso: mayo-2003
Mensajes: 194
Antigüedad: 20 años, 11 meses
Puntos: 4
Respuesta: no me inserta datos la ruta de las imagenes

si lo tengo puesto en form data

Código PHP:
<?php
include("../conexion.php");
if (isset(
$_FILES["imagen"]))
{

    
//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 1500;
    
        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 "../avisos/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)
                {
                    echo 
"el archivo ha sido movido exitosamente";
                    
                    
$insert="INSERT INTO avisos (ruta)
                    VALUES('$ruta')"
;
                    
$result=mysqli_query($link,$insert);
                } 
                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";
        }
        
        
    }
}
if(isset(
$_POST['enviar']))

{        

        
$codigo_avi=$_POST['codigo_avi'];
        
        
$fecha_avi=$_POST['fecha_avi'];
        
        
$fecha_avi_MySQL implode'-'array_reverseexplode'/'$fecha_avi ) ) ) ;
        
        
$hora_avi=$_POST['hora_avi'];
        
        
$codigo_cli=$_POST['codigo_cli'];
        
        
$servicio=$_POST['servicio'];
        
        
$urgente=$_POST['urgente'];
        
        
$reparacion=$_POST['reparacion'];
        
        
$fecha_cita=$_POST['fecha_cita'];
        
        
$fecha_cita_MySQL implode'-'array_reverseexplode'/'$fecha_cita ) ) ) ;
        
        
$hora_cita=$_POST['hora_cita'];
        
        
$importe_factura=$_POST['importe_factura'];
    
        
$mano_de_obra=$_POST['mano_de_obra'];
        
        
$materiales=$_POST['materiales'];
        
        
$precios_tecnico=$_POST['precios_tecnico'];
        
        
$precio_2=$_POST['precio_2'];
        
        
$precio_3=$_POST['precio_3'];
        
        
$codigo_tec=$_POST['codigo_tec'];
        
        
$atencion_recibida=$_POST['atencion_recibida'];
        
        
$satisfaccion_precio=$_POST['satisfaccion_precio'];
        
        
$observaciones=$_POST['observaciones'];
        
        
$finalizado=$_POST['finalizado'];

        
    
$_FILES=$_POST['imagen'];
        
        
        
        
$insert1="insert into avisos (codigo_avi,fecha_avi,hora_avi,codigo_cli,servicio,urgente,reparacion,fecha_cita,hora_cita,importe_factura,mano_de_obra,materiales,precios_tecnico,precio_2,precio_3,codigo_tec,atencion_recibida,satisfaccion_precio,observaciones,finalizado,FILES)
         values($codigo_avi,'$fecha_avi_MySQL','$hora_avi',$codigo_cli,'$servicio','$urgente','$reparacion','$fecha_cita_MySQL','$hora_cita',$importe_factura,$mano_de_obra,$materiales,$precios_tecnico,$precio_2,$precio_3,$codigo_tec,'$atencion_recibida','$satisfaccion_precio','$observaciones','$finalizado','$ruta')"
;
        
$result=mysqli_query($link,$insert1);
        
        if (
$result==1)
        { 
        
?><p align="center" style="font-size:18px"><font color="yellow"><?php echo"El Aviso con codigo $codigo_avi  se a creado con exito";?></font></p>
            <?php
        
}
        else
        {
            
?>
            <p align="center" style="font-size:18px"><font color="red"><?php echo "El Aviso con Codigo $codigo_avi no se a creado. Revisa que has introducido todos los datos";?></font></p>
            <?php
        

        
}



?>
<p>&nbsp;</p>
<p>&nbsp;</p>

  <form action="formavisos.php"  method="post" enctype="multipart/form-data">
  #4 (permalink)  
Antiguo 08/06/2015, 08:19
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: no me inserta datos la ruta de las imagenes

¿Y tendremos que ejecutar el código mentalmente para saber qué anda mal?

¿O podrás depurar tu código para decirnos hasta que parte deja de ejecutarse y así?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 09/06/2015, 04:40
 
Fecha de Ingreso: mayo-2003
Mensajes: 194
Antigüedad: 20 años, 11 meses
Puntos: 4
Respuesta: no me inserta datos la ruta de las imagenes

he creado una tabla donde me va a recoger la ruta de las imagenes, que asi no tengo problemas y iré llamando a esa tabla cuando quiera insertar imagenes en las paginas.

una solucion un poco chapucera pero me funciona bien. muchas gracias.

Etiquetas: fecha, formulario, imagenes, inserta, ruta, sql, tabla, variable
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:13.