ugrás a tartalomhoz

Hogy tudok egy változót átadni feldolgozásra PHP-nak JavaScriptből?

Petrusz · 2009. Jún. 20. (Szo), 22.05
Kövezzetek meg ha hülyeséget kérdezek, de nem értek hozzá :)

Hogy tudok egy változót átadni feldolgozásra php-nak Javascriptből?

 var point = dragInfo.placemark.getGeometry();
          point.setLatitude(event.getLatitude());
          point.setLongitude(event.getLongitude());
ez van a Java-ban ebből nekem a Latitude és a Longitude kellene betenném képek mellé mint koordináta a javas részben elhelyezett placemarknak megfelelően egy mysql táblába

Köszönöm!

A kérdező eredetileg tévesen a Java kifejezést használta, de mint hamar kiderült, JavaScriptről van szó – a szerk.
 
1

1000 féleképpen

Poetro · 2009. Jún. 20. (Szo), 22.58
GET, POST, megosztott adatbázis.
2

Még

janoszen · 2009. Jún. 20. (Szo), 23.55
PHP-Java bridge, Chaucho/Resin, XML-RPC, SOAP, socket.
5

javascript PHP

Petrusz · 2009. Jún. 21. (V), 00.53
a PHP Java bridgeről olvastam, de itt most fordított a helyzet
3

Köszi,meg tudod mondani az index2.php miért nem fut ki a világbó

Petrusz · 2009. Jún. 21. (V), 00.22
  <script src="http://www.google.com/jsapi?key=ABQIAAAA1XbMiDxx_BTCY2_FkPh06RRaGTYH6UMl8mADNa0YKuWNNa8VNxQEerTAUcfkyrr6OwBovxn7TDAH5Q"></script>
    <script type="text/javascript">
    var ge;
    
    var placemark;
    var dragInfo = null;
    
    google.load("earth", "1");
    
    function init() {
      google.earth.createInstance('map3d', initCallback, failureCallback);
    }
    
    function initCallback(instance) {
      ge = instance;
      ge.getWindow().setVisibility(true);
    
      // add a navigation control
      ge.getNavigationControl().setVisibility(ge.VISIBILITY_AUTO);
    
      // add some layers
      ge.getLayerRoot().enableLayerById(ge.LAYER_BORDERS, true);
      ge.getLayerRoot().enableLayerById(ge.LAYER_ROADS, true);
    
      // create the placemark
      placemark = ge.createPlacemark('');
    
      var point = ge.createPoint('');
      point.setLatitude(47);
      point.setLongitude(19.5);
      placemark.setGeometry(point);
    
      // add the placemark to the earth DOM
      ge.getFeatures().appendChild(placemark);
    
      // look at the placemark we created
      var la = ge.createLookAt('');
      la.set(47, 19.5,
        0, // altitude
        ge.ALTITUDE_RELATIVE_TO_GROUND,
        0, // heading
        0, // straight-down tilt
        500000 // range (inverse of zoom)
        );
      ge.getView().setAbstractView(la);
      placemark.setName('');
    
      // listen for mousedown on the window (look specifically for point placemarks)
      google.earth.addEventListener(ge.getWindow(), 'mousedown', function(event) {
        if (event.getTarget().getType() == 'KmlPlacemark' &&
            event.getTarget().getGeometry().getType() == 'KmlPoint') {
          //event.preventDefault();
          var placemark = event.getTarget();
            dragInfo = {
            placemark: event.getTarget(),
            dragged: false
          };
        }
      });
    
      // listen for mousemove on the globe
      google.earth.addEventListener(ge.getGlobe(), 'mousemove', function(event) {
        if (dragInfo) {
          event.preventDefault();
          var point = dragInfo.placemark.getGeometry();
          point.setLatitude(event.getLatitude());
          point.setLongitude(event.getLongitude());
          dragInfo.dragged = true;
     
     
      //  document.getElementById("message").innerHTML = "";
       
}

      });
    
      // listen for mouseup on the window
      google.earth.addEventListener(ge.getWindow(), 'mouseup', function(event) {
        if (dragInfo) {
          if (dragInfo.dragged) {
            // if the placemark was dragged, prevent balloons from popping up
            event.preventDefault();
                     
         var html ="<form method='post' action='index2.php'><input type='hidden' name='lat' value='"+point+"' />";
      document.write(html);
          }
           dragInfo = null;
        }
      });
    
      document.getElementById('installed-plugin-version').innerHTML =
        ge.getPluginVersion().toString();
    }
    
       function failureCallback(errorCode) {
    }
    
    </script>
A script nem sokat csinál lehet egy markert húzogatni a térképen én ennek a pozícióját szeretném a egy phph/html formon a script alatt egy gombnyomásra átadni egy mysql táblába, de sajnos se azt nem tudom hogy jó helyen szedem e ki az adatokat.. bár nekem úgy tűnik mert a marker leengedésekor dobódik ki a program, se azt hogy a html link miért fut a vakvilágba
4

Miről beszélgetünk?

janoszen · 2009. Jún. 21. (V), 00.41
Most itt Javaról beszélgetünk vagy JavaScriptről? A kettőben van sok közös (mind a kettő nevében benne van a Java szó, sok év fejlesztés után mind a kettőről váltig állítják hogy már nem lassú, stb) de koránt sem mindegy.
6

Valahol olvastam

Ustak · 2009. Jún. 21. (V), 07.24
Java - Javascript same as Car - Carpet :-)
7

Én értem a poént de ettől nem kerültem előrébb

Petrusz · 2009. Jún. 21. (V), 11.33
esetleg valaki tudna érdemben is segíteni?
8

ok

janoszen · 2009. Jún. 21. (V), 14.05
OK, csak nem volt tiszta. Én úgy vaktában lőnék egyet: document.write helyett próbáld meg innerHTML-lel betenni egy már meglevő DIV-be.
10

DIV?

Petrusz · 2009. Jún. 22. (H), 00.05
sikerült kitennem az értéket egy ID-be, de azt nem tudom hogy a ID-t hogy teszem bele egy hidden input value-ba?
sajnos ezt a DIV et nem értem..
document.getElementById('Longitude').innerHTML = event.getLatitude();
<form action="<?php echo $_SERVER['PHP_SELF'];?>" method="post">
<p>Longitude <b id='Longitude'>19.5</b> </p>
<input type="hidden" name="Longitude" ID="Longitude" value="2">
<input type="submit" name="login" value="Felvesz" />
a teljes kód:
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta http-equiv="content-type" content="text/html; charset=utf-8"/>
    <title>Google Earth API Sample</title>
  <script src="http://www.google.com/jsapi?key=ABQIAAAA1XbMiDxx_BTCY2_FkPh06RRaGTYH6UMl8mADNa0YKuWNNa8VNxQEerTAUcfkyrr6OwBovxn7TDAH5Q"></script>
    <script type="text/javascript">
    var ge;
    
    var placemark;
    var dragInfo = null;
    
    google.load("earth", "1");
    
    function init() {
      google.earth.createInstance('map3d', initCallback, failureCallback);
    }
    
    function initCallback(instance) {
      ge = instance;
      ge.getWindow().setVisibility(true);
    
      // add a navigation control
      ge.getNavigationControl().setVisibility(ge.VISIBILITY_AUTO);
    
      // add some layers
      ge.getLayerRoot().enableLayerById(ge.LAYER_BORDERS, true);
      ge.getLayerRoot().enableLayerById(ge.LAYER_ROADS, true);
    
      // create the placemark
      placemark = ge.createPlacemark('');
    
      var point = ge.createPoint('');
      point.setLatitude(47);
      point.setLongitude(19.5);
      placemark.setGeometry(point);
    
      // add the placemark to the earth DOM
      ge.getFeatures().appendChild(placemark);
    
      // look at the placemark we created
      var la = ge.createLookAt('');
      la.set(47, 19.5,
        0, // altitude
        ge.ALTITUDE_RELATIVE_TO_GROUND,
        0, // heading
        0, // straight-down tilt
        5000 // range (inverse of zoom)
        );
      ge.getView().setAbstractView(la);
      placemark.setName('');
    
      // listen for mousedown on the window (look specifically for point placemarks)
      google.earth.addEventListener(ge.getWindow(), 'mousedown', function(event) {
        if (event.getTarget().getType() == 'KmlPlacemark' &&
            event.getTarget().getGeometry().getType() == 'KmlPoint') {
          //event.preventDefault();
          var placemark = event.getTarget();
            dragInfo = {
            placemark: event.getTarget(),
            dragged: false
          };
        }
      });
    
      // listen for mousemove on the globe
      google.earth.addEventListener(ge.getGlobe(), 'mousemove', function(event) {
        if (dragInfo) {
          event.preventDefault();
          var point = dragInfo.placemark.getGeometry();
          point.setLatitude(event.getLatitude());
          point.setLongitude(event.getLongitude());
          dragInfo.dragged = true;
     
     
// értékek HTMLnek !!!
document.getElementById('Latitude').innerHTML = event.getLatitude();
document.getElementById('Longitude').innerHTML = event.getLongitude();
       
}
      });

      // listen for mouseup on the window
      google.earth.addEventListener(ge.getWindow(), 'mouseup', function(event) {
        if (dragInfo) {
          if (dragInfo.dragged) {
            // if the placemark was dragged, prevent balloons from popping up
            event.preventDefault();
                     
         }
           dragInfo = null;
        }
      });
    }
       function failureCallback(errorCode) {
    }
    
    </script>
  </head>
  <body onload="init()" style="font-family: arial, sans-serif; font-size: 13px; border: 0;">
    <div id="map3d" style="width: 500px; height: 380px;"></div>
    <br>



<form action="<?php echo $_SERVER['PHP_SELF'];?>" method="post">
<p>Latitude <b id='Latitude'>47</b> </p>
<p>Longitude <b id='Longitude'>19.5</b> </p>
<input type="hidden" name="Latitude" value=".id='Latitude'.">
<input type="hidden" name="Longitude" value="'.$Longitude.'">    
<input type="submit" name="login" value="Felvesz" /><BR>

<?PHP

if (isset($_POST['login']))
 {
echo "latitude:".$_POST['Latitude'];
echo "<BR>";
echo "longitude:".$_POST['Longitude'];

 }
?>
11

.value

janoszen · 2009. Jún. 22. (H), 01.22
Asszem itt Neked a .value kell Neked, ha csak értéket akarsz adni a hiddennek.
12

Tehát

Petrusz · 2009. Jún. 22. (H), 08.50
Így gondoltad?
<input type="hidden" name="Longitude" value=.$Longitude.> 
próbáltam de se a value=.$valami. se a value=".$valami." nem hozza meg a várt eredményt mindkét esetben a valami jelenik meg és nem az ID értéke
13

print

Poetro · 2009. Jún. 22. (H), 09.29
És ha véletlenül ki is íratnád?
<input type="hidden" name="Longitude" value="<?php print htmlspecialchars($_POST['Longitude'], ENT_QUOTES); ?>"> 
9

Ajax

vbence · 2009. Jún. 21. (V), 14.32
Az oldal újratöltése nélkül szeretnél kommunikálni a szerverrel, ez az Ajax módszer alapja. Nézz utána az XMLHttpRequest objektumnak (ezzel meghívhatsz a szerverről egy PHP szkriptet, mondjuk GET paraméterként átadva a koordinátákat).