AJAX - Problemas con el type File en un formulario

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

Problemas con el type File en un formulario

Publicado por Miguel Pascual (2 intervenciones) el 04/03/2020 12:18:48
Problemas para que me grabe el nombre de un fichero en una BD viniendo de un formulario. Os pongo lo importante del codigo.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<form method="post" name="form" enctype="multipart/form-data" action="">  //formulario
<label for="foto">Imagen</label>
<input type="file" id="foto" name="foto" class="form-control">
<input type="button" name="art_button" id="art_button" value="Registrar" class="btn btn-success btn-lg" > //hasta aqui lo principal del formulario
 
// esto es todo lo de ajax
$("#art_button").click(function(event){
	event.preventDefault();
	var formData = new FormData();
        var files = $('#foto')[0].files[0];
        formData.append('file',files);
	$.ajax({
		url		:	"articulosalta.php",
		method	:	"POST",
		data	:	$("form").serialize(), formData,
		success	:	function(data){
   	   	         $("#art_msg").html(data);
		}
		})
	})
// el art_msg es donde me saldran los mensajes debajo del formulario

en el fichero articulosalta.php tengo
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?php
include "db.php";
$p_desc=$_POST["p_desc"];
$categoria = $_POST["categoria"];
$marca=$_POST["marca"];
$descripcion=$_POST['descripcion'];
$precio=$_POST["precio"];
$imagen=$_FILES["foto"]["name"];
$name="/^[A-Za-z0-9\s]+$/";
$number="/^[0-9]+$/";
 
if (empty($p_desc) || empty($categoria) || empty($marca) || empty($descripcion) || empty($precio) || empty($imagen)){
	echo "
		<div class='alert alert-warning'>
			<a href='#' class='close' data-dismiss='alert' aria-label='close'>&times;</a><b>Por favor rellene todos los campos</b>
		</div>
	";
	exit();
} else {
// y asi voy haciendo comparaciones de campos para que este todo correcto. Si le quito el formdata  y las variables en el ajax, me graba perfectametne el registro sin el fichero, pero al poner el fichero no me funciona, me pone undefined index foto en "articulosalta.php" linea 10
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: 87
Oro
Ha mantenido su posición en AJAX (en relación al último mes)
Gráfica de AJAX

Problemas con el type File en un formulario

Publicado por joel (30 intervenciones) el 04/03/2020 19:23:43
Hola Miguel, creo que en la linea 8 tienes el error...
en vez de:
1
$imagen=$_FILES["foto"]["name"];
Creo que tendria que ser:
1
$imagen=$_FILES["file"]["name"];
o
1
$imagen=$_FILES["file"][0]["name"];
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

Problemas con el type File en un formulario

Publicado por Miguel Pascual (2 intervenciones) el 05/03/2020 23:14:40
Pero si tengo el nombre de la imagen que se llama foto, tengo que poner ese nombre, y decirle que coja el valor por $_FILES. De todas maneras, lo he cambiado y me sigue fallando.
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