Kodları lütfen aşağıdaki butonları kullanarak renklendirin. Örnek: <php> echo "Selam Dünya"; </php>
Yardım
karakter kaldı

Facebook ile bağlan sonrası mantık

Arkadaşlar merhaba normal üyelikli bi sistemde her üyeye ait profil sayfası bulunmakta üyelere ait özel alanlar özel sayfalar yorum yapma vs.

Şimdi facebook bağlan ile kullanıcı sisteme giriş yaptıktan sonraki mantık nasıl olmalı ?

Bu kullanıcının bilgileri kayıt edilerek normal üye gibi mi gösteriliyor ? Aklıma gelen bu farklı bir mantığı varsa olayın bilmek isterim.
+0
-0
Cevaba KatılıyorumKatılmıyorum
Cevap Yaz Yorum Yaz Arşivime Ekle Takip Et

Doğru Cevap

  • gungnir89 adlı üyenin fotoğrafı
    9 yıl önce yazılmış
    25 cevap - 13 soru
    facebook bağlantısı ile apilerle normal üyelikten farklı çalışır bir sistem yapabilirsin. ya da facebook ile kaydol dediğinde kişinin bilgilerini apilerle çekip veritabanına normal üyelikteki gibi kaydedersin. aktivasyona gerek duymadan e-mail adresini falan olduğu gibi kaydedersin

Cevaplar

  • AhmetSEN adlı üyenin fotoğrafı
    9 yıl önce yazılmış
    9 yıl önce güncellenmiş
    3 cevap - 0 soru
    Ayırt edilmesi gereken tek şey normal üyelik sistemlerinde baz alınan şey kullanıcı adı ve şifre iken facebook ile bağlan yapan bir kişide baz alınan tek şey facebook'taki üye idsi. Bağlan işlemi gerçekleştiğinde giden sayfada üyenin facebook idsi kontrol edilir. Bu facebook id daha önceden varsa üye girişi yapan kişi için oluşturduğun sessionları bu kişi için oluşturursun ve sistem normal olarak çalışır. Zaten ilk kez bağlanıyorsa bilgileri veritabanına aktarılır. Facebook bağlan yapan kişilerin bilgilerini farklı bir tabloda tutmanız karmaşa yaratmayacağı düşüncesindeyim. Kendi projelerimde bu şekilde kullanmaktayım. Bilginize.
  • 1
    Alexander adlı üyenin fotoğrafı
    9 yıl önce yazılmış
    9 yıl önce güncellenmiş
    29 cevap - 28 soru
    * Veritabanındaki kullanıcılar tablosuna facebook_id adında bir alan açıyoruz. Bu alanı facebook logini kullanarak siteye giriş yapan kullanıcıların facebook id&#39;sini basmak için kullanacağız.

    * Kullanıcı login butonuna bastığında gerçekleşen adımlar :

    - Facebook API ile kullanıcının bilgilerini çekiyoruz.

    - İlk olarak veritabanın kullanıcılar tablosunda bu kullanıcın facebook id&#39;si veya email&#39;i ile eşleşen kullanıcıyı çekiyoruz.

        SELECT * FROM kullanicilar WHERE facebook_id='36546854654' OR email='email@email.com'
        

    -Kullanıcılar tablomuzdaki email alanındaki değer tekil olacağı için eğer kullanıcı daha önce aynı email ile kaydolduğu halde facebook login ile giriş yapmaya çalıştığında email ile kullanıcıyı bulmuş olacağız.

    - Eğer kullanıcı bulunursa demekki daha önce facebook login ile giriş yapmış veya sitemizin kayıt formundan kayıt olmuştur. Eğer veritabanında bulunan kullanıcının facebook id&#39;si boş ise kullanıcının daha önce kayıt formu doldurarak sistemimize kayıt olduğunu anlıyoruz ve kullanıcının facebook_id alanını apiden gelen facebook id ile güncelliyoruz. Eğer veritabanından gelen facebook_id değeri apiden gelen facebook id değeri ile eşitse kullanıcının facebook login ile daha önce sistemimize giriş yaptığını anlıyoruz, bu durumda herhangi bir işlem yapmadan direk veritabanından çektiğimiz bilgileri kullanarak session değerlerini atayıp kullanıcıyı giriş yaptırıyoruz.

    - Eğer sorgu sonucunda kullanıcı bulunamazsa demekki kullanıcı daha önce sistemimize kayıt olmadığını ve ilk defa facebook login ile sistemimize giriş yaptığını anlıyoruz. Facebook API ile kullanıcının bize lazım olan bilgilerini(facebook id, kullanıcıadı, adı, soyadı, email,cinsiyet vs) alıyoruz. Bu bilgileri kullanarak kullanıcıyı veritabanına insert ediyoruz ve ardından hemen session değerlerini atayarak kullanıcıyı sisteme giriş yaptırıyoruz.

    Elimden geldiğince anlatmaya çalıştım umarım yanlış bilgi vermemişimdir.
    • kres adlı üyenin fotoğrafı kres
      ayrıntılı anlattığın için teşekkür edeirm.
      9 yıl önce yazılmış
  • kres adlı üyenin fotoğrafı
    9 yıl önce yazılmış
    9 yıl önce güncellenmiş
    5 cevap - 7 soru
    Genel olarak mantığını anladım.Yorumlarınız için teşekkür ederim arkadaşlar.