PHP - Fallo con input

 
Vista:
sin imagen de perfil
Val: 54
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Fallo con input

Publicado por Sergio (112 intervenciones) el 30/03/2020 14:20:23
Buenos días. Tengo un formulario modal que contiene diversos campos text y un input file con name imagen y id imagen. Lo mando por AJAX a un archivo que lo procesa. Hasta ayer me funcionaba pero hoy, sin cambiar nada, el fichero que procesa la información del formulario, me dice: undefinided Index imagen. ¿Por qué? Si los nombres de los campos están escritos igual. Gracias. Un saludo. Si no se entiende, luego os mando los archivos
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
sin imagen de perfil
Val: 54
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Fallo con input

Publicado por Sergio (112 intervenciones) el 30/03/2020 14:27:43
Os comento. Tengo otra parte de la página que hace lo mismo y funciona. Luego os mando los archivos. Gracias
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: 54
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Fallo con input

Publicado por Sergio (112 intervenciones) el 30/03/2020 18:34:51
Os pongo el código que hace el todo el insert

Primero el formulario modal:

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
<!-- Modal insertar -->
<div class="modal fade" id="agregarnuevosdatosmodal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
  <div class="modal-dialog" role="document">
    <div class="modal-content">
      <div class="modal-header">
        <h5 class="modal-title" id="exampleModalLabel">Nueva noticia</h5>
        <button type="button" class="close" data-dismiss="modal" aria-label="Close">
          <span aria-hidden="true">&times;</span>
        </button>
      </div>
      <div class="modal-body">
            <form id="frmnuevanoticia" accept-charset="utf-8" enctype="multipart/form-data">
                <label>Título</label>
                <input type="text" class="form-control input-sm" name="titulo" id="titulo">
                <label>Noticia</label>
                <textarea class="form-control input-sm" id="noticia" name="noticia" rows="7"></textarea>
                <label>Fecha</label>
                <input type="date" class="form-control input-sm" name="fecha" id="fecha">
                <label>Autor</label>
                <input type="text" class="form-control input-sm" name="autor" id="autor">
                <label>Imagen</label>
                <input type="file" class="form-control input-sm" name="imagen" id="imagen" accept="image/*">
            </form>
      </div>
      <div class="modal-footer">
        <button type="button" class="btn btn-secondary" data-dismiss="modal">Cerrar</button>
        <button type="button" id="btnAgregarnoticia" class="btn btn-primary">Agregar nueva</button>
      </div>
    </div>
  </div>
</div>

Ahora la funcion btnAgreganoticia

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
$(document).ready(function(){
        $("#btnAgregarnoticia").on('click', function(e) {
          e.preventDefault();
 
        var form = $('#frmnuevanoticia')[0];
        var data = new FormData(form);
 
        $.ajax({
            url: 'procesos/agregar.php',
            type: 'post',
            data: data,
            cache: false,
            contentType: false,
            processData: false,
            success: function(r) {
              if (r==1){
                        $('#frmnuevo')[0].reset();
                        $('#tablaDatatable').load('procesos/tabla.php');
                        alertify.success("Agregada con éxito");
                    }else{
                        alertify.error("Error al agregar");
                    }
 
            }
 
        });
 
        return false;
 
 
    });
 
});

Y ahora el archivo agregar.php

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php
 
require_once "../clases/conexion.php";
require "../clases/crud.php";
     $obj= new crud();
 
     if (($_FILES["imagen"]["type"] == "image/pjpeg")
    || ($_FILES["imagen"]["type"] == "image/jpeg")
    || ($_FILES["imagen"]["type"] == "image/png")
    || ($_FILES["imagen"]["type"] == "image/gif")) {
        if (move_uploaded_file($_FILES["imagen"]["tmp_name"], "../images/noticias/".$_FILES['imagen']['name'])) {
 
            $datos=array(
                $_POST['titulo'],
                $_POST['noticia'],
                $_POST['fecha'],
                $_POST['autor'],
                $_FILES['imagen']['name']
     );
     echo $obj->agregar($datos);
    }
}
?>
Gracias. No funciona hoy, porque hasta ayer funcionaba perfectamente. De hecho, tengo otro script para otra categoría, y funciona perfectamente.
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: 54
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Fallo con input

Publicado por Sergio (112 intervenciones) el 30/03/2020 19:40:45
Ya lo he arreglado chavales. Estaba haciendo require_once("archivo.php") en dos ocasiones. Supongo que era eso, porque al cambiarlo por require, ha funcionado. Gracias de todas formas
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