Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2011
    Messaggi
    144

    Invio richiesta xml a pagina php tramite ajax

    Salve a tutti,

    sto implementando un piccolo programmino che leggendo dei dati da una tabella presente in un db sqlite, li mostra a video.
    Nello specifico ho una pagina html che manda una richiesta "POST" alla pagina index.php. Tale pagina php effettua l'inserimento dei dati nel db ma non riesce ad entrare nella
    codice:
    if(!empty($_REQUEST[XML]) && $_REQUEST[XML]=="get")
    permettendomi di generare il file XML
    Nella pagina html con l'istruzione
    codice:
    ajax.send(par);
    non invio tale parametro alla pagina php?


    file index.html
    codice:
    <html>
    <head>
    <title>GlobaliX GPRS</title>
    <link rel="stylesheet" type="text/css" href="style.css" />
    <SCRIPT src="script/function.js"></SCRIPT>
    <SCRIPT language="JavaScript" type="text/JavaScript">
      var Timer;
      //NOTE: https://developers.google.com/maps/documentation/imageapis/
      //Visualizza mappa da google
      function ShowMAP(latitude, longitude){
        var Width       = 640;
        var Height      = 640;
        var GOOGLE_KEY  = "AIzaSyDkK5hXflglDTRdRjed3cBtDc9t1EZ4ayM";
        if((document.body.clientWidth < 640) && (document.body.clientHeight < 640)){
          Width  =  document.body.clientWidth;
          Height = document.body.clientHeight;
        }
        var IMMAGE = "<img src=http://maps.googleapis.com/maps/api/staticmap?center=" + latitude + "," + longitude + "&zoom=17&size=" + Width + "x" + Height + "&maptype=mobile\&markers=" + latitude + "," + longitude + ",greeng&key=" + GOOGLE_KEY + "&sensor=false>";
        document.getElementById('mainspan').innerHTML =IMMAGE;
        
        
        
        return 0;
      }
      
      //Chiamata XML
      function GetData() { 
        var ajax = startXMLHttpRequest();
        if(ajax) {
    
    
          ajax.onreadystatechange=function() {
            if(ajax.readyState==4 && ajax.responseText!=null) {
              //PARSER XML
    
    
              try {
                var nodes=ajax.responseXML.getElementsByTagName("ROOT");
                
                var latitude = nodes[0].getElementsByTagName("LATITUDE")[0].firstChild.nodeValue;
                var longitude = nodes[0].getElementsByTagName("LONGITUDE")[0].firstChild.nodeValue;        
    
    
                ShowMAP(latitude, longitude);
                
                HTML="<table>" +
                "<tr><td>Latitudine:</td><td><b>" + latitude + "</b></td></tr>" +
                "<tr><td>Longitudine:</td><td><b>" + longitude + "</b></td></tr>" +
                "</table>";
                document.getElementById('infospan').innerHTML =HTML;
    
    
              } catch (e) {
                HTML="<br><br><br><p class=error align=center>Struttura XML non valida o nessun dato presente nel database</p>";
                document.getElementById('infospan').innerHTML = HTML;
                document.getElementById('mainspan').innerHTML = "";
              }
            }
          }
          try {
            var par = "XML=get&R=" + encodeURI(encodeURI(Math.random()));
            ajax.open("POST", "./index.php", true);
            ajax.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
            ajax.send(par);
          } catch (e) {
            document.getElementById('mainspan').innerHTML ="<br><br><br><p class=error align=center><img src=warning.gif><br><br>Errore<br>Pagina " + page + " non trovata sul server</p>";
          }
          
          Timer = setTimeout('GetData()',20000);
        }
      }
    </SCRIPT>
    </head>
      
    <BODY onLoad='GetData();'>
    <center>
    <b>GlobaliX by Area SX S.r.l.<b><br>
    <div id=mainspan>
    </div>
    <div id=infospan></div>
    </center>
    </BODY>
    </html>
    pagina index.php
    codice:
    <?php
    include "config.inc.php";
    
    
    $db1 = new SQLite3('globalix.db');
    
    
      //Salva le informazioni nel database
      $latitudine= "4153.2095";
      $longitudine = "01228.0818";
      $res = $db1->exec("INSERT INTO globalix (id, latitudine, longitudine) VALUES (null,'$latitudine','$longitudine')");
      
      if($res)
        echo "1,20,0", "<br />", $latitudine, "<br />",$longitudine;
      else
        echo "0,0,0";
    
    
    //Genera XML
    if(!empty($_REQUEST[XML]) && $_REQUEST[XML]=="get"){
      header("Content-type: text/xml"); 
      header("Content-disposition: filename=index.xml");
      header("Pragma: no-cache"); 
      header("Expires: 0");
      print"<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?>\n";
    
    
      //Ricavo l'ultima coordinata inserita:
      $query = "SELECT * FROM globalix ORDER BY id DESC LIMIT 1";
      $res = $db1->sqlite3_query($query);
      echo "<ROOT>";
      if(sqlite3_num_rows ($db1->query_return)>0){
        
        $rec = sqlite3_fetch_array ($db1->query_return); 
     
        //Ricavo la latitudine
        $latitude =(int)substr($latitudine,0,2) + (float)(substr($latitudine,2,7)) / 60; //Latitudine 
        $latitude = substr($latitude,0,9);
    
    
        //Ricavo la longitudine
        $longitude =(int)substr($longitudine,1,2) + (float)(substr($longitudine,3,7)) / 60; //Longitudine
        $longitude = substr($longitude,0,9);
    
    
    
    
        echo "<LATITUDE>" . $latitude . "</LATITUDE>";
        echo "<LONGITUDE>" . $longitude . "</LONGITUDE>";
        echo "</ROOT>";
      } else {
        echo "<ERROR>0</ERROR>";
        echo "</ROOT>";
      }
      return 0;
    }
    
    
    ?>
    Ultima modifica di mbistato; 04-06-2014 a 15:52

  2. #2
    Utente di HTML.it
    Registrato dal
    Aug 2011
    Messaggi
    144
    nessun aiuto?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.