v2.5.2
Giriş yap

Eposta bülten aboneliği nasıl yapılır?

rephp7
639 defa görüntülendi ve 1 kişi tarafından değerlendirildi

Aklıma gelen özellikler şunlar, başka dikkat etmem gerekenler var mı?

  • çift kayıt olmasın diye :" şu tarihte eklenmiş aboneliğiniz var" uyarısı içersin,
  • eposta türkçe harf kontrolü yapsın, gmail ve hotmail dışında onay vermesin
  • eposta adresine onay emaili göndersin ki başkası yerine rastgele abonelik açılmasın,
  • sweetalert2 gibi hata ve success ile sonucu versin.

bu konuda nasıl bir yol izlemeli örnek bir video kaynak, kontrol ve güvenlik fonksiyonları,hazır kod örneği vs öneride bulunur musunuz?

venloress
1050 gün önce

Öncelikle kullanıcı mail adresini girip "bültene abone ol" butonuna tıkladığında, backend tarafında gerekli kontrolleri sağlarsın.

<?php
// Bulten formundan gelen verilerimiz
$csrfToken = $_POST['csrfToken'];
$mail = $_POST['email']

// csrf kontrolü, kötü amaçlı insanların abone spamı yapmasını engeller
if ($csrfToken == $_SESSION['csrfToken']):
    echo "csrf güvenlik";
else:
    // gelen değerin gerçekten mail olup olmadığını kontrol ediyoruz
    if (filter_var($mail, FILTER_VALIDATE_EMAIL)):
        
        // sadece gmail ve hotmail kabul edilmesi için kontrol sağlıyoruz
        if (strstr($mail,'gmail.com') || strstr($mail,'hotmail.com')):
        
            // bu alanda database e bağlanıp bu maili ekliyoruz
            // fakat mail onaylanma durumunu 0 olarak kaydediyoruz
            // ve kullanıcı mailine doğrulama linki gönderiyoruz
            // linke tıklandığında mail onaylanma durumu 1 yapıyoruz
            // 
            // artık database de kayıtlı olan ve durumu 1 olan maillere mail gönderebiliriz
            
        else:
            echo 'sadece gmail ve hotmail e izin veriliyor';
        endif;
        
    endif;
endif;

Database kısmını ve mail kısmını yazmadım. Mail göndermek için mailer kütüphanesini kullanabilirsin. Database bağlantısı da sana kalmış.
Herşey bittiğinde database'de doğrulanmış yani durumu 1 olan maillere bülten maillerini yine mailer kütüphanesini kullanarak atabilirsin.
Mesela yönetici paneline bir alan yaparsın ve bu alan doğrudan database de kayıtlı maillere mail atar. Veyahut sitende blog alanı olduğunu varsayalım ve her yeni blog paylaşıldığında otomatik buradaki maillere mail atar.