Modal form, javascript, ajax and php

0

There are three steps I'm doing:

HTML > JavaScript > PHP. In one of them I'm wrong and I suspect it's in the JavaScript.

My HTML: Class Modal. Apparently it works:

<!-- Modal para solicitar evaluación de caso -->
<div class="modal fade" id="myModalEvaluacion" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
    <div class="modal-dialog modal-sm">
        <div class="modal-content">
            <form id="evaModal">            
                <div class="modal-header">
                    <button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">&times;</span><span class="sr-only">Cerrar</span></button>
                    <h4 class="modal-title" id="myModalLabel">Solicitar evaluación:</h4>
                </div>
                <!-- Campos que pertenecen a solicitar una cita para evaluación de servicio -->
                <div class="modal-body">
                    <div class="row">
                        <div class="col-md-12 form-group">
                            <input type="text" class="form-control" name="evaNombre" id="evaNombre" placeholder="Nombre" required />
                        </div>
                    </div>
                    <div class="row">
                        <div class="col-md-12 form-group">
                            <input type="text" class="form-control" name="evaApellido" id="evaApellido" placeholder="Apellido" required />
                        </div>
                    </div>
                    <div class="row">
                        <div class="col-md-12 form-group">
                            <input type="text" class="form-control" name="evaTelefono" id="evaTelefono" placeholder="Teléfono" required />
                        </div>
                    </div>
                    <div class="row">
                        <div class="col-md-12 form-group">
                            <input type="email" class="form-control" name="evaEmail" id="evaEmail" placeholder="Email" required />
                        </div>
                    </div>
                    <div class="row">
                        <div class="col-md-12 form-group">
                            <textarea class="form-control" name="evaComentario" id="evaComentario" placeholder="Comentario"></textarea>
                        </div>
                    </div>
                    <div class="row">
                        <div class="col-md-12">
                            <select class="form-control" name="evaServicio" id="evaServicio" required >
                                <option>Seleccione motivo</option>
                                <option value="1">Análisis emprarial</option>
                                <option value="2">Desarrollo Web</option>
                                <option value="3">Web Hosting</option>
                                <option value="4">Posicionamiento Web</option>
                                <option value="5">Email Marketing</option>
                                <option value="6">Videos y Animaciones 3D</option>
                                <option value="7">Otro</option>
                             </select>
                        </div>
                    </div>
                </div>
                <div class="modal-footer">
                    <input type="hidden" name="evaUrl" id="evaUrl" value="/" />
                    <button type="submit" class="btn btn-primary">Enviar</button>
                </div>
            </form>
        </div>
    </div>
</div>

Step to JavaScript. I think the error is here, but I can not stop it.

$('#myModalEvaluacion').validate({
        submitHandler: function(form){
            $('#myModalEvaluacion').modal('hide');
            //Variables
            var evaNombre = $('#evaNombre').val();
            var evaApellido = $('#evaApellido').val();
            var evaTelefono = $('#evaTelefono').val();
            var evaEmail = $('#evaEmail').val();
            var evaComentario = $('#evaComentario').val();
            var evaServicio = $('#evaServicio').val();

            $.ajax({
                type: "post",
                url: "/ingresarEva.php",
                data: {
                    query: "quote",
                    evaNombre: evaNombre,
                    evaApellido: evaApellido,
                    evaTelefono: evaTelefono,
                    evaEmail: evaEmail,
                    evaComentario: evaComentario,
                    evaServicio: evaServicio,
                }
            })
            .done(function(){
                bootbox.alert("Gracias por escribirnos. Recibimos su información y pronto estaremos en contacto.", function() {console.log("Alert Callback");})
                $('#evaNombre').val('');
                $('#evaApellido').val('');
                $('#evaTelefono').val('');
                $('#evaEmail').val('');
                $('#evaComentario').val('');
                $('#evaServicio').val('');
            })
        }
    });

And the PHP code to insert. It works but it's not getting there.

mysqli_query($link, "INSERT INTO Cita VALUES ('$evaEmail', CURRENT_TIMESTAMP, '$evaNombre', '$evaApellido', '$evaTelefono', '$evaServicio', '$evacomentario');");
mysqli_close($link); // Cerramos la conexion con la base de datos
echo 'Los datos han sido insertados en la base de datos';

Where am I committing the error in the step of variables?

    
asked by Akyna 03.06.2016 в 00:31
source

2 answers

1

I was able to solve the problem, now I have a detail with the Bootbox alert but I turned the script around and it works correctly.

 <!-- MANEJO MODAL -->
        <script type="text/javascript">
          $(document).ready(function(){
          $('#myEva').validate({
            submitHandler: function( form ){
                $('#myEva').modal('hide');
                $.post('ingresarEva.php',$('#myEva').serialize() + '&query=myEva')
               .done(function(data){
                   if( data == 'true' ){
                       bootbox.alert("Hello world!", function() {Example.show("Hello world callback");});
                       $('.form-control').val('');
                    } else {
                    bootbox.alert("Hello world!", function() {Example.show("Hello world callback");});
                    }
                   })
               }
           });  
          });
        </script>
        <!-- FIN DEL MANEJO MODAL -->
    
answered by 03.06.2016 в 14:13
0

Your error is in the PHP, in the INSERT you do not specify in which fields you are going to insert the values. Your code is like this:

mysqli_query($link, "INSERT INTO Cita VALUES ('$evaEmail', CURRENT_TIMESTAMP, '$evaNombre', '$evaApellido', '$evaTelefono', '$evaServicio', '$evacomentario');");
mysqli_close($link); // Cerramos la conexion con la base de datos
 echo 'Los datos han sido insertados en la base de datos';

When it should be like this:

mysqli_query($link, "INSERT INTO Cita ('email', 'fecha', 'nombre', 'apellido', 'telefono', 'servicio', 'comentario') VALUES ('$evaEmail', CURRENT_TIMESTAMP, '$evaNombre', '$evaApellido', '$evaTelefono', '$evaServicio', '$evacomentario')");
mysqli_close($link); // Cerramos la conexion con la base de datos
echo 'Los datos han sido insertados en la base de datos';
    
answered by 03.06.2016 в 01:22