folder Tahribat.com Forumları
linefolder Asp - Php - Cgi - Perl
linefolder Kullanıcı Adı Eposta Kontrolü (Yardım)



Kullanıcı Adı Eposta Kontrolü (Yardım)

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    mchacker
    mchacker's avatar
    Kayıt Tarihi: 03/Eylül/2005
    Erkek

    Merhaba arkadaşlar.

    Ben kendi hazırlayacağım siteler için  Üyelik sistemi yapmaya çalışıyorum php ve ajax ile. Fakat takıldığım bir konu var oda kayıt eklerken kullanıcı adı ve eposta databasede varmı yokmu ve eposta adresi gerçek eposta adresimi onun kontrolü. dün abartısız 4 5 saat bunu araştırdım internette ama istediğimi bulamadım.

    Benim istediğim kod değil arkadaşlar sadece mantığı.

    Benim düşündüğüm.

    bir kayıt formu yapacağım kadı eposta şifre ıvır zıvır yazan.

    kontrol.php diye bir dosya oluşturacağım. Bu dosya veritaabanına bağlanacak ve ajax ile gelen veriyi veritabanaında varmı yokmu kontrol edecek.

    örneğin.

    if else ile kontrol edilecek

    burda ilk kontrol

    1. if kullanıcı adı alanı boş ise hata mesajı bu alan boş bırakılamaz.

    boş olup olmadığını nasıl anlarım onu bilmiyorum. eğer boş değise

    2. else if  kullanıcı adı 4 karakterden küçükmü , küçükse kullanıcı adınız 4  karakterden küçük olamaz hata mesajı dönecek.

    3. else if kullanıcı adı 15 karakterden büyükmü , büyükse kullanıcı adınız 15  karakterden büyük olamaz hata mesajı dönecek.

    3. else if veritabanında üyeler adlı tabloda kadi sütununda girilen adda kullanıcı varmı varsa bu kullanıcı ismi daha önce kayıt edilmiş. Eğer şifrenizi unuttuysanız buraya tıklayın. diyecek

    4. else tüm kontroller doğruysa bu kullanıcı adını kullanabilirsin.

    sonra bu fonksiyonu kapatıp yeni bir fonksiyon açacağım oda email kontrol edecek.

    1. if eposta adresi geçerli eposta adresimi eğer değilse hata mesajı geçerli bir eposta adresi yazın.

    2. else if veritabanında üyeler adlı tabloda eposta sütununda formdan gelen eposta adresi ile aynıeposta adresi varmı varsa bu eposta ismi daha önce kayıt edilmiş. Eğer şifrenizi unuttuysanız buraya tıklayın. diyecek.

    3. else bu eposta ile kayıt olablirsiniz mesajı bastırsın.

    4. if  ile şifre ve şifres tekrar kontrolu yapılacak eğer birbiriyle aynı değilse hata şifreler aynı değil. bu kontrolude bilmiyorum bakacağım artık.

    5. else şifre geçerli.

     

    buraya kadar mantık galiba doğru. işte ben bunları phpde öyle yada böyle yazarım ama bunu ajax ile nasıl aynı sayfada yaparım onu bilmiyorum.

     


    .
  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    camarade
    ontedi
    ontedi's avatar
    Kayıt Tarihi: 04/Eylül/2005
    Erkek
    Telefondan yazıyorum şuan. Akşam eve gidince yazarım bir tane.

    Matematikçi ve Yazılımcı. http://www.ontedi.com ve http://www.cizgi.site Siteme beklerim herkesi.
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    mchacker
    mchacker's avatar
    Kayıt Tarihi: 03/Eylül/2005
    Erkek

    teşekkür ederim usta.


    .
  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    ndmylmz
    ndmylmz's avatar
    Kayıt Tarihi: 01/Ocak/2010
    Erkek

    Hocam ajax mantığını sen kurarsın. Ben php ile kontrol mantığını anlatayım. Mesela kullanıcı xxx adı ile üye olmak istiyor.Sen bu xxx ile ile dbde kullanıcı var mı yokmu aratırsın ve çıkan sonuçları saydırsın. Eğer kulanıcı var ise 0 dan farklı bir değer verecektir.Bu durumda Siteye üye olmayı engeller ve ekrarna böyle bir kulanıcı zaten var olarak bastırırsın :) Kolay gelsin hadi


    Sistemi de kapattım ama PHP konusunda hala yardımcı olurum // Boş gezenin boş kalfası - Öğrenci - YTÜ
  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    camarade
    ontedi
    ontedi's avatar
    Kayıt Tarihi: 04/Eylül/2005
    Erkek
    <script type="text/javascript" src="jquery.js"></script>
    <script type="text/javascript">
        function Kontrol(strIslem, strGuncellenecek_Alan)
        {
            if (strIslem == 'kullanici_adi_kontrol')
            {
                var strKullanici_Adi = $("input[name=kullanici_adi]").val();
                var strParametre = 'kullanici_adi=' + strKullanici_Adi + '';
            }
            if (strIslem == 'e_posta_kontrol')
            {
                var strE_Posta = $("input[name=e_posta]").val();
                var strParametre = 'e_posta=' + strE_Posta + '';
            }
            $.ajax
            ({
                type: 'GET',
                url: 'kontrol.php',
                cache: false,
                data: 'islem=' + strIslem + '&' + strParametre + '',
                success: function(sonuc)
                {
                    $('#' + strGuncellenecek_Alan + '').html(sonuc);
                }
            });
        }
    </script>

    Formun buna benzer birşey olacak. inputalanlarının adını değiştirirsen ilgili javascript yerinden de değiştirmen gerekecek.

    <form method="">
        Kullanıcı Adı:<input type="text" name="kullanici_adi" onblur="Kontrol('kullanici_adi_kontrol', 'kullanici_adi_kontrol_alani')" />
        <br />
        <span id="kullanici_adi_kontrol_alani"></span>
        <br />
        E-Posta: <input type="text" name="e-posta" onblur="Kontrol('e_posta_kontrol', 'e_posta_kontrol_alani')" />
        <br />
        <span id="e_posta_kontrol_alani"></span>
    </form>

    İşleyişi ise şöyledir.

    Kullanıcı adı doldurulup başka bir form elemanına tıklayınca kontrol.php dosyasına aynen şöyle bir parametreler gider.
    kontrol.php?islem=kullanici_adi_kontrol&kullanici_adi=inputa yazılan kullanıcı adı.

    Aynı şekilde e-posta adlı input doldurulunca
    kontrol.php?islem=e_posta_kontrol&e_posta=inputa yazılan e-posta.

    Kontrol.php dosyasında o querystringlere göre işlem yapması sana kalmış.

    Herhangi bir sorun olursa buradan cevaplarız.

    Buna benzer uygulama http://www.ontedi.com sitesinde mevcuttur. Formlar ve kontroller buna benzer şekildedir


    Matematikçi ve Yazılımcı. http://www.ontedi.com ve http://www.cizgi.site Siteme beklerim herkesi.
  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    mchacker
    mchacker's avatar
    Kayıt Tarihi: 03/Eylül/2005
    Erkek
    include ("include/database.php");
    //*burada formdan gelen veriler değişkene atanıyor
    
    $name = htmlspecialchars(strip_tags(mysql_escape_string($_POST['name'])));
    $name = mysql_escape_string($name);
    $surname = htmlspecialchars(strip_tags(mysql_escape_string($_POST['surname'])));
    $surname = mysql_escape_string($surname);
    $username = htmlspecialchars(strip_tags(mysql_escape_string($_POST['username'])));
    $username = mysql_escape_string($username);
    $email = htmlspecialchars(strip_tags(mysql_escape_string($_POST['email'])));
    $email = mysql_escape_string($email);
    $password1 = htmlspecialchars(strip_tags(mysql_escape_string($_POST['password1'])));
    $password1 = mysql_escape_string($password1);
    $password2 = htmlspecialchars(strip_tags(mysql_escape_string($_POST['password2'])));
    $password2 = mysql_escape_string($password2);
    
    //*queryler oluşturuyoruz
    $sql_username = mysql_query("select username from users where username='$username'") or die(mysql_error());
    $sql_email = mysql_query("select email from users where email='$email'") or die(mysql_error());
     
    //*şartları denetliyoruz
    if(empty($name))
    {echo("Ad kısmı boş bırakılamaz.
    ");}
    elseif(empty($surname))
    {echo("Kullanıcı adınız 3 karakterden büyük olmalıdır.
    ");}
    elseif(empty($username))
    {echo("Kullanıcı adı boş bırakılamaz.
    ");}
    elseif(strlen($username) < 4 )
    {echo("Kullanıcı adınız 3 karakterden büyük olmalıdır.
    ");}
    elseif(strlen($username) > 15 )
    {echo("Kullanıcı adınız 15 karakterden küçük olmalıdır.
    ");}
    elseif(mysql_num_rows($sql_username))
    {echo("Bu kullanıcı veritabanımızda kayıtlı. Şifrenizi unuttuysanız lütfen Buraya tıklayın.
    ");}
    else
    {echo("Kullanıcı Adı tamam.
    ");}
    if(empty($email))
    {echo("Eposta adresiniz boş bırakılamaz.
    ");}
    elseif(!eregi("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$", $email))
    {echo("Geçerli bir eposta adresi yazın.
    ");}
    elseif(mysql_num_rows($sql_email))
    {echo("Bu E-posta veritabanımızda kayıtlı. Şifrenizi unuttuysanız lütfen Buraya tıklayın.
    ");}
    else
    {echo("Eposta tamam.
    ");}
    if(empty($password1))
    {echo("Şifre boş bırakılamaz.
    ");}
    elseif(strlen($password1) < 5 )
    {echo("Şifre 5 karakterden büyük olmalı.
    ");}
    elseif(strlen($spassword1)  > 20)
    {echo("Şifre 20 karakterden küçük olmalı.
    ");}
    elseif($password1!=$password2)
    {echo("Şifreler uyuşmuyor.
    ");}
    else
    {echo("buraya tamam resmi gelecek.
    ");}
    ?>

     

    Kodumu biraz düzenledim ve güvenlik fonksiyonları ekledim.

    Yarında inşallah ajax kısmını halledeceğim Yani formdan verileri alıp yollama kısmını.

    ertesi günde kayıt eklemeyi yaparım.

    4 günde kayıt sayfasını yaptım.

    5 günde login sayfası olsa

    1 günde logout

    5 günde üye düzenleme sayfası.

    15 günde basit bir üyelik sistemi.

    Ama öğrenmek için değer.


    .
  7. KısayolKısayol reportŞikayet pmÖzel Mesaj
    camarade
    ontedi
    ontedi's avatar
    Kayıt Tarihi: 04/Eylül/2005
    Erkek

    Hocam php ile ilgilenen arkadaşlara iletirsen daha yardımcı olurlar.


    Matematikçi ve Yazılımcı. http://www.ontedi.com ve http://www.cizgi.site Siteme beklerim herkesi.
  8. KısayolKısayol reportŞikayet pmÖzel Mesaj
    ndmylmz
    ndmylmz's avatar
    Kayıt Tarihi: 01/Ocak/2010
    Erkek
    <?php <br>
    //*burada formdan gelen veriler değişkene atanıyor <br>
    $name = $_POST['name']; <br>
    $surname = $_POST['surname']; <br>
    $username = $_POST['username']; <br>
    $password1 = $_POST['password1']; <br>
    $password2 = $_POST['password2']; <br>
    $email = $_POST['email']; <br>
    //*veritabanına bağlanıyoruz <br>
    $dbHost = 'db_host_here';  <br>
    $dbUsername = 'db_username_here'; <br>
    $dbPassword = 'db_password_here'; <br>
    $dbDatabase = 'db_name_here'; <br>
    $db = mysql_connect($dbHost, $dbUsername, $dbPassword) or die ("Unable to connect to Database Server."); <br>
    mysql_select_db ($dbDatabase, $db) or die ("Could not select database."); <br>
    //*queryler oluşturuyoruz <br>
    $sql_username = mysql_query("select username from users where username='$username'") or die(mysql_error()); <br>
    $sql_email = mysql_query("select email from users where email='$email'") or die(mysql_error()); <br>
     <br>
    //*şartları denetliyoruz <br>
    if(empty($name)) <br>
    {echo("Ad kısmı boş bırakılamaz.");} <br>
    else <br>
    {echo("buraya tamam resmi gelecek.");} <br>
    if(empty($surname)) <br>
    {echo("Kullanıcı adınız 3 karakterden büyük olmalıdır.");} <br>
    else <br>
    {echo("buraya tamam resmi gelecek.");} <br>
    if(empty($username)) <br>
    {echo("Kullanıcı adı boş bırakılamaz.");} <br>
    elseif(strlen($username) < 4 ) <br>
    {echo("Kullanıcı adınız 3 karakterden büyük olmalıdır.");} <br>
    elseif(strlen($username) > 15 ) <br>
    {echo("Kullanıcı adınız 15 karakterden küçük olmalıdır.");} <br>
    elseif(mysql_num_rows($sql_username)) <br>
    {echo("Bu kullanıcı veritabanımızda kayıtlı. Şifrenizi unuttuysanız lütfen Buraya tıklayın.");} <br>
    else <br>
    {echo("buraya tamam resmi gelecek.");} <br>
    if(empty($password1)) <br>
    {echo("Şifre boş bırakılamaz.");} <br>
    elseif(strlen($spassword1)  < 6) <br>
    {echo("Şifre 6 karakterden büyük olmalı.");} <br>
    elseif(strlen($spassword1)  > 20) <br>
    {echo("Şifre 20 karakterden küçük olmalı.");} <br>
    elseif($spassword1!=$password2) <br>
    {echo("Şifreler uyuşmuyor.");} <br>
    else <br>
    {echo("buraya tamam resmi gelecek.");} <br>
    if(empty($email)) <br>
    {echo("Eposta adresiniz boş bırakılamaz.");} <br>
    elseif(!eregi("^[_a-z0-9-] (\.[_a-z0-9-] )*@[a-z0-9-] (\.[a-z0-9-] )*(\.[a-z]{2,4})$", $email)) <br>
    {echo("Geçerli bir eposta adresi yazın.");} <br>
    elseif(mysql_num_rows($sql_email)) <br>
    {echo("Bu E-posta veritabanımızda kayıtlı. Şifrenizi unuttuysanız lütfen Buraya tıklayın.");} <br>
    else <br>
    {echo("buraya tamam resmi gelecek.");} <br>
    ?><br>

    hocam kodları kontrol ettim düzelttim bi kaç yeri yukarıdaki kodlar doğru olması lazım. Db bilgilerini girip kayıt yapmayı denersen olur sanırım. Birde js ile veriyi gönderen arkadaş veriyi get işle göndermiş sanırım. Gereken verileri get ile alman lazım.Onun dışında kodları çok uzun yazmışssın sanırım daha başlardasın bende böyle yazardım sürekli :) Kimilerine göre ben hala uzun yazıyorumdur :) orta halliyim şuanda :D Neyse başka bir problem olursa yaz buraya tekrar :) KOlay gelsin


    Sistemi de kapattım ama PHP konusunda hala yardımcı olurum // Boş gezenin boş kalfası - Öğrenci - YTÜ
  9. KısayolKısayol reportŞikayet pmÖzel Mesaj
    mchacker
    mchacker's avatar
    Kayıt Tarihi: 03/Eylül/2005
    Erkek

    ontedi ve ndmylmz yardımlarınız için çok teşekkür ederim.


    .
  10. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Ccaglayan
    Ccaglayan's avatar
    Kayıt Tarihi: 23/Kasım/2011
    Erkek

    php yazarken daha çok fonksiyonlar kullanırsan senin için daha iyi olur hem script çok karışık olmaz hemde sistemi yormamış olursun sana email kontrolü için bütün projelerimde kullandığım fonksiyonu vereyim 

    function kontrol_email($str)
    {
    	return ( ! preg_match("/^([a-z0-9\+_\-]+)(\.[a-z0-9\+_\-]+)*@([a-z0-9\-]+\.)+[a-z]{2,6}$/ix", $str)) ? FALSE : TRUE;
    }

     

    umarım işine yarar başka sorunların olursa yardımcı olmaya çalışırım 

  11. KısayolKısayol reportŞikayet pmÖzel Mesaj
    camarade
    ontedi
    ontedi's avatar
    Kayıt Tarihi: 04/Eylül/2005
    Erkek

    mchacker bunu yazdı:
    -----------------------------

    ontedi ve ndmylmz yardımlarınız için çok teşekkür ederim.


    -----------------------------

    İşine yaradıysa ne mutlu bize :)

    Sorun olursa buradan iletebilirsin yine.


    Matematikçi ve Yazılımcı. http://www.ontedi.com ve http://www.cizgi.site Siteme beklerim herkesi.
Toplam Hit: 2842 Toplam Mesaj: 14