Şimdi Ara

Php Ajax ile değişken gönderme.

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
7
Cevap
1
Favori
1.408
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • Ekleme:
    Yapmak istediğim şey html5 geolocation metodu ile enlem ve boylam bilgisini alıp php tarafına gönderip oradan veritabanına kaydettirmek ama istemci tarafından javascript ile aldığım enlem boylam bilgisini başarılı bir şekilde sunucu tarafındaki php sayfama gönderemiyorum.
    Gönderebilsem kaydetme işinde sıkıntı olmayacak.


    ajax.php
    <?php
    $lat =$_POST['lat'];
    $lon = $_POST['lon'];
    echo $lat;
    ?>

    index.php

    <!DOCTYPE html> 
    <html><head><script src="jquery-1.12.0.min.js"></script>
    </head>
    <body>

    <p>Click the button to get your coordinates.</p>
    <input type="text" name="metin"/><br/>
    <button onclick="getLocation()">Try It</button>

    <p id="demo"></p>


    <p id="demo1"></p>
    <script>

    var x = document.getElementById("demo");
    var y = document.getElementById("demo1");

    function getLocation() {
    if (navigator.geolocation) {
    navigator.geolocation.getCurrentPosition(showPosition);
    } else {
    x.innerHTML = "Geolocation is not supported by this browser.";
    }
    }
    function showPosition(position) {
    x.innerHTML = "Latitude: " + position.coords.latitude + "<br>Longitude: " + position.coords.longitude;
    var lng= position.coords.longitude;
    var lat= position.coords.longitude;
    y.innerHTML=lng;
    x.innerHTML=lat;
    $.ajax({
    type: 'POST',
    url: 'ajax.php',
    data:lat,
    success: function(result) {
    $('#sonuc').html(result);
    },
    error: function() {
    alert('Talep esnasında sorun oluştu. Yeniden deneyin');
    }
    }

    </script>

    <p id="sonuc"></p>
    </body>
    </html>



    Sorunsuz çalışması gerekiyor ama ekrana hiç bir çıktı basmıyor?



    < Bu mesaj bu kişi tarafından değiştirildi steganography -- 31 Mart 2016; 23:37:18 >







  • Up

    < Bu ileti mobil sürüm kullanılarak atıldı >
  • index.php

    <!DOCTYPE html>
    <html>
    <head>
    <script src="https://maps.googleapis.com/maps/api/js?sensor=false"></script>
    </head>
    <body>


    <p id="demo"></p>


    <p id="demo1"></p>


    <script>
    function showlocation() {
    // One-shot position request.
    navigator.geolocation.getCurrentPosition(callback);
    }
    function callback(position) {
    var lat = position.coords.latitude;
    var lon = position.coords.longitude;
    document.getElementById('latitude').innerHTML = lat;
    document.getElementById('longitude').innerHTML = lon;
    document.getElementById('textlat').value = lat;
    document.getElementById('textlon').value = lon;
    }
    </script>

    <form id="getlocation" name="getlocation" method="post" action="ajax.php">
    <p>Click the button to get your coordinates.</p>
    <input type="button" onclick="javascript:showlocation()" value="koordinatları al" /><br />
    <input type="text" name="lat" maxlength="50" size="30" id="textlat"><br />
    <input type="text" name="lon" maxlength="50" size="30" id="textlon"><br /><br />
    <input type="submit" onclick="javascript:showlocation()" value="sonucu yolla" /><br />
    </form>
    <br />
    Latitude: <span id="latitude"></span><br/>
    Longitude: <span id="longitude"></span>

    <p id="sonuc"></p>
    </body>
    </html>



    ajax.php

    <?php
    $lat =$_POST['lat'];
    $lon = $_POST['lon'];
    echo $lat;
    echo '<br />';
    echo $lon;
    ?>




  • bunu yaptınmı hocam aynı dert bende de var :) ben kaydetmeyecegim sadece show etsemde olur bana da lat ve long degerleri donuyor basıyorum
    ama bende bu lat ve long alıp reverse services yapıp adresi ekrana basmak istiyorum gerisini bende ajax ile denedim ama olmadı
  • quote:

    Orijinalden alıntı: yousemeti

    bunu yaptınmı hocam aynı dert bende de var :) ben kaydetmeyecegim sadece show etsemde olur bana da lat ve long degerleri donuyor basıyorum
    ama bende bu lat ve long alıp reverse services yapıp adresi ekrana basmak istiyorum gerisini bende ajax ile denedim ama olmadı

    Bölüm nedir hocam hangi üniversitede?

    < Bu ileti mobil sürüm kullanılarak atıldı >
  • İki önemli hata var.

    1. Fonksiyon dışında tanımlanan değişkenin aynı şekilde fonksiyon içinde kullanılmaya çalışılması. Bu nedenle x ve y değişkeni fonksiyon içinde tanımlı görünmüyor. Çözüm; x ve y değişkenlerini window.x ve window.y şeklinde global olarak tanımlamak.

    2. POST verisi eksik ve hatalı. Doğrusu aşağıdaki gibi olabilir.

    <!DOCTYPE html>
    <html><head>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.js"></script>

    </head>
    <body>

    <p>Click the button to get your coordinates.</p>
    <input type="text" name="metin"/><br/>
    <button onclick="getLocation()">Try It</button>

    <p id="demo"></p>


    <p id="demo1"></p>


    <p id="sonuc"></p>

    <script type="text/javascript">//<![CDATA[
    window.x = document.getElementById("demo");
    window.y = document.getElementById("demo1");
    function getLocation() {
    if (navigator.geolocation) {
    navigator.geolocation.getCurrentPosition(showPosition);
    } else {
    x.innerHTML = "Geolocation is not supported by this browser.";
    }
    }

    function showPosition(position) {
    x.innerHTML = "Latitude: " + position.coords.latitude + "<br>Longitude: " + position.coords.longitude;
    var lng= position.coords.longitude;
    var lat= position.coords.latitude;
    y.innerHTML=lng;
    x.innerHTML=lat;
    $.ajax({
    type: 'POST',
    url: 'ajax.php',
    data: 'lat='+lat+'&lon='+lng,
    success: function(result) {
    $('#sonuc').html(result);
    },
    error: function() {
    alert('Talep esnasında sorun oluştu. Yeniden deneyin');
    }
    })
    }
    //]]>
    </script>
    </body>
    </html>

    < Bu ileti tablet sürüm kullanılarak atıldı >




  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.