$_FILES no recoge post de formulario
Publicado por Alex (172 intervenciones) el 20/09/2020 19:57:17
Buenos dias,
vereis me pasa algo muy raro con un formulario. Tengo el siguiente codigo:
En esta pagina envio el formulario que esta dentro de una funcion switch
En esta recojo y valido los datos de la primera pagina.
Todos me los modifica salvo el dato de input file, que muestra el siguiente mensaje:
Notice: Undefined index: documentacionDiscapacidad in "ruta segunda pagina" on line 46
Necesito ayuda urgente puesto que no se que pasa, por que no me recoge ese campo del formulario?? He estado horas incluso dias y no lo veo.
Gracias de antemano
vereis me pasa algo muy raro con un formulario. Tengo el siguiente codigo:
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
43
44
<?php
session_start();
include("conexion.php");
$id = $_POST['id'];
$accion = $_POST['accion'];
switch($accion){
case "modificarDiscapacidad":
$idDiscapacidad = $_POST['idDiscapacidad'];
$SQL = "SELECT * FROM discapacidad WHERE id_discapacidad=".$idDiscapacidad;
$resultado = mysqli_query($GLOBALS['conn'],$SQL);
$filas = mysqli_fetch_array($resultado);
echo "<div>
<form method='post' action='validarDatosModificarEmpleo.php'>
<input type='hidden' value='".$id."' name='id'>
<input type='hidden' value='".$idDiscapacidad."' name='idDiscapacidad'>
<label>Tipo:</label><input type='text' value='".$filas['tipo']."' name='tipoDiscapacidad'>
<label>Grado:</label><input type='text' value='".$filas['grado']."' name='gradoDiscapacidad'>
<label>Documentación:</label><input type='file' name='documentacionDiscapacidad' multiple><br>
<button type='submit' value='modificarDiscapacidad' name='accion'>Modificar</button>
</form>
</div>";
break;
}
cerrarBD();
?>
En esta pagina envio el formulario que esta dentro de una funcion switch
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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
<?php
session_start();
include("conexion.php");
$id = $_POST['id'];
$accion = $_POST['accion'];
switch ($accion){
case "modificarDiscapacidad":
$idDiscapacidad = $_POST['idDiscapacidad'];
$tipoDiscapacidad = $_POST['tipoDiscapacidad'];
$gradoDiscapacidad = $_POST['gradoDiscapacidad'];
$documentacionDiscapacidad = $_FILES['documentacionDiscapacidad'];
//subimos la documentacion al servidor si la hubiera
$archivo = (isset ($documentacionDiscapacidad)) ? $documentacionDiscapacidad: null;
$archivo_destino = null;
if ($archivo) {
$extension = pathinfo($archivo['name'], PATHINFO_EXTENSION);
$extension = strtolower($extension);
if ($extension == "pdf")
{
$archivo_destino = "archivos/documentos/discapacidad/".basename($archivo['name']);
$archivo_ok = move_uploaded_file($archivo['tmp_name'], $archivo_destino);
}else {
echo "¡No se ha subido documentación de discapacidad!<br/>";
}
}
$SQL = "UPDATE discapacidad SET tipo=?, grado=?, ruta_documentacion=? WHERE id_discapacidad=? AND codigo_persona_discapacidad=?";
$result = mysqli_prepare($GLOBALS['conn'], $SQL);
$ok = mysqli_stmt_bind_param($result, "sssii", $tipoDiscapacidad, $gradoDiscapacidad, $archivo_destino, $idDiscapacidad, $id);
$ok = mysqli_stmt_execute($result);
if($ok==false){
echo "Error al modificar";
}else{
echo "Modificados los datos de 'Discapacidad'</br>
<a href ='empleo.php?id_personal=".base64_encode($id)."' text-decoration='none'>Volver</a>";
}
break;
}
cerrarBD();
?>
En esta recojo y valido los datos de la primera pagina.
Todos me los modifica salvo el dato de input file, que muestra el siguiente mensaje:
Notice: Undefined index: documentacionDiscapacidad in "ruta segunda pagina" on line 46
Necesito ayuda urgente puesto que no se que pasa, por que no me recoge ese campo del formulario?? He estado horas incluso dias y no lo veo.
Gracias de antemano
Valora esta pregunta


0