img
Php İle E-Posta Doğrulama Ve Aktivasyon Sistemi

Php İle E-Posta Doğrulama Ve Aktivasyon Sistemi

Web projelerinde kullanıcı doğrulaması, güvenliğin sağlanması ve spam hesapların önlenmesi açısından oldukça önemlidir. PHP ile e-posta doğrulama ve aktivasyon sistemi oluşturmak, kullanıcıların hesaplarını doğrulamaları için e-posta yoluyla aktivasyon linki gönderilmesini sağlar. Bu makalede, PHP e-posta doğrulama ve aktivasyon sistemi oluşturmanın önemini, sürecini ve örnek kodlarını adım adım inceleyeceğiz.

Kullanıcı kayıt sürecinde e-posta doğrulaması, güvenli ve geçerli kullanıcıların sisteme kaydolmasını sağlar. Bu makalede, PHP kullanarak e-posta doğrulama ve aktivasyon sistemi oluşturmayı, gerekli adımları ve örnek kodları öğreneceksiniz. Anahtar kelimeler:PHP e-posta doğrulama, e-posta aktivasyon, PHP mailer, kullanıcı doğrulama.

E-posta Doğrulamanın Önemi

E-posta doğrulaması, kullanıcıların gerçek e-posta adreslerini kullanarak kaydolmalarını sağlar ve spam hesapların önüne geçer. Ayrıca, kullanıcıların e-posta adreslerine erişimleri olduğunu doğrulayarak, hesap güvenliğini artırır. E-posta doğrulama ile:

  • Geçerli e-posta adreslerine sahip kullanıcılar kaydolur.
  • Spam ve sahte hesaplar önlenir.
  • Kullanıcı hesap güvenliği sağlanır.

PHP ile E-posta Gönderme

E-posta doğrulama sürecinin ilk adımı, kullanıcının kaydolduğunda doğrulama e-postası göndermektir. Bunun için PHPMailer gibi bir kütüphane kullanabiliriz. PHPMailer, SMTP protokolü üzerinden e-posta gönderimini kolaylaştırır.

PHPMailer Kurulumu

PHPMailer'ı Composer ile kolayca kurabilirsiniz:

composer require phpmailer/phpmailer

PHPMailer ile E-posta Gönderme

<?php
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;

require 'vendor/autoload.php';

function sendVerificationEmail($userEmail, $token) {
    $mail = new PHPMailer(true);
    try {
        $mail->isSMTP();
        $mail->Host = 'smtp.example.com';
        $mail->SMTPAuth = true;
        $mail->Username = 'your_email@example.com';
        $mail->Password = 'your_password';
        $mail->SMTPSecure = 'tls';
        $mail->Port = 587;

        $mail->setFrom('your_email@example.com', 'Mailer');
        $mail->addAddress($userEmail);

        $mail->isHTML(true);
        $mail->Subject = 'E-posta Doğrulama';
        $mail->Body    = "Lütfen hesabınızı doğrulamak için aşağıdaki linke tıklayın: <a href='http://yourdomain.com/verify.php?token=$token'>Doğrulama Linki</a>";

        $mail->send();
        echo 'Doğrulama e-postası gönderildi.';
    } catch (Exception $e) {
        echo "E-posta gönderilemedi. Mailer Hatası: {$mail->ErrorInfo}";
    }
}
?>

Doğrulama Linki ve Kullanıcı Aktivasyonu

Kullanıcı kayıt olduğunda, bir doğrulama token'ı oluşturup bunu veritabanında saklamalı ve kullanıcıya e-posta ile göndermelisiniz. Kullanıcı e-postadaki linke tıkladığında, token'ı kontrol edip hesabını aktif hale getirebilirsiniz.

Kayıt İşlemi ve Token Oluşturma

<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "database";

$conn = new mysqli($servername, $username, $password, $dbname);

if ($conn->connect_error) {
    die("Bağlantı hatası: " . $conn->connect_error);
}

if ($_SERVER['REQUEST_METHOD'] == 'POST') {
    $userEmail = $_POST['email'];
    $token = bin2hex(random_bytes(50));

    $sql = "INSERT INTO users (email, token, is_active) VALUES ('$userEmail', '$token', 0)";
    
    if ($conn->query($sql) === TRUE) {
        sendVerificationEmail($userEmail, $token);
    } else {
        echo "Hata: " . $sql . "<br>" . $conn->error;
    }
}
$conn->close();
?>

Doğrulama Linkini İşleme

<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "database";

$conn = new mysqli($servername, $username, $password, $dbname);

if ($conn->connect_error) {
    die("Bağlantı hatası: " . $conn->connect_error);
}

if (isset($_GET['token'])) {
    $token = $_GET['token'];
    $sql = "SELECT * FROM users WHERE token='$token' AND is_active=0";
    $result = $conn->query($sql);

    if ($result->num_rows > 0) {
        $sql = "UPDATE users SET is_active=1 WHERE token='$token'";
        if ($conn->query($sql) === TRUE) {
            echo "Hesabınız aktif edildi!";
        } else {
            echo "Hata: " . $conn->error;
        }
    } else {
        echo "Geçersiz veya süresi dolmuş token.";
    }
}
$conn->close();
?>

Örnek Kod ve Uygulama

Tüm süreci bir araya getiren örnek bir uygulama oluşturduk. Aşağıdaki kodlar, kullanıcı kaydı, doğrulama e-postası gönderme ve aktivasyon işlemlerini içermektedir.

Kayıt Formu (register.html)

<!DOCTYPE html>
<html lang="tr">
<head>
    <meta charset="UTF-8">
    <title>Kayıt Formu</title>
</head>
<body>
    <form action="register.php" method="post">
        <label for="email">Email:</label>
        <input type="email" id="email" name="email" required><br>
        <input type="submit" value="Kaydol">
    </form>
</body>
</html>

Kayıt İşleme ve E-posta Gönderme (register.php)

<?php
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;

require 'vendor/autoload.php';

$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "database";

$conn = new mysqli($servername, $username, $password, $dbname);

if ($conn->connect_error) {
    die("Bağlantı hatası: " . $conn->connect_error);
}

function sendVerificationEmail($userEmail, $token) {
    $mail = new PHPMailer(true);
    try {
        $mail->isSMTP();
        $mail->Host = 'smtp.example.com';
        $mail->SMTPAuth = true;
        $mail->Username = 'your_email@example.com';
        $mail->Password = 'your_password';
        $mail->SMTPSecure = 'tls';
        $mail->Port = 587;

        $mail->setFrom('your_email@example.com', 'Mailer');
        $mail->addAddress($userEmail);

        $mail->isHTML(true);
        $mail->Subject = 'E-posta Doğrulama';
        $mail->Body    = "Lütfen hesabınızı doğrulamak için aşağıdaki linke tıklayın: <a href='http://yourdomain.com/verify.php?token=$token'>Doğrulama Linki</a>";

        $mail->send();
        echo 'Doğrulama e-postası gönderildi.';
    } catch (Exception $e) {
        echo "E-posta gönderilemedi. Mailer Hatası: {$mail->ErrorInfo}";
    }
}

if ($_SERVER['REQUEST_METHOD'] == 'POST') {
    $userEmail = $_POST['email'];
    $token = bin2hex(random_bytes(50));

    $sql = "INSERT INTO users (email, token, is_active) VALUES ('$userEmail', '$token', 0)";
    
    if ($conn->query($sql) === TRUE) {
        sendVerificationEmail($userEmail, $token);
    } else {
        echo "Hata: " . $sql . "<br>" . $conn->error;
    }
}
$conn->close();
?>

Doğrulama İşleme (verify.php)

<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "database";

$conn = new mysqli($servername, $username, $password, $dbname);

if ($conn->connect_error) {
    die("Bağlantı hatası: " . $conn->connect_error);
}

if (isset($_GET['token'])) {
    $token = $_GET['token'];
    $sql = "SELECT * FROM users WHERE token='$token' AND is_active=0";
    $result = $conn->query($sql);

    if ($result->num_rows > 0) {
        $sql = "UPDATE

 users SET is_active=1 WHERE token='$token'";
        if ($conn->query($sql) === TRUE) {
            echo "Hesabınız aktif edildi!";
        } else {
            echo "Hata: " . $conn->error;
        }
    } else {
        echo "Geçersiz veya süresi dolmuş token.";
    }
}
$conn->close();
?>

PHP ile e-posta doğrulama ve aktivasyon sistemi, kullanıcıların geçerli e-posta adresleriyle kaydolmalarını sağlayarak hesap güvenliğini artırır. Bu makalede, e-posta doğrulamanın önemini, PHP ile e-posta gönderme yöntemlerini ve doğrulama linki ile kullanıcı aktivasyon sürecini öğrendik. PHP e-posta doğrulama ve aktivasyon sistemini uygulayarak, web projelerinizi daha güvenli hale getirebilirsiniz.

İlk Yorumu Yapan Sen Ol!

Web Tasarımlar

  • Lisans Yönetim Scripti 2

    22.5K
    1000.00₺
  • Canlı Radyo Dark Scripti

    15.1K
    1000.00₺
  • Canlı Radyo Light Scripti

    8.9K
    1000.00₺
  • Rüzgar Radyo Scripti

    8.8K
    0.00₺
  • Radyo Minimal

    4.7K
    1000.00₺
  • Ekitap Scripti

    6.6K
    3000.00₺
  • Aşk Sevgililer GünüEvlilik

    8.1K
    1000.00₺
  • Sohbet Scripti

    8.6K
    0.00₺
  • Dialog Whatsapp Benzeri Sohbet

    5.4K
    0.00₺
  • Firebase Chat

    4.2K
    0.00₺
  • Web Ajans Scripti

    27.4K
    3500.00₺
  • Ajans Scripti Kolay Kullanım

    3.5K
    1000.00₺
  • Ajans Scripti V2

    3.5K
    1000.00₺
  • Ajans Scripti V3

    3.5K
    1000.00₺
  • Avukat Ve Hukuk Bürosu Scripti

    2.5K
    1000.00₺
  • Avukat Ve Hukuk Bürosu Web Tasarım V2

    3.1K
    1000.00₺
  • Mobil Uyumlu Çilingir Scripti

    2.3K
    1000.00₺
  • Kuaför Güzellik Salonu Spa Merkezi Web Tasarım

    3K
    1000.00₺
  • Sağlık Güzellik Poliklinik Dişçi Hastane Web Tasarımı

    2.6K
    1000.00₺
  • Sağlık Güzellik Poliklinik Dişçi Hastane Web Tasarımı V2

    44K
    1000.00₺
  • İlaçlama Şirketi Web Tasarımı

    6.4K
    1000.00₺
  • İlan Web Tasarımı

    2.8K
    1000.00₺
  • İlan Web Tasarımı V2

    2.6K
    1500.00₺
  • İnşaat Firması Web Tasarımı

    2.3K
    1000.00₺
  • İnşaat Firması Tasarımı V2

    2.4K
    1000.00₺
  • Kitapçı Kırtasiye Web Tasarımı

    2.8K
    1000.00₺
  • Kombi Klima Servisi Web Tasarımı

    2.6K
    1000.00₺
  • Korku Evi Eğlence Mekanı Web Tasarımı

    2.6K
    1000.00₺
  • Kurumsal Firma Web Tasarımı V2

    3.7K
    1000.00₺
  • Kurumsal Firma Web Tasarımı V3

    3.8K
    1000.00₺
  • Ajans Web Tasarımı V4

    2.8K
    1500.00₺
  • Kurumsal Firma Web Tasarımı V4

    3.4K
    1000.00₺
  • Kurumsal Firma Web Tasarımı V5

    4K
    1000.00₺
  • Kurumsal Firma Web Tasarımı V6

    3.6K
    1000.00₺
  • Kurumsal Firma Web Tasarımı V7

    4K
    1000.00₺
  • Kurumsal Firma Web Tasarımı V8

    3.4K
    1000.00₺
  • Mobilya Dekorasyon Web Tasarımı

    3.2K
    1000.00₺
  • Nakliyat Taşımacılık Web Tasarımı

    2.5K
    1000.00₺
  • Nakliyat Taşımacılık Web Tasarımı V2

    2.9K
    1000.00₺
  • Nakliyat Taşımacılık Web Tasarımı V3

    3.1K
    1000.00₺
  • Ana Okulu Ve Kreş Web Tasarımı

    2.6K
    1000.00₺
  • Otel Pansiyon Web Tasarımı

    2.7K
    1000.00₺
  • Özel Oto Servis Web Tasarımı

    2.5K
    1000.00₺
  • Rent A Car Araç Kiralama Web Tasarımı

    6.7K
    1000.00₺
  • Rent A Car Araç Kiralama Web Tasarımı V2

    3.8K
    1000.00₺
  • Restaurant Cafe Bar Lokanta Web Tasarımı

    3.2K
    1000.00₺
  • Restaurant Cafe Bar Lokanta Web Tasarımı V2

    3.1K
    1000.00₺
  • Teknik Servis Web Tasarımı

    3.2K
    1000.00₺
  • Sigorta Acenta Web Tasarımı

    2.6K
    1000.00₺
  • Spor Salonu Body Fitness Web Tasarımı

    2.8K
    1000.00₺
  • Spor Salonu Body Fitness Web Tasarımı V2

    3.1K
    1000.00₺
  • Sürücü Kursu Web Tasarımı

    3.3K
    1000.00₺
  • Tek Ürün Satış Web Tasarımı

    3.4K
    1000.00₺
  • Tek Ürün Satış Web Tasarımı V2

    3.1K
    1000.00₺
  • Tek Ürün Yaprak Web Tasarımı

    2.9K
    1100.00₺
  • Tek Ürün Yaprak Web Tasarımı V2

    3.2K
    1100.00₺
  • Tek Ürün Satış Web Tasarımı V3

    3.1K
    1000.00₺
  • Temizlik Şirketi Web Tasarımı

    3.1K
    1000.00₺
  • Temizlik Şirketi Web Tasarımı V2

    3.2K
    1000.00₺
  • Ajans Web Tasarımı V5

    3.5K
    1000.00₺
  • Ajans Web Tasarımı V6

    4.7K
    1000.00₺
  • Werock Radyo Web Tasarımı

    4.7K
    1000.00₺
  • Avukat Ve Hukuk Bürosu Tasarımı V3

    1.9K
    1000.00₺
  • Kuaför Güzellik Salonu Spa Merkezi Web Tasarımı V2

    1.8K
    1000.00₺
  • Sağlık Güzellik Poliklinik Dişçi Hastane Web Tasarımı V3

    6.4K
    1000.00₺
  • İnşaat Firması Web Tasarımı V3

    1.8K
    1000.00₺
  • Kurumsal Firma Web Tasarımı V9

    2K
    1000.00₺
  • Mimarlık Web Tasarımı

    1.7K
    1000.00₺
  • Nakliyat Taşımacılık Web Tasarımı V4

    2.1K
    1000.00₺
  • Ana Okulu Ve Kreş Web Tasarımı V2

    1.7K
    1000.00₺
  • Psikolog Web Tasarımı

    1.9K
    1000.00₺
  • Spor Salonu Body Fitness Web Tasarımı V3

    2.1K
    1200.00₺
  • Sürücü Kursu Web Tasarımı V2

    2.2K
    1000.00₺
  • Teknik Servis Web Tasarımı V3

    2.5K
    1000.00₺
  • Ajans Web Tasarımı V7

    2.2K
    900.00₺
  • Google Indexing Api

    845
    500.00₺
  • Milando Radyo Wordpress Teması

    1K
    1000.00₺

Vip Tema Web Ajans Yazılımı

Profesyonel ve her yönü ile kontrol edilebilir gelişmiş çok özellikli ajans yazılımıdır. İşte öne çıkan özellikler.

  • PAYTR Ödeme Entegrasyonu
  • SHIPY Ödeme Entegrasyonu
  • WHM Hosting Satış Entegrasyonu
  • Domain Sorgulama/Satış Entegrasyonu
  • Google Authenticator
  • SMS 2 Faktörlü Doğrulama
  • Net Gsm SMS Entegrasyonu
  • İleti Merkezi SMS Entegrasyonu
  • İnteraktif SMS Entegrasyonu
  • Mas GSM SMS Entegrasyonu
img