IF ISSET проверяет одновременно _POST и _FILES - PullRequest
0 голосов
/ 07 мая 2020

Итак, проблема в том, что здесь все работает, кроме той части, которая проверяет, что ни одна из переменных (текстовых полей) не пуста. Я имею в виду, он проверяет, что файловая часть не пуста, но не проверяет переменные. Я пробовал использовать if (isset ($ _ FILES ["archivoID"], $ _POST ["btnPro c"])), но при этом он фактически сообщает мне, что чего-то не хватает, хотя все поля были введены. Как я могу отправить ВСЕ, нажав ту же кнопку?

индекс. php

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Cálculo de Salario Final</title>

    <link rel="stylesheet" type="text/css" href="formatos.css">
    <script src="https://unpkg.com/sweetalert/dist/sweetalert.min.js"></script>
    <script type="text/javascript" src="resources/src/js/jquery-3.3.1.js"></script>
    <link rel="stylesheet" type="text/css" href="resources/css/bootstrap.css">
    <script src="resources/js/bootstrap.js"></script>    

    <script type="text/javascript">
        $(document).ready(function()
            {
                //Manda a llamar el formulario
                $('#btnLlamarForm').on("click", function()
                    {
                        $('#miModal').modal({backdrop: 'static', keyboard:false}); 
                    }
                );

                //Programación del boton del formulario
                $('#btnProc').on("click", function()
                    {
                        var destino = "procesa.php";
                        var nombre = $("#txtNombre").val();
                        var cargo = $("select#selectCar").val();
                        var salarioneto = $("#txtSal").val();
                        var edad = $("[type=number]").val();
                        var genero = $("input[name='optradio']:checked").val();
                        var myArchive = $("#archivoID").prop('files')[0]; 
                        var datosForm = new FormData(); 
                        datosForm.append("archivoID", myArchive);
                        datosForm.append("nombre",nombre);
                        datosForm.append("cargo",cargo);
                        datosForm.append("salarioneto",salarioneto);
                        datosForm.append("edad",edad);
                        datosForm.append("genero",genero);
                        console.log(myArchive);

                        $.ajax({
                            type: 'POST',
                            cache: false, 
                            contentType: false, 
                            processData: false, 
                            data: datosForm,
                            url: destino
                        }).done(function(data){
                            alert(data);
                        }).fail(function(){
                            alert("El archivo no se pudo cargar.");
                        });

                    }
                );
            }
        );
    </script>

</head>
<body>
    <div class="bg">
        <br>
        <br>
        <br>
        <div class="row">
            <div class="from-column col-md-1"></div>
            <div class="form-column col-md-2">
                <div class="form-group">
                <input type="button" id="btnLlamarForm" value="Llamar formulario" class="btn btn-lg btn-danger">
                </div>
            </div>
        </div>
    </div>

    <div id="miModal" class="modal fade show" role="dialog" aria-hidden="true">
        <div class="modal-dialog modal-lg">
            <div class="modal-content">
                <div class="modal-header">
                    <div style="width: 800px" class="form-group">
                        <h4>Información del Empleado</h4><hr>
                        <div class="form-row">
                            <div class="form-column col-md-6">
                                <div class="form-group">
                                    <label for="Nombre">Nombre Completo:</label>
                                    <input type="text" id="txtNombre" name="txtNombre" class="form-control" placeholder="Ej. Juan Jose Perez Chacón"><br>
                                </div>
                            </div>
                            <div class="form-column col-md-0"></div>
                            <div class="form-column col-md-3">
                                <div class="form-group">
                                    <label for="">Cargo:</label>
                                    <select name="cargo" class="form-control" id="selectCar">
                                        <option value="Empleado">Empleado</option>
                                        <option value="Supervisor">Supervisor</option>
                                        <option value="Gerente">Gerente</option>
                                        <option value="" selected>..Seleccione..</option>
                                    </select>
                                </div>
                             </div>
                        </div>
                        <div class="form-row">
                            <div class="form-colum col-md-4">
                                    <label for="Salario">Salario $:</label>
                                    <input type="text" name="txtSal" class="form-control" placeholder="Ej. 250.50" id="txtSal"><br>
                                </div>
                                <div class="form-column col-0"></div>
                                <div class="form-colum col-md-4">
                                    <label for="Edad">Edad:</label>
                                    <input type="number" name="txtEdad" class="form-control" placeholder="Ej. 25"><br>
                                </div>
                                <div class="form-column col-0"></div>
                                <div class="col">
                                    <label for="Genero">Género:</label><br>
                                    <div class="radio">
                                    <label><input type="radio" name="optradio" id="radMas" value="Masculino">Masculino</label>
                                    <label><input type="radio" name="optradio" id="radFem" value="Femenino">Femenino</label>
                                </div>
                            </div>
                         </div>
                         <label for="Foto">Foto</label><br>
                         <input type="file" id="archivoID"><br><br>
                         <input type="button" id="btnProc" value="Procesar información">  
                    </div>
                 </div>
            </div>
        </div>
    </div>
</body>
</html>

процесс. php

<?php
    //var_dump($_POST);

    if(isset($_FILES["archivoID"])){
        $archivo = $_FILES["archivoID"]["name"];
        $carpeta = "Archivos/";
        $name = $_POST["nombre"];
        $sucargo = $_POST["cargo"];
        $basesalary = $_POST["salarioneto"];
        $age = $_POST["edad"];
        $gender = $_POST["genero"];
        $mayusname = strtoupper($name);
        $mayusgender = strtoupper($gender);
        $mayuscargo = strtoupper($sucargo);

        echo "Sus datos ingresados fueron: 
        Nombre de Empleado: $mayusname
        Sueldo: $basesalary
        Cargo: $mayuscargo
        Género: $mayusgender
        ";

        if(move_uploaded_file($_FILES["archivoID"]["tmp_name"],$carpeta.$archivo)){
            echo "Archivo subido con éxito.";
        }else{
            echo "Error al cargar el archivo";
        } 
    }else{
        echo "Falta algún dato. Revise de nuevo.";
    }


?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...