• 06-09-2012, 17:05:00
    #1
    Şimdi yazdığım yazılar scripti var. Kullanıcılar yazı yazıp, başkalarının yazılarını takip edebiliyorlar. Takip Et butonunda sorun yok. Zaten takip ediyorsanız, tekrar takip etmeyi denerseniz uyarı veriyor.

    Ama ben eğer takip ediliyorsa takip etmeyi kaldır butonu, takip edilmiyorsa takip et butonu eklemek istiyorum.

    takipciler veritabanı:
    id | takipeden | takipedilen

    Birde $_SESSION[''] şeklinde giriş yapan kullanıcının bilgilerini çektiriyorum.

    Bilen arkadaşlardan yardım bekliyorum
  • 06-09-2012, 18:16:56
    #2
    <?php
    $uyeid = $_GET["id"];
    $ben = $_SESSION["id"];
    $sor1q =  mysql_query("SELECT * FROM takipciler ORDER BY id ASC");
    while ($sorgu = mysql_fetch_array($sor1q, MYSQL_ASSOC))
    {
    	if($sorgu["takipeden"] == $ben && $sorgu["takipedilen"] == $uyeid)
    	{
    		$var = "1";
    	}
    }
    if (isset($var))
    {
    	echo 'Takibi bırak butonu';
    }
    else
    {
    	echo 'Takip et butonu';
    }
    ?>
    Neler yaptığımızı özetlersek örnek olarak index.php?id=35 şeklinde bir kullanıcının sayfasını görüntülüyorsak $_GET ile id numarasını aldık, $_SESSION'dan da kendi numaramızı. Sonra veritabanındaki tablodan kontrolünü yaptık, ona göre çıktı verdik.

    Kendinize göre düzenlersiniz
  • 06-09-2012, 18:38:23
    #3
    ZorbAA adlı üyeden alıntı: mesajı görüntüle
    <?php
    $uyeid = $_GET["id"];
    $ben = $_SESSION["id"];
    $sor1q =  mysql_query("SELECT * FROM takipciler ORDER BY id ASC");
    while ($sorgu = mysql_fetch_array($sor1q, MYSQL_ASSOC))
    {
    	if($sorgu["takipeden"] == $ben && $sorgu["takipedilen"] == $uyeid)
    	{
    		$var = "1";
    	}
    }
    if (isset($var))
    {
    	echo 'Takibi bırak butonu';
    }
    else
    {
    	echo 'Takip et butonu';
    }
    ?>
    Neler yaptığımızı özetlersek örnek olarak index.php?id=35 şeklinde bir kullanıcının sayfasını görüntülüyorsak $_GET ile id numarasını aldık, $_SESSION'dan da kendi numaramızı. Sonra veritabanındaki tablodan kontrolünü yaptık, ona göre çıktı verdik.

    Kendinize göre düzenlersiniz
    Hocam yardımınız için çok teşekkür ederim, yalnız $var = "1"; nedir? Merakımdan soruyorum, bir amacımda öğrenmek
  • 06-09-2012, 18:58:20
    #4
    Açıklayayım hemen

    if($sorgu["takipeden"] == $ben && $sorgu["takipedilen"] == $uyeid)
    bu koşul gerçekleşirse $var isminde bir değişken oluşturuluyor ve örnek olarak "1" değeri veriliyor. Döngü bittiği zaman bu şekilde bir değişken oluşturulup oluşturulmadığı kontrol ediliyor.

    Böyle bir değşiken ancak yukarıda belirttiğim if döngüsünün şartı yerine gelirse oluşturulur. Onun dışındaki durumlarda böyle bir değişken oluşturulmaz.

    Döngü bittikten sonra da yapılan if kontrolü ile $var değişkeninin oluşup oluşmadığına bakıyoruz. Yani dolayısıyla kullanıcının diğer kullanıcıyı takip edip etmediğini. Ona göre çıktı veriyoruz
  • 06-09-2012, 19:04:17
    #5
    ZorbAA adlı üyeden alıntı: mesajı görüntüle
    Açıklayayım hemen

    if($sorgu["takipeden"] == $ben && $sorgu["takipedilen"] == $uyeid)
    bu koşul gerçekleşirse $var isminde bir değişken oluşturuluyor ve örnek olarak "1" değeri veriliyor. Döngü bittiği zaman bu şekilde bir değişken oluşturulup oluşturulmadığı kontrol ediliyor.

    Böyle bir değşiken ancak yukarıda belirttiğim if döngüsünün şartı yerine gelirse oluşturulur. Onun dışındaki durumlarda böyle bir değişken oluşturulmaz.

    Döngü bittikten sonra da yapılan if kontrolü ile $var değişkeninin oluşup oluşmadığına bakıyoruz. Yani dolayısıyla kullanıcının diğer kullanıcıyı takip edip etmediğini. Ona göre çıktı veriyoruz
    Çok sağolun açıklama için hocam Yavaş yavaş öğreniyorum işte, size zahmet olmazsa bir sorum daha var:

    Takip etmeyi bırak sayfası oluşturuyorum. Bunun için takip et sayfasında kullandığım kodlarda değişiklik yapmaya karar verdim.

    İstediğim şey, zaten takip etmiyorsunuz! uyarısı verdirmek. Fakat baştaki if bölümünü nasıl düzenleyeceğimi bilemedim.

    takipet.php 'de bu bölümün kodları:

    if($takipeden == $benimid or $takipedilen == $numara){ 
    	echo '<script type="text/javascript">alert("Zaten takip ediyorsunuz!");</script>';
    	echo '<meta http-equiv="refresh" content="0;URL='.$urlayar.'/'.$usernamee.'">';
    }else{
    $takipet = mysql_query("INSERT INTO takipciler (id,takipeden,takipedilen) VALUES ('','$benimid','$numara')");
    echo '<script type="text/javascript">alert("'.$usernamee.' artık takip ediliyor.");</script>';
    echo '<meta http-equiv="refresh" content="0;URL='.$urlayar.'/'.$usernamee.'">';
    }
  • 06-09-2012, 19:12:28
    #6
    Verdiğim kodları aynen kullanabilirsiniz orada da
    Zaten mantığını anlattım. Sadece şu kısmında ufak bir değişiklik yapmanız yeterli olur:
    Burayı:
    if (isset($var)) 
    { 
        echo 'Takibi bırak butonu'; 
    } 
    else 
    { 
        echo 'Takip et butonu'; 
    } 
    ?>
    Şöyle değiştirince istediğiniz sonucu elde edersiniz:
    if (isset($var)) 
    { 
        //buraya takibi bırakma kodları gelecek. Onları nasıl yazmak istiyorsanız yazabilirsiniz :) 
    } 
    else 
    { 
        echo 'Zaten takip etmiyorsunuz!'; 
    } 
    ?>
    $var değişkeni ayarlanmışsa kullanıcı diğer üyeyi takip ediyordur, takip etme işlemini sonlandıracak kodları yazabilirsiniz. Eğer ayarlanmamışsa takip etmediği için hata iletisini görüntülersiniz. Ben örnek olarak yazdım