• 19-08-2014, 02:34:05
    #1
    Merhaba,
    Php de for each döngüsü ile 10 verili bir çıktı alıyorum her çıktıda birer form var yanı sayfa yuklendıgınde 10 farklı form olusuyor her formda 2 buton var ve butonlara bastıgımda en üstteki formda işlem yapıyor butonlarda onclick eventinde bir ajax fonksıyonu var ama ajax fonksiyonu bir forma bağlı ama gelen 10 foırmun onuda aynı form idi ile geliyor yanı formların farklı idlerdeolmasını sağlasam bile bu seferde bunu ajaxa iletemıyorum onclickdeki fonksiyonun içerisine this.form ayzıyorum kabul etmıyor olmuyor.

    Aiaiğıya kod parcalarını verıyorum sadece bu döngü ile gelen 10 formunher bırnın ajax fonksıyonlarına farklı sekılde ıletılmeısnı ıstıyorum ama beceremedım bır turlu arastırdım bıulamadım da

    Şimdiden Teşekkürler.

    Php döngü kısmı burda
    														
    <?php 
    
    $tweet = $connection->get("https://api.twitter.com/1.1/statuses/user_timeline.json?screen_name=".$username."&count=10");
    foreach ($tweet as $ayikla)
    {
    echo'<article class="box is-post">';
    echo '<b>'.$ayikla->text.'</b>'; //Tweet
    $tweetidsi = $ayikla->id_str;
    echo $tweetidsi;
    echo'<br><form  method="post" action="index.php?islem=fav" ><input name="favid" type="text" class="m-wrap" value="'.$tweetidsi.'" /><input type="button" class="button" onClick="gonderfav(this);" value="10 Favori Ekle"/></form>';
    echo'<form method="post" action="index.php?islem=rt" ><input name="rtid" type="text" class="m-wrap"  value="'.$tweetidsi.'" /><input type="button" class="button" onClick="gonderrt(this);" value="10 Retweet Ekle"/></form>';
    echo'<br><div id="sonuc13"></div></article> ';
    }
    
    ?>
    Ajax Fonksıyonlarıda burda

    		<script type="text/javascript">
    function gonder(){
    $('#sonuc').slideDown('slow');
    $("#sonuc").html('<div id=resim><center>Takipçileriniz Aktarılıyor..<br><img src="includes/img/loading.gif"></center></div>');
    $.ajax({
    type:'POST',
    url:'index.php?islem=kazan',
    data:$('#veri-formu').serialize(),
    success:function(cevap){
        
        $("#sonuc").html(cevap)
    
    }
    
    })
    
    }
    </script>
    		<script type="text/javascript">
    function gonderrt(frm){
    $('#sonuc13').slideDown('slow');
    $("#sonuc13").html('<div id=resim><center><img src="../includes/img/loading.gif"></center></div>');
    $.ajax({
    type:'POST',
    url: frm.attr( 'action' ),
    data:frm.serialize(),
    success:function(cevap){
        
        $("#sonuc13").html(cevap)
    
    }
    
    })
    
    }
    </script>
  • 19-08-2014, 12:04:38
    #2
    mahirtaha adlı üyeden alıntı: mesajı görüntüle
    Merhaba,
    Php de for each döngüsü ile 10 verili bir çıktı alıyorum her çıktıda birer form var yanı sayfa yuklendıgınde 10 farklı form olusuyor her formda 2 buton var ve butonlara bastıgımda en üstteki formda işlem yapıyor butonlarda onclick eventinde bir ajax fonksıyonu var ama ajax fonksiyonu bir forma bağlı ama gelen 10 foırmun onuda aynı form idi ile geliyor yanı formların farklı idlerdeolmasını sağlasam bile bu seferde bunu ajaxa iletemıyorum onclickdeki fonksiyonun içerisine this.form ayzıyorum kabul etmıyor olmuyor.

    Aiaiğıya kod parcalarını verıyorum sadece bu döngü ile gelen 10 formunher bırnın ajax fonksıyonlarına farklı sekılde ıletılmeısnı ıstıyorum ama beceremedım bır turlu arastırdım bıulamadım da

    Şimdiden Teşekkürler.

    Php döngü kısmı burda
    														
    <?php 
    
    $tweet = $connection->get("https://api.twitter.com/1.1/statuses/user_timeline.json?screen_name=".$username."&count=10");
    foreach ($tweet as $ayikla)
    {
    echo'<article class="box is-post">';
    echo '<b>'.$ayikla->text.'</b>'; //Tweet
    $tweetidsi = $ayikla->id_str;
    echo $tweetidsi;
    echo'<br><form  method="post" action="index.php?islem=fav" ><input name="favid" type="text" class="m-wrap" value="'.$tweetidsi.'" /><input type="button" class="button" onClick="gonderfav(this);" value="10 Favori Ekle"/></form>';
    echo'<form method="post" action="index.php?islem=rt" ><input name="rtid" type="text" class="m-wrap"  value="'.$tweetidsi.'" /><input type="button" class="button" onClick="gonderrt(this);" value="10 Retweet Ekle"/></form>';
    echo'<br><div id="sonuc13"></div></article> ';
    }
    
    ?>
    Ajax Fonksıyonlarıda burda

    		<script type="text/javascript">
    function gonder(){
    $('#sonuc').slideDown('slow');
    $("#sonuc").html('<div id=resim><center>Takipçileriniz Aktarılıyor..<br><img src="includes/img/loading.gif"></center></div>');
    $.ajax({
    type:'POST',
    url:'index.php?islem=kazan',
    data:$('#veri-formu').serialize(),
    success:function(cevap){
        
        $("#sonuc").html(cevap)
    
    }
    
    })
    
    }
    </script>
    		<script type="text/javascript">
    function gonderrt(frm){
    $('#sonuc13').slideDown('slow');
    $("#sonuc13").html('<div id=resim><center><img src="../includes/img/loading.gif"></center></div>');
    $.ajax({
    type:'POST',
    url: frm.attr( 'action' ),
    data:frm.serialize(),
    success:function(cevap){
        
        $("#sonuc13").html(cevap)
    
    }
    
    })
    
    }
    </script>
    Çözüm

    for içinde kullandığınız tüm id değerlerinin farklı olması lazım örneğin ,

    onclick ile verdiğiniz değerin

    onClick="gonderrt1(this);"
    onClick="gonderrt2(this);"
    onClick="gonderrt3(this);"

    gibi artması lazım aynı şekilde bu fonksiyonunda içindeki html cevapların farklı idler ile oluşturulması lazım. Forda bir counter ekleyip bir benzersiz belirleyin daha sonra

    onClick="gonderrt<?=$benzersiz?>(this);"

    Şeklinde for içinde benzersizleştirin.

    Öneri :

    Bu kodlar çok gereksiz yazılmış. Js fonksiyonunu geliştirirseniz bir div'e id verip içerisindeki değerleri okuyarak 1 js fonksiyonu ile işlem yaptırabilirsiniz
  • 19-08-2014, 12:19:22
    #3
    mahirtaha adlı üyeden alıntı: mesajı görüntüle
    Merhaba,
    Php de for each döngüsü ile 10 verili bir çıktı alıyorum her çıktıda birer form var yanı sayfa yuklendıgınde 10 farklı form olusuyor her formda 2 buton var ve butonlara bastıgımda en üstteki formda işlem yapıyor butonlarda onclick eventinde bir ajax fonksıyonu var ama ajax fonksiyonu bir forma bağlı ama gelen 10 foırmun onuda aynı form idi ile geliyor yanı formların farklı idlerdeolmasını sağlasam bile bu seferde bunu ajaxa iletemıyorum onclickdeki fonksiyonun içerisine this.form ayzıyorum kabul etmıyor olmuyor.

    Aiaiğıya kod parcalarını verıyorum sadece bu döngü ile gelen 10 formunher bırnın ajax fonksıyonlarına farklı sekılde ıletılmeısnı ıstıyorum ama beceremedım bır turlu arastırdım bıulamadım da

    Şimdiden Teşekkürler.

    Php döngü kısmı burda
    														
    <?php 
    
    $tweet = $connection->get("https://api.twitter.com/1.1/statuses/user_timeline.json?screen_name=".$username."&count=10");
    foreach ($tweet as $ayikla)
    {
    echo'<article class="box is-post">';
    echo '<b>'.$ayikla->text.'</b>'; //Tweet
    $tweetidsi = $ayikla->id_str;
    echo $tweetidsi;
    echo'<br><form  method="post" action="index.php?islem=fav" ><input name="favid" type="text" class="m-wrap" value="'.$tweetidsi.'" /><input type="button" class="button" onClick="gonderfav(this);" value="10 Favori Ekle"/></form>';
    echo'<form method="post" action="index.php?islem=rt" ><input name="rtid" type="text" class="m-wrap"  value="'.$tweetidsi.'" /><input type="button" class="button" onClick="gonderrt(this);" value="10 Retweet Ekle"/></form>';
    echo'<br><div id="sonuc13"></div></article> ';
    }
    
    ?>
    Ajax Fonksıyonlarıda burda

    		<script type="text/javascript">
    function gonder(){
    $('#sonuc').slideDown('slow');
    $("#sonuc").html('<div id=resim><center>Takipçileriniz Aktarılıyor..<br><img src="includes/img/loading.gif"></center></div>');
    $.ajax({
    type:'POST',
    url:'index.php?islem=kazan',
    data:$('#veri-formu').serialize(),
    success:function(cevap){
        
        $("#sonuc").html(cevap)
    
    }
    
    })
    
    }
    </script>
    		<script type="text/javascript">
    function gonderrt(frm){
    $('#sonuc13').slideDown('slow');
    $("#sonuc13").html('<div id=resim><center><img src="../includes/img/loading.gif"></center></div>');
    $.ajax({
    type:'POST',
    url: frm.attr( 'action' ),
    data:frm.serialize(),
    success:function(cevap){
        
        $("#sonuc13").html(cevap)
    
    }
    
    })
    
    }
    </script>
    HTML ve JS nizi Bu Şekilde Düzenleyiniz Hocam.. js link kısımlarını kendi linklerinize göre düzenleyin..
    Kolaygelsin..

    
    
    
    <?php	
    
    		$tweet = $connection->get("https://api.twitter.com/1.1/statuses/user_timeline.json?screen_name=".$username."&count=10");
    		foreach ($tweet as $ayikla)
    		{
    		echo'<article class="box is-post">';
    		echo '<b>'.$ayikla->text.'</b>'; //Tweet
    		$tweetidsi = $ayikla->id_str;
    		//echo $tweetidsi;
    		echo'
    		<form  method="post" action="index.php?islem=fav" ><input name="favid" type="text" class="m-wrap" value="'.$tweetidsi.'" /> <input name="fav" type="button" class="button"  value="10 Favori Ekle"/></form>
            <form method="post" action="index.php?islem=rt" ><input name="rtid" type="text" class="m-wrap"  value="'.$tweetidsi.'" /> <input name="rtw" type="button" class="button"  value="10 Retweet Ekle"/></form>
        ';
    		
    		}
    
    ?>

    	  $('.button').click(function(){
    		islem=$(this).attr('name');
    		twit_id=$(this).parent().find('.m-wrap').val();
    		
    		if(islem=="fav")
    		 {
    		  adres="favori.php";
    		 }else{
    		 adres="retwit.php";
    		 }
    	
    		 yolla="twit_id="+twit_id;
    		 
    		 $.ajax({
    		   type: "post",
    		    url: adres,
    		    data :yolla,
    		    success : function(cevap){
    		   alert(cevap);
    		      //$("#goster").html(cevap);
    		  }
    		 });
    
    	  });
  • 19-08-2014, 15:39:46
    #4
    ArMoR adlı üyeden alıntı: mesajı görüntüle
    HTML ve JS nizi Bu Şekilde Düzenleyiniz Hocam.. js link kısımlarını kendi linklerinize göre düzenleyin..
    Kolaygelsin..

    
    
    
    <?php	
    
    		$tweet = $connection->get("https://api.twitter.com/1.1/statuses/user_timeline.json?screen_name=".$username."&count=10");
    		foreach ($tweet as $ayikla)
    		{
    		echo'<article class="box is-post">';
    		echo '<b>'.$ayikla->text.'</b>'; //Tweet
    		$tweetidsi = $ayikla->id_str;
    		//echo $tweetidsi;
    		echo'
    		<form  method="post" action="index.php?islem=fav" ><input name="favid" type="text" class="m-wrap" value="'.$tweetidsi.'" /> <input name="fav" type="button" class="button"  value="10 Favori Ekle"/></form>
            <form method="post" action="index.php?islem=rt" ><input name="rtid" type="text" class="m-wrap"  value="'.$tweetidsi.'" /> <input name="rtw" type="button" class="button"  value="10 Retweet Ekle"/></form>
        ';
    		
    		}
    
    ?>

    	  $('.button').click(function(){
    		islem=$(this).attr('name');
    		twit_id=$(this).parent().find('.m-wrap').val();
    		
    		if(islem=="fav")
    		 {
    		  adres="favori.php";
    		 }else{
    		 adres="retwit.php";
    		 }
    	
    		 yolla="twit_id="+twit_id;
    		 
    		 $.ajax({
    		   type: "post",
    		    url: adres,
    		    data :yolla,
    		    success : function(cevap){
    		   alert(cevap);
    		      //$("#goster").html(cevap);
    		  }
    		 });
    
    	  });
    uyguladım lakın çalıştıramadım hocam
  • 19-08-2014, 16:20:36
    #5
    Form Taglarınıda kullanmanıza Gerek Yoktur onlarıda silip yerine Güzel stil uygulama adına "li" tagları ekleyebilirsiniz

    Önemli: Kod Bu Haliyle Çalışmayacaktır.. $connection->get i Kullanabilmek için gerekli dosya veye fonksiyonun include edilmiş olması gerekir bilginize..

    Yani bu $connection->get twitter.php dosyasındaysa Bu Sayfamıza twitter.php yi include etmemiz gerekir kodun çalışması için..


    <!DOCTYPE HTML>
    <html lang="en-US">
    <head>
    	<meta charset="UTF-8">
    	<title></title>
       <script type="text/javascript" src="js/Jquery10.2.js"></script>
    <script type="text/javascript">
    	$(document).ready(function(){
     
    	  $('.button').click(function(){
    		islem=$(this).attr('name');
    		twit_id=$(this).parent().find('.m-wrap').val();
    		
    		if(islem=="fav")
    		 {
    		  adres="favori.php";
    		 }else{
    		 adres="retwit.php";
    		 }
    	
    		 yolla="twit_id="+twit_id;
    		 
    		 $.ajax({
    		   type: "post",
    		    url: adres,
    		    data :yolla,
    		    success : function(cevap){
    		   alert(cevap);
    		      //$("#goster").html(cevap);
    		  }
    		 });
    
    	  });
    	 
    	});
    </script>
    </head>
    <body>
    	
    <?php	
            $username="kullaniciadi";
    		$tweet = $connection->get("https://api.twitter.com/1.1/statuses/user_timeline.json?screen_name=".$username."&count=10");
    		foreach ($tweet as $ayikla)
    		{
    			echo'<article class="box is-post">';
    			echo '<b>'.$ayikla->text.'</b>';
    			$tweetidsi = $ayikla->id_str;
    			echo'
    			<form  method="post" action="index.php?islem=fav" ><input name="favid" type="text" class="m-wrap" value="'.$tweetidsi.'" /> <input name="fav" type="button" class="button"  value="10 Favori Ekle"/></form>
    			<form method="post" action="index.php?islem=rt" ><input name="rtid" type="text" class="m-wrap"  value="'.$tweetidsi.'" /> <input name="rtw" type="button" class="button"  value="10 Retweet Ekle"/></form>
    		</article>';
    			
    		}
    
    ?>
    
    </body>
    </html>


    --R10.NET; Flood Engellendi -->-> Yeni yazılan mesaj 16:20:36 -->-> Daha önceki mesaj 15:54:15 --

    Son Düzeltmeyi Yaptım Hocam..

    $( document ).delegate(".button", "click", function(e) { // Burayı atlamışım çalışma zamanı oluşturulan düğmelere bu şekilde ulaşırsınız Ben direk dosyay ekleyip çalıştırdığım için sorun yaşamamıştım
  • 19-08-2014, 16:42:03
    #6
    ArMoR adlı üyeden alıntı: mesajı görüntüle
    Form Taglarınıda kullanmanıza Gerek Yoktur onlarıda silip yerine Güzel stil uygulama adına "li" tagları ekleyebilirsiniz

    Önemli: Kod Bu Haliyle Çalışmayacaktır.. $connection->get i Kullanabilmek için gerekli dosya veye fonksiyonun include edilmiş olması gerekir bilginize..

    Yani bu $connection->get twitter.php dosyasındaysa Bu Sayfamıza twitter.php yi include etmemiz gerekir kodun çalışması için..


    <!DOCTYPE HTML>
    <html lang="en-US">
    <head>
    	<meta charset="UTF-8">
    	<title></title>
       <script type="text/javascript" src="js/Jquery10.2.js"></script>
    <script type="text/javascript">
    	$(document).ready(function(){
     
    	  $('.button').click(function(){
    		islem=$(this).attr('name');
    		twit_id=$(this).parent().find('.m-wrap').val();
    		
    		if(islem=="fav")
    		 {
    		  adres="favori.php";
    		 }else{
    		 adres="retwit.php";
    		 }
    	
    		 yolla="twit_id="+twit_id;
    		 
    		 $.ajax({
    		   type: "post",
    		    url: adres,
    		    data :yolla,
    		    success : function(cevap){
    		   alert(cevap);
    		      //$("#goster").html(cevap);
    		  }
    		 });
    
    	  });
    	 
    	});
    </script>
    </head>
    <body>
    	
    <?php	
            $username="kullaniciadi";
    		$tweet = $connection->get("https://api.twitter.com/1.1/statuses/user_timeline.json?screen_name=".$username."&count=10");
    		foreach ($tweet as $ayikla)
    		{
    			echo'<article class="box is-post">';
    			echo '<b>'.$ayikla->text.'</b>';
    			$tweetidsi = $ayikla->id_str;
    			echo'
    			<form  method="post" action="index.php?islem=fav" ><input name="favid" type="text" class="m-wrap" value="'.$tweetidsi.'" /> <input name="fav" type="button" class="button"  value="10 Favori Ekle"/></form>
    			<form method="post" action="index.php?islem=rt" ><input name="rtid" type="text" class="m-wrap"  value="'.$tweetidsi.'" /> <input name="rtw" type="button" class="button"  value="10 Retweet Ekle"/></form>
    		</article>';
    			
    		}
    
    ?>
    
    </body>
    </html>


    --R10.NET; Flood Engellendi -->-> Yeni yazılan mesaj 16:20:36 -->-> Daha önceki mesaj 15:54:15 --

    Son Düzeltmeyi Yaptım Hocam..

    $( document ).delegate(".button", "click", function(e) { // Burayı atlamışım çalışma zamanı oluşturulan düğmelere bu şekilde ulaşırsınız Ben direk dosyay ekleyip çalıştırdığım için sorun yaşamamıştım
    tmmdır hocam çalıştı allah razı olsun teşekkürler
  • 19-08-2014, 16:46:28
    #7
    mahirtaha adlı üyeden alıntı: mesajı görüntüle
    tmmdır hocam çalıştı allah razı olsun teşekkürler
    Cümlemizden İnşaallah..
    Kolaygelsin..