PHP - Mandar multiples files jQuery y Ajax

 
Vista:
sin imagen de perfil
Val: 15
Ha aumentado su posición en 14 puestos en PHP (en relación al último mes)
Gráfica de PHP

Mandar multiples files jQuery y Ajax

Publicado por Manuel (8 intervenciones) el 06/03/2021 22:57:10
Hola tengo el siguiente problema espero alguien me pueda ayudar, tengo un formulario com 21 inputs y de los cuales 10 son tipo file y estoy intentando registrarlos mediante jquery ajax y php la cosa es que cuando intento subir un segundo archivo ya llega con un valor indefinido a el archivo php, el error esta en el js pero no lo veo, alguna idea ?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
$(function(){
    $('#concesionario').on('click', function (e){
        e.preventDefault(); // Evitamos que salte el enlace.
        let paqueteDeDatos = new FormData();
        paqueteDeDatos.append('nConcesion', $('#nConcesion').prop('value'));
        paqueteDeDatos.append('nombre', $('#nombre').prop('value'));
        paqueteDeDatos.append('direccion', $('#direccion').prop('value'));
        paqueteDeDatos.append('telefono', $('#telefono').prop('value'));
        paqueteDeDatos.append('unidad', $('#unidad').prop('value'));
        paqueteDeDatos.append('idRuta', $('#idRuta').prop('value'));
        paqueteDeDatos.append('idUsuario', $('#idUsuario').prop('value'));
        paqueteDeDatos.append('modelo', $('#modelo').prop('value'));
        paqueteDeDatos.append('marca', $('#marca').prop('value'));
        paqueteDeDatos.append('placa', $('#placa').prop('value'));
        paqueteDeDatos.append('motor', $('#motor').prop('value'));
        paqueteDeDatos.append('concesion', $('#concesion')[0].files[0]);
        paqueteDeDatos.append('curp', $('#curp')[0].files[1]);// es el file que llega a php como indefinido
        let destino = "conf/guardarConcesionario";
 
            $.ajax({
            url: destino,
            type: 'POST',
            contentType: false,
            data: paqueteDeDatos,
            processData: false,
            cache: false,
            success: function(resultado){
                if (resultado == 5) {
                    swal({
                    title: 'Concesion!',
                    text: 'El tipo de archivo que subio en el campo concesion no esta permitido, solo se permiten archivos con formato JPG o JPGE!',
                    timer: 6000,
                    type: "error"
                    });
                }
            },
            error: function (){
            console.log("Algo ha fallado.");
            }
            });
    });
});

el unico valor de todos que manda indefinido es el de "curp", faltan mas files pero no he pasado del segundo por lo que no estan declarados
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de joel
Val: 3.828
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Mandar multiples files jQuery y Ajax

Publicado por joel (1269 intervenciones) el 07/03/2021 11:19:57
Hola Manuel, no entiendo muy bien porque cojes el indice 1 de files en esta linea:
1
paqueteDeDatos.append('curp', $('#curp')[0].files[1]);

El usuario ha seleccionado varios archivos?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 15
Ha aumentado su posición en 14 puestos en PHP (en relación al último mes)
Gráfica de PHP

Mandar multiples files jQuery y Ajax

Publicado por Manuel (8 intervenciones) el 08/03/2021 02:56:30
Hola Joel creerás que soy un zoquete pero creí que era así y el tercer input debería de estar en la posicióno 3 y así consecutivamente y concluyó por tu pregunta que no es así podrías darme alguna pista de como debería de ser para subir los 9 archivos faltantes, tengo que hacerte saber también que soy muy nuevo en la programación jaja
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 393
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Mandar multiples files jQuery y Ajax

Publicado por Jefferson (211 intervenciones) el 08/03/2021 04:26:38
Hola perdón que me meta y con el permiso de Joel.

Pienso que sería mejor si lo haces con un file múltiple, puesto que con los 10 input si o si debes enviarlos y al estar vacío al menos uno "no es que no se pueda, pues programando puedes advertir si viene null, pero es más código innecesario"

En cambio con un múltiple puedes hacer un for en php y recoger lo que envían y es menos código.

Ahora que eres nuevo en programación te tocaría indagar y estudiar más al respecto, pero creeme es súper sencillo y fácil.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 15
Ha aumentado su posición en 14 puestos en PHP (en relación al último mes)
Gráfica de PHP

Mandar multiples files jQuery y Ajax

Publicado por Manuel (8 intervenciones) el 08/03/2021 06:19:32
He visto justamente algunos ejemplos así la cosa y es más una pregunta es que al momento de guardarlos primero les asignó un nombre que se recoge de un input de el mismo formulario ejemplo ASD123_factura.jpeg y son 10 files y cada file lleva un nombre diferente después de ASD123_ y no se si de esa manera pueda hacerlo, mira estos son los pasos primero recojo las variables de tipo texto y dentro de ellas una se toma como referencia para crear una carpeta con el mismo nombre ejemplo : ASD123 y dentro de esa carpeta meto cada uno de los files los cuales inician con ASD123_ después de el guión bajo cambia el nombre y lo hago de esa manera porque posteriormente se bajan de manera individual cada archivo y es más fácil identificarlos no se si me explique? Por eso uso un input por cada archivo de la manera que tú comentas Jefferson se podría hacer lo mismo ?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de joel
Val: 3.828
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Mandar multiples files jQuery y Ajax

Publicado por joel (1269 intervenciones) el 08/03/2021 08:47:57
Yo también creo que es mas sencillo hacerlo como dice Jefferson, siempre y cuando todos los archivos vayan a la misma carpeta, entonces solo tendrías que solicitar un texto y los archivos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de joel
Val: 3.828
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Mandar multiples files jQuery y Ajax

Publicado por joel (1269 intervenciones) el 08/03/2021 08:48:27
Si son diferentes elementos con un solo archivo, el indice siempre es el 0, que hace referencia al primera elemento.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar