Php ile ayni kayiti engelleme - R10.net
  • 27-03-2020, 02:44:23
    #1
    <?php
    
    if(isset($_SESSION["login"])){
    header("Location:/home");
    exit;
    }
    
    if($_POST){
    
    $email = post($_POST["email"]);
    $username = post($_POST["username"]);
    $password = post($_POST["password"]);
    
    if(empty(trim($email))){
    $error = "Email adresi boş bırakmayın";
    }else if(empty(trim($username))){
    $error = "Kullanıcı adı boş bırakmayın";
    }else if(empty(trim($password))){
    $error = "Şifre alanı boş bırakmayın";
    }else{
    
    $ch = curl_init();
    
    curl_setopt($ch, CURLOPT_URL,"https://www.google.com/recaptcha/api/siteverify");
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_POSTFIELDS,
    "secret=".getSetting("recaptchasecret")."&response=".@$_POST["g-recaptcha-response"]."");
    
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    $server_output = curl_exec($ch);
    
    $server_output = json_decode($server_output, true);
    
    
    curl_close ($ch);
    //require_once '../static/class.phpmailer.php';
    if($server_output["success"] == true){
    
    $rand = rand(1000000000,9999999999);
    
    $insert = $db->prepare("INSERT INTO users SET username = ?, email = ?, password = ?, status = ?, bot_limit = ?");
    $insertExec =$insert->execute(array($username, $email, password_hash($password, PASSWORD_DEFAULT), $rand, 1));
    
    if($insertExec){
    
    $mail = new PHPMailerPHPMailerPHPMailer();
    $mail->SMTPDebug = 0;
    $mail->IsSMTP();
    $mail->SMTPAuth = true;
    $mail->Host = 'smtp.yandex.com.tr';
    $mail->Port = 587;
    $mail->SMTPSecure = 'tls';
    $mail->Username = ''
    $mail->Password = '';
    $mail->SetFrom($mail->Username, 'Leakunix');
    $mail->AddAddress($email, $username);
    $mail->CharSet = 'UTF-8';
    $mail->Subject = 'Aktivasyon Maili';
    $content = '
    
    <div bgcolor="#F7F7F7" style="font-family:Arial,sans-serif;font-size:14px;line-height:1.4;margin:0;padding:0;width:100%">
    <table border="0" cellpadding="0" cellspacing="0" class="m_-4585512668697881516body" style="border-collapse:separate;width:100%;background-color:#f6f6f6">
    <tbody><tr>
    <td style="font-family:Arial,sans-serif;font-size:14px;vertical-align:top;Margin:0 auto;padding:10px 10px 30px">
    <table style="margin:0 auto;width:100%;max-width:606px">
    <tbody><tr>
    <td>
    </td>
    </tr>
    <tr>
    <td style="font-family:Arial,sans-serif;font-size:14px;vertical-align:top;padding-top:20px">
    <table style="width:100%;border:1px solid #d6d6d6;border-radius:3px;border-collapse:collapse" bgcolor="#fff">
    <tbody><tr>
    <td style="padding-top:30px;text-align:center;font-size:16px;line-height:17px;color:#f7931a">
    <span style="padding-top:20px;text-align:center;padding-left:40px;padding-right:40px;font-size:36px;line-height:44px;font-weight:bold">LEAKUNIX</span>
    </td>
    <tr>
    <td style="padding:10px;border-bottom:1px solid #d6d6d6">
    
    </td>
    </tr>
    <tr>
    <td class="m_-4585512668697881516block" style="padding-top:20px;padding-left:40px;padding-right:40px;padding-bottom:40px">
    <p style="font-size:15px;line-height:26px;color:#494949;margin:0">Merhaba, '.$username.'<br><br>Hesabınızı aktifleştirebilmeniz için birkaç adım kaldı bu adımları geçmek istiyorsanız aşağıdan hesabınızı onaylayınız, aksi taktirde hesabınıza giriş yapamayacaksınız.</p>
    </td>
    </tr>
    <tr>
    <td style="padding:10px;border-bottom:1px solid #d6d6d6">
    
    </td>
    </tr>
    <tr>
    <td>
    <p style="text-align:center;margin:50px 0 0"><a href="http://leakunix.com/activate/'.$rand.'" class="m_-4585512668697881516button" style="display:inline-block;line-height:60px;background-color:#4285f4;color:#fff;width:280px;border-radius:3px;text-decoration:none;font-weight:bold;text-transform:uppercase;text-align:center;text-decoration:none;font-size:16px;margin-bottom:50px" target="_blank">HESABIMI ONAYLA</a></p>
    </td>
    </tr>
    </tbody></table>
    </td>
    </tr>
    <tr>
    <td style="height:30px"></td>
    </tr>
    
    
    <tr>
    <td style="text-align:center;padding-left:20px;padding-right:20px;color:#888;font-size:12px">
    
    Copyright 2019 © LEAKUNIX
    
    </td>
    </tr>
    </tbody></table>
    </td>
    </tr>
    </tbody></table>
    </div>
    
    
    ';
    
    $mail->MsgHTML($content);
    if($mail->Send()) {
    $error = "Hesabınız oluşturuldu mail adresine gönderdiğimiz linke tıklayın.";
    } else {
    $error = $mail->ErrorInfo;
    }
    
    }else{
    $error = "Bir hata oluştu";
    }
    }else{
    $error = "Bot doğrulaması yapmalısınız.";
    }
    
    }
    
    }
    
    require "view/register.php";
    
    ?>
    
    Arkadaşlar böyle bir php kayıt olma kodum var ve aynı mail ve kullanıcı adı ile kayıdı engellemek istiyorum nasıl yapabilirim ?
    Leakunix.com
  • 27-03-2020, 02:50:08
    #2
    Isset fonksiyonunu araştırın. Mobilde olduğum için kod örneği gönderemiyorum ancak sorununuzu dediğim yöntem çözer.
    https://mertdogan.net
  • 27-03-2020, 02:55:12
    #3
    MythDev adlı üyeden alıntı
    Isset fonksiyonunu araştırın. Mobilde olduğum için kod örneği gönderemiyorum ancak sorununuzu dediğim yöntem çözer.
    php bilgim iyi değil o yüzden yapabileceğimden emin değilim.
    Leakunix.com
  • 27-03-2020, 02:59:17
    #4
    metecangurel adlı üyeden alıntı
    php bilgim iyi değil o yüzden yapabileceğimden emin değilim.
    Yarın öğlen bir kod örneği yazarım buraya. Onun üzerinden devam edersiniz. Kod örneği yazınca mantığı anlarsınız.
    https://mertdogan.net
  • 27-03-2020, 02:59:26
    #5
    insert kodundan önce bir sorgu ile varolan kayıt kontrolü yapmalısınız.
    $user_exists = $db->prepare("SELECT COUNT(username) FROM users WHERE username = ? OR email = ?");
    $user_exists_count = $user_exists->execute(array($username,$email));
    if($user_exists_count > 0){
         /* kullanıcı adı veya e-posta adresinden birisi kullanımda*/
         //hata mesajınız
    }else{
         //buradan aşağısı sizin kodunuz, bunun bir satır üstüne kontroller gelecek
         $insert = $db->prepare("INSERT INTO users SET username = ?, email = ?, password = ?, status = ?, bot_limit = ?");
    .........
    }
    e-basit.com - Web Tasarım ve Yazılım Çözümleri - Özel Tasarım - Özel Yazılım - İçerik Yönetim Sistemi
  • 27-03-2020, 03:40:39
    #6
    Bu ne la? Adam konu başlığını yazıp kodları koyup beklemeye geçmiş, insan açıklama olarak birşey yazar al yap der gibi bu nedir? Mantık basit ama isteme tarzın yanlış.
    Ultibil
  • 27-03-2020, 03:41:43
    #7
    ultibil adlı üyeden alıntı
    Bu ne la? Adam konu başlığını yazıp kodları koyup beklemeye geçmiş, insan açıklama olarak birşey yazar al yap der gibi bu nedir? Mantık basit ama isteme tarzın yanlış.
    Neden bu kadar agresif yapıda oldugunuzu öğrenebilirmiyim ? yardımcı olanlarla özelden konuşuyorum zaten, sakinleştiricilerinizi almayı unutmayınız.
    Leakunix.com
  • 27-03-2020, 03:43:25
    #8
    ultibil adlı üyeden alıntı
    Bu ne la? Adam konu başlığını yazıp kodları koyup beklemeye geçmiş, insan açıklama olarak birşey yazar al yap der gibi bu nedir? Mantık basit ama isteme tarzın yanlış.
    Konu sahibi zaten bir açıklama yapmış, lütfen direk yargılama yapmayalım.

    "Arkadaşlar böyle bir php kayıt olma kodum var ve aynı mail ve kullanıcı adı ile kayıdı engellemek istiyorum nasıl yapabilirim"
    Kim zerre kadar iyilik yaparsa ve kim de zerre kadar kötülük yaparsa karşılığını alacak.
  • 27-03-2020, 03:51:25
    #9
    metecangurel adlı üyeden alıntı
    Neden bu kadar agresif yapıda oldugunuzu öğrenebilirmiyim ? yardımcı olanlarla özelden konuşuyorum zaten, sakinleştiricilerinizi almayı unutmayınız.
    Açıklamayı kod blogunun içine yazmışın o yüzden görmedim.

    Ayrıca ne o sakinleştirici lafı öyle çocuk gibi.

    Mobildeyim pcde olsaydim yardımcı olurdum. İyi geceler.
    Ultibil