Duyuruyu Kapat
Facebook Gözat
Twitter Gözat

Javascript değişken değerini php değişkenine aktarma ?

Konu, 'Javascript' kısmında Rapheal tarafından paylaşıldı.

  1. Rapheal

    Rapheal Yeni Üye

    Kayıt:
    15 Haziran 2012
    Mesajlar:
    13
    Beğenilen Mesajlar:
    0
    Merhabalar

    Kod:
    var grupal = ev.target.id;
    
    burdaki grupal değişkeni içerisindeki değişkeni phpdeki bir değişkene aktarmak istiyorum.Bunu yapamadım yardımcı olursanız sevinirim.
     
  2. timemrah

    timemrah Daimi Üye

    Kayıt:
    7 Mart 2010
    Mesajlar:
    918
    Beğenilen Mesajlar:
    14
    Meslek:
    Web Geliştirici
    Şehir:
    Tekirdağ / Çorlu
    Mesela ne denedinde yapamadın. Öncelikle PHP ile javascript'in arasındaki çalışma farkını kavrayabilmişmisin onu anlamamız lazım. Nerde takıldığını belirtirsen insanlar yardımcı olabilecektir.
     
  3. Rapheal

    Rapheal Yeni Üye

    Kayıt:
    15 Haziran 2012
    Mesajlar:
    13
    Beğenilen Mesajlar:
    0
    Mesela var grupal = ev.target.id; diye bir javascript değişkeni oluşturdum bunun içindeki değeri $grupver adlı php değişkenine aktarmak istiyorum.
     
  4. timemrah

    timemrah Daimi Üye

    Kayıt:
    7 Mart 2010
    Mesajlar:
    918
    Beğenilen Mesajlar:
    14
    Meslek:
    Web Geliştirici
    Şehir:
    Tekirdağ / Çorlu
    Bu sorduğunuz soru ilk yazdığınız yazıdan farksız. Demek istediğim siz bunu yapabilmek için bir çaba gösterdiniz mi? Sizce nasıl olabilir demek istedim. Her neyse hızlıca sizi bilgilendireyim.

    Javascript ve PHP bilginizin seviyesini bilemiyorum ama;

    Javascriptte üretilen bir değeri PHP'ye aktarmanın bir yolu AJAX'tır. Javascript ile AJAX ile bir PHP sayfasına GET veya POST yoluyla veri aktarılır. PHP tarafında ise $_GET veya $_POST süper globali ile bu değer yakalanır ve PHP tarafında kullanılır.

    Yani bunu yapabilmeniz için önce javascripti ve AJAX işlemini çok iyi öğrenmeniz gerekiyor. Ve sonrasında javascriptin tarayıcı tarafında çalışan PHP'nin ise sunucu tarafında çalışan bir sistem olduğunu ve hangisinin neler yapabileceğini iyice kavramanız gerekiyor.

    Javascriptte üretilen bir değeri PHP'ye aktarmanın bir diğer yolu çerezleri kullanmak olabilir. Javascript ile üretilen değeri çerez olarak tarayıcıya kayıt edersiniz. PHP tarafındada $_COOKIE süper globali ile javascript tarafında yarattığınız çerezi yakalayabilir ve PHP tarafında kullanabilirsiniz. Ama bunu yapmak AJAX'dan daha kolay olsa da pratikteki kullanımı AJAX'a göre daha iyi olmayacaktır.
     
  5. Rapheal

    Rapheal Yeni Üye

    Kayıt:
    15 Haziran 2012
    Mesajlar:
    13
    Beğenilen Mesajlar:
    0
    Tabiki üzerinde uğraştım,araştırdım $_GET ile denedim ancak işe yaramadı.Bu konuda bana örnek gösterirseniz sevinirim.
     
  6. timemrah

    timemrah Daimi Üye

    Kayıt:
    7 Mart 2010
    Mesajlar:
    918
    Beğenilen Mesajlar:
    14
    Meslek:
    Web Geliştirici
    Şehir:
    Tekirdağ / Çorlu
    Öncelikle Javascript ile bir veriyi PHP sayfasına AJAX ile göndermeden nasıl $_GET ile almayı planlıyorsunuz? AJAX ile veriyi gönderebileceksiniz ki PHP tarafından $_GET veya $_POST ile veri yakalayabilesiniz.

    Allah aşkına $_GET ile denedim diyosunuz ama Javascript tarafında da PHP tarafında da yazdığınız kodları buraya koymuyorsunuz, buraya koyunda bizde görelim yardım edelim hatanızı söyleyelim.

    En azından bu şekilde javascript ve PHP seviyenizi görür ve ona göre bir şeyler anlatırız. Şimdi ben size bir örnek göstersem vakit harcasam sizin anlama ihtimaliniz bana sorarsanız çok çok zayıf. Çünkü ileri seviye bir konudan bahsediyoruz ve bu konuyu öğrenmeden önce öğrenmeniz gereken çok şey olacak.

    AJAX yapmayı biliyormusunuz? Bana AJAX yaptığınız kodları gösterirmisiniz? AJAX nedir biliyormusunuz acaba?

    Sizin istediğiniz, işinize yarayıp yaramayacağına emin olmadığımız bir konuda sizin için saatlerimizia yırmamız. Madem size zaman ayırıcaz bari gerçekten ayırmamız gerekiyormu gerekmiyormu bilelim ki sizi ona göre yönlendirelim. Belkide ben size hiç bir şey anlatmayacağım ve diyeceğim ki şu kaynaktan şunu öğrenin. Oturup size 1 ay boyunca eğitim vermemiz mümkün değil bunun farkındasınız.

    Ne yazıkki programlamada da her istediğiniz he deyince de olması imkansız. Zaman emek ve eğitim şart. Bunun tamamını bizlerden almanız mümkün değil. Öyle olsaydı bunca kitap bunca okul olmazdı.
     
  7. Rapheal

    Rapheal Yeni Üye

    Kayıt:
    15 Haziran 2012
    Mesajlar:
    13
    Beğenilen Mesajlar:
    0
    Kod:
     	<script type="text/javascript">
    function allowDrop(ev)
    {
    ev.preventDefault();
    }
     
    function drag(ev)
    {
    ev.dataTransfer.setData("Text",ev.target.id);
    var kartal = ev.target.id;
    }
    // hangi kartın sürükleyip bıraktığını ev.target.id bununla buluyoruz.
     
    function drop(ev)
    {
    var data=ev.dataTransfer.getData("Text");
    ev.target.appendChild(document.getElementById(data));
    ev.preventDefault();
    var grupal = ev.target.id;
    }
    
    
    // hangi gruba bıraktığını ev.target.id bununla buluyoruz.
    
    
    </script>
    ajax bilmiyorum, drop&drag olayı ile bir kart gruplama olayı yapmaya çalışıyorum.İlginizden dolayı teşekkür ederim.
     
  8. Rapheal

    Rapheal Yeni Üye

    Kayıt:
    15 Haziran 2012
    Mesajlar:
    13
    Beğenilen Mesajlar:
    0
    Kod:
    	<script type="text/javascript">function allowDrop(ev)
    {
    ev.preventDefault();
    }
     
    function drag(ev)
    {
    ev.dataTransfer.setData("Text",ev.target.id);
    var kartal = ev.target.id;
    }
    
    
     
    function drop(ev)
    {
    var data=ev.dataTransfer.getData("Text");
    ev.target.appendChild(document.getElementById(data));
    ev.preventDefault();
    var grupal = ev.target.id;
    window.location = "index.php?veri=" + grupal;
    
    
    }
    
    
    // hangi gruba bıraktığını ev.target.id bununla buluyoruz.
    
    
    </script>
    	<?php 
    
    
    $veri=$_GET['veri']; 
    echo $veri; 
    
    
    ?>
    Tekrar düzeltmen gerek ama veriyi aldığım anda sayfa reflesh olduğundan dolayı sürükleyip bırakılan cisim eski yerine dönüyor.Başka bir yöntem yok mu?
     
  9. zync

    zync Üye

    Kayıt:
    21 Mart 2010
    Mesajlar:
    67
    Beğenilen Mesajlar:
    0
    Meslek:
    Öğrenci
    Şehir:
    Ankara
    window.location fonksiyonu kullandığınız içi hedef sayfa çağırılır. bunu kallnamayın bunun yerine bir ajax fonksiyonu oluşturun bu işinize yarayacaktır. sorunuzun cevabı kesinlikle budur.
    Öncelikle php 'yi farklı bir sayfada derleyin. örneğin hedef.php diyelim bu sayfaya yukarıda <?php ?> taglari içine yazdığınızı derlemeleri aynen geçirin. POST yada GET kullanarak veriyi javascript ile buraya aktarıcaz ve sonucu sayfaya bastırıcaz. Madem siz get tercih ettiniz get ile yapalım ama post daha iyi seçim olabilirdi.Sayfada #cevap diye bir div oluşturun. ajax sayfasının cevabını buraya çekicez. mantığını anlamanız açısından.
    Şu şekilde olabilir.

    Kod:
    $.ajax({
        type: 'GET',
        url: 'hedef.php?veri='+grupal,
        success: function(ajaxCevap) {
            $('#cevap').html(ajaxCevap);
        }
    });
    gördüğünüz gibi #cevap div'i içine hedef.php?veri=hedf_veri sayfasını çağırmış olduk.

    not: jquery kütüphanesi kullandığını var sayıyorum.
    aksi halde ajax kullanım örneği için burayı inceleyin.
    http://www.w3schools.com/ajax/tryit.asp?filename=tryajax_first
     
  10. Rapheal

    Rapheal Yeni Üye

    Kayıt:
    15 Haziran 2012
    Mesajlar:
    13
    Beğenilen Mesajlar:
    0
    hocam şimdi ben ekrana bastırma değil javascriptteki grupal ve kartal değişkenleri içindeki veriyi sayfada bir yönlendirme yenileme olmadan php'nin değişkenlerine almak istiyorum.Sadece bu işlem kaldı db işlemlerini felan hallettim bir tek bu eksik.
     
  11. zync

    zync Üye

    Kayıt:
    21 Mart 2010
    Mesajlar:
    67
    Beğenilen Mesajlar:
    0
    Meslek:
    Öğrenci
    Şehir:
    Ankara
    yukarıda bahsettiğin olay bu zaten. sayfa yönlendirmek yerine hedef sayfayı içiriye çağırıyoruz. iframe gibi düşünün.
     
  12. Rapheal

    Rapheal Yeni Üye

    Kayıt:
    15 Haziran 2012
    Mesajlar:
    13
    Beğenilen Mesajlar:
    0
    İlgilinizden dolayı teşekkür ederim.

    En sonunda yaptığım yöntemi değiştirmek zorunda kaldım.jquery ile html tarayıp sonra istediğimi buldurmak üzere bir şeyler hazırladım.

    Kod:
    	 <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"> </script>	 <script type="text/javascript">
    function kaydet(){
    	 var a = [];
    
    
    
    
    	$.each($(".div1"), function(index, element){
    		
    		
    		var o = {"grup_id":$(element).attr("id"), "images":[]};
    		$.each($(element).find("img"), function(i, e){
    			o.images.push($(e).attr("id"));
    		}); 
    		a.push(o);
    			
    	});
    	
    	var s = JSON.stringify(a);
    	
    	$.post("/kartgruplama/kaydet.php", {"param": s}, null, "json").done(function(data){
    		
    	}).fail(function(xhr){
    		
    	});
    
    
    }
    
    
    
     
  13. gokhanweb

    gokhanweb Aktif Üye

    Kayıt:
    12 Ocak 2005
    Mesajlar:
    321
    Beğenilen Mesajlar:
    0
    Şehir:
    Mersin
    php sunucu tarafında çalışan bir yazılımdır. siz tarayıcınızdan bir şeyler görebildiğiniz anda php'nin işi bitmiştir zaten. sunucuda işini tamamlamış bunu en sonra olarak text (hyper text) 'e çevirmiş sizin tarayıcınıza göndermiştir. javascript ise client side yani sizin tarafınızda çalışan bir uygulamadır. sunucudan gelen veriyi aldıktan sonra, tarayıcı bu veri üzerinde javascript işlemleri yapar. javascript ile php bir biriyle alakası olmayan şeylerdir. yani olay sizin kodladığınız dosyadaki gibi değildir. üst satırda javascript ile yazdığınız kodu alt satırdaki php değişkenine atamazsınız.
    yapabileceğiniz tek şey yeni istek oluşturmak (request). bunu da ister javascript (ajax) ile arkaplanda isterseniz doğrudan yeni GET, POST istekleriyle yapabilirsiniz.