Joomla.it Forum

Non solo Joomla... => Sviluppo => : james81 15 Oct 2014, 17:44:00

: Passaggio dati alla view
: james81 15 Oct 2014, 17:44:00
Ciao a tutti!

ho un problema: do un view nella quale visualizzo una mappa contenente la posizione dell'utente.
Il tutto funziona tramite un javascript il qule passa poi ad una pagina le varibili.

:
$.ajax({
                url: \"default.php\",
                type: 'POST',
                data: {'latitude' : latitude, 'longitude' : longitude },

ho inserito questo script nell view.html.php della mia vista, il problema è che non sò cosa inserire come pagina di destinazione
: Re:Passaggio dati alla view
: mmleoni 15 Oct 2014, 18:15:29
premesso che non ho capito perché sia nella view e come tu lo abbia inserito, come destinazione puoi inserire ciò che vuoi, oltre al tuo componente: od il nome di una view (differenziata o meno da quella html), o semplicemente una variabile task nel formato controller.task e quindi terminare l'esecuzione dell'applicazione nel controller. ovviamente tutto dipende da che devi fare e come lo devi fare.

ciao
: Re:Passaggio dati alla view
: james81 15 Oct 2014, 18:44:30
quello che voglio visualizzare con questa view è appunto una mappa di dove si trova l'utente e quindi necessito di avere le varibili della lat e long sotto forma di varibili php da poter utilizzare / stampare all'interno del file default.php (della mia view).
Il lavoro di calcolo delle due variabile appunto viene fatto con un javascript, il problema è appunto dove posizionare questo script, tenendo conto che lo script passa le variabili ad una pagina
: Re:Passaggio dati alla view
: mmleoni 15 Oct 2014, 19:17:47
non puoi eseguire del js prima del php né usare js lato server... hai sbagliato qualcosa nel processo.

ps: se la mappa è la classica di google, allora puoi eseguire ambo i js lato client
: Re:Passaggio dati alla view
: james81 15 Oct 2014, 22:30:47
lo script è questo:

 
:
$(document).ready(function(){     

            if (navigator.geolocation) {
                navigator.geolocation.getCurrentPosition(ajaxCall);
                       
            }else{
                alert('Il browser non supporta la geolocalizzazione');
            }

     

        function ajaxCall(position){
            var latitude = position.coords.latitude;
            var longitude = position.coords.longitude;

            $.ajax({
                url: "pagina.php",
                type: 'POST', //I want a type as POST
                data: {'latitude' : latitude, 'longitude' : longitude },
                success: function(response) {
                    $('#log').html(response);
                }
            });
        }
       
             
    });

e poi pagina.php

:
<div id="log"><?php
    
echo 'Latitude: '.$_POST['latitude'].'<br>';
    echo 
'Latitude: '.$_POST['longitude'];
    
    
?>

</div>

quello che serve a è riuscire ad avere le varibili di pagina.php utilizzabili dentro la mi vista

: Re:Passaggio dati alla view
: steganoga 16 Oct 2014, 08:56:15
ma è questo che vuoi fare?
http://www.w3schools.com/html/html5_geolocation.asp

..simpatico, pensa che io sto facendo un articolo su come "divertirsi" con questa funzionalità :)
: Re:Passaggio dati alla view
: james81 16 Oct 2014, 09:08:04
sì esatto!!
proprio quello, il problema è quello di riuscire a recuperare le due variabili long e lat per eseguire una query
: Re:Passaggio dati alla view
: steganoga 16 Oct 2014, 12:31:02
metti troppi problemi in uno.

Primo devi capire bene cosa può fare js e cosa php, dopo , tenendo conto ciò che ha detto Marco devi vedere come farlo.

Per averlo nella view non credo occorra tutto quel casino, basta stamparlo a video.
Per loggarlo è altra cosa.
quì mi sembra chiaro
http://stackoverflow.com/questions/23852413/get-geolocation-by-javascript-and-save-it-to-text-file-via-php

passi dal post e recuperi dal post nel controller, salvi col model e uccidi l'applicazione

guarda che questa funzionalità (ma un po' tutto html5) è una delle più amate dagli "hacker" perchè offre numerose possibilità di attacco.
Magari pova a leggerti qualche paper di Defcon o Blackhat così ti chiarisci le idee prima di fare danni

Quel dato non è di libero accesso e a meno che uno non sappia cos'è un pc difficilmente riesci ad ottenerlo senza il suo consenso e almeno non sia tuo fratello o abbia una motivazione più che valida per farlo non lo farà.
Dove trovi questa funzionalità abilitata è spesso nei browsers mobile perchè magari occorre ad altre applicazioni.