基于 Mysql、usando php 和 js 的地理定位数据错误 [关闭]

问题描述 投票:0回答:0

Amigos buenas noches。 Tengo un problema que aun no logro resolverlo. Por favor, les agradeceria su apoyo desde ya。在 mysql 数据基础上,问题是 queero guardar la geolocalizacion,pero no he podido。 Tengo 4 rutinas que realizan las siguientes actividades:

  1. Las dos primenas rutinas home.php que captura unos datos y dependiendo de una opcion (button) si pide foto debe ir a otra rutina para capturar la imagen del usuario(camara), esa rutina se demonina index.php .

  2. Las otras dos rutinas, una script.js, es que la hace todo el proceso de la captura de la imagen (camara) y la otra Actions.php que es la que finalmente recoge todos los datos capturados en home .php y lo de la imagen en ndex.php.

Para el proceso, en la rutina home.php que es donde capturo los datos y datos

Aqui capturo datos, como fecha, dispositivo y tipode movimiento. Ademas tengo el siguiente script que llamar el proceso Action.php, cuando el proceso no pide foto del usuario.

Osea, cuando no se pide foto, solo actuan las rutinas: home.php y Actions.php.

变种时间间隔; $(函数(){ timeInterval= setInterval(() => { var date = new Date(); var month = date.toLocaleString('default',{month:'short'}) var day = date.getDate() 日期 变种年 = date.getFullYear() var hr = String(date.getHours()).padStart(2,'0') var min = String(date.getMinutes()).padStart(2,'0') var sec = String(date.getSeconds()).padStart(2,'0') var amp = hr >= 12 ? “下午”:“上午”; hr = String(Math.floor(hr % 12)).padStart(2,'0') $('#time').text(hr+":"+min+":"+sec+" "+amp) $('#date').text(月+" "+日+", "+年) }, 500); $('.att_btn').click(函数(){ $('.att_btn').attr('禁用',true) var time = new Date("YYYY-MM-DD H:i"); $.ajax({ **url:'Actions.php?a=save_attendance', ** 方法:'POST', ** 数据:{type:$(this).attr('data-type'),time:time},** 数据类型:'json', 错误:错误=> { 控制台日志(错误) alert("发生错误") $('.att_btn').attr('禁用',false) }, 成功:函数(响应){ 如果(resp.status =='成功'){ Swal.fire({ 标题:'成功!', text: '考勤记录添加成功', 图标:“成功”, 定时器:2000, 定时器进度条:真, willClose: () => { 位置.reload() } }) }别的{ 控制台日志(响应) alert("发生错误") } $('.att_btn').attr('禁用',false) } }) }) })

en** index.php**,que es la pantalla para tomar la foto (camara),y llama a Action。 tengo esta 功能:

     $boton.addEventListener("click", function() {

                $video.pause();
                let contexto = $canvas.getContext("2d");
                $canvas.width = $video.videoWidth;
                $canvas.height = $video.videoHeight;
                contexto.drawImage($video, 0, 0, $canvas.width, $canvas.height);
                let foto = $canvas.toDataURL(); 
                $estado.innerHTML = "Sending photo. Please wait...";
                fetch("./guardar_foto.php", {
                        method: "POST",
                        body: encodeURIComponent(foto),
                        headers: {
                            "Content-type": "application/x-www-form-urlencoded",
                        }
                    })
                    .then(resultado => {
                        return resultado.text()
                    })
                    .then(nombreDeLaFoto => {
                        console.log("The photo was sent successfully");
                        $estado.innerHTML = `Photo saved successfully.`;
                        var time = new Date("YYYY-MM-DD H:i");                            
                        var urlParams = new URLSearchParams(window.location.search);
                        var nombre = urlParams.get('type');

                        // var json_data = mysqli_real_escape_string($json_data);
                        // var jsonText = ""; 
                        
                        $.ajax({
                          **  url:'../../Actions.php?a=save_attendance',**

                            method:'POST',  

                         **   data:{type:nombre,json_data,time:time,url:nombreDeLaFoto},**

                            dataType:'json',
                            error:err=>{
                                console.log(err)
                                alert("An error occurred")
                                $('.att_btn').attr('disabled',false)                                            
                            },

En script.js, tengo esta parte de codigo para el manejo de la foto:

                    .then(nombreDeLaFoto => {
                        console.log("The photo was sent successfully");
                        $estado.innerHTML = `Photo saved successfully.`;                                                  
                        var time = new Date("YYYY-MM-DD H:i");
                        var urlParams = new URLSearchParams(window.location.search);
                        var nombre = urlParams.get('type'); 
                        $.ajax({
                            url:'../../Actions.php?a=save_attendance',
                            method:'POST',
                            data:{type:nombre,time:time,url:nombreDeLaFoto},  
                            dataType:'json',

por ultimo esta Actions.php, que es donde se almacena en la base de datos:

function save_attendance(){
    extract($_POST);
    $dtype = $this->isMobileDevice() ? 'mobile' :'desktop';  
    $datetime = date("Y-m-d H:i");
    $urlImagen = isset($url) ? $url : ''; 
    $sql = "INSERT INTO `attendance`     (`employee_id`,`device_type`,`att_type`,`imagen`,`date_created`) VALUES 
    ('{$_SESSION['employee_id']}','{$dtype}','{$type}','$urlImagen','{$datetime}')";

    $save = $this->db->query($sql);
    if($save){
        $resp['status'] = 'success';
    }else{
        $resp['status'] = 'failed';
    }
    return json_encode($resp);
json variables
© www.soinside.com 2019 - 2024. All rights reserved.