Koşulsuz giriş formu html. HTML5 ve CSS3 ile Giriş ve Kayıt Formu

HTML etiketleri, sitede HTML formları tanımlama

İnternette web siteleri ve bireysel sayfalar oluşturuyoruz ziyaretçilerle iletişim kurmak için.

HTML formları Ziyaretçileri siteye kaydetmek, etkileşimli anketler ve oylama için kullanılır, mesaj göndermenize, satın alma yapmanıza vb. HTML Form tek bir amaç için oluşturulmuştur: bilgi toplamak ve ardından işlenmek üzere bir program komut dosyasına veya e-posta yoluyla aktarmak.

Örnek HTML formu | Kayıt olmak

Etiketler, nitelikler ve değerler

  • - formu belirleyin.
  • name="" - formun adını tanımlar.
  • method="" - verilerin formdan nasıl gönderileceğini belirler. Değerler: "get" (varsayılan) ve "post" . "Post" yöntemi, büyük miktarda veri aktarmanıza izin verdiği için daha yaygın olarak kullanılır.
  • action="" - verilerin işlenmek üzere gönderildiği url'yi belirler. Bizim durumumuzda - enter_data.php ..
  • - veri girişi için düğmeler, anahtarlar, metin alanları gibi form öğelerini tanımlayın.
  • type="text" - veri girişi için bir metin alanı tanımlar.
  • type="password" - metin yıldız işareti veya daire olarak görüntülenirken parola girmek için bir alan tanımlar.
  • type="checkbox" - bir radyo düğmesi tanımlar.
  • type="hidden" - tanımlar gizli eleman formlar - iletmek için kullanılır ek bilgi sunucuya.
  • size="25" - uzunluk Metin alanı karakterlerde.
  • maxlength="30" - izin verilen maksimum giriş karakteri sayısı.
  • value="" - radyo düğmelerine veya radyo düğmelerine atıfta bulunuyorsa, işlenmek üzere gönderilecek değeri tanımlar. Bir metin alanının veya düğmenin parçası olarak bu özelliğin değeri, örneğin yukarıdaki örnekte John veya Login olarak gösterilecektir.

Örnek HTML formu | Sitedeki yorumlar

<a href="https://obanracer.ru/tr/gde-sozdat-lichnuyu-internet-stranicu-primer-sozdaniya-html-stranicy-v.html">HTML örneği</a> formlar




İsim



Posta








Etiketler, nitelikler ve değerler

  • action="http://site/comments.php" - formdaki verilerin gönderileceği url'yi belirler.
  • id="" - form öğesinin adını, tanımlayıcısını tanımlar.
  • name="" - form öğesinin adını tanımlar.
  • - formda bir metin alanı tanımlayın.
  • cols="" - form metin alanının sütun sayısını belirler.
  • rows="" - Form metin alanı için satır sayısını belirtir.

arasında ise metin koyun, kutunun içinde çıkarılması kolay bir örnek olarak gösterilecektir.

Örnek HTML formu | Açılır liste

HTML formları




Etiketler, nitelikler ve değerler

  • - aralarından seçim yapabileceğiniz öğeler içeren bir liste tanımlayın.
  • size="" - görünür liste konumlarının sayısını belirler. Değer 1 ise, bir açılır liste ile uğraşıyoruz.
  • - listenin konumlarını (noktalarını) tanımlayın.
  • value="" - form tarafından işlenmek üzere belirtilen url'ye gönderilecek değeri içerir.
  • selected="selected" - örnek olarak liste öğesini seçer.

Örnek HTML formu | Kaydırma çubuğu ile liste

size="" niteliğinin değerini artırarak, kaydırma çubuğu olan bir liste elde ederiz:

Birinci pozisyon İkinci pozisyon Üçüncü pozisyon Dördüncü pozisyon

HTML formları




Bu seçenek için, birden çok öğe seçmeyi mümkün kılan multiple="multiple" bayrağını kullanıyoruz. Yokluğu, yalnızca bir öğe seçmenize izin verir.

  • type="submit" - bir düğme tanımlar.
  • type="reset" - bir sıfırlama düğmesi tanımlar.
  • value="" - düğmedeki etiketi tanımlar.
  • Ek olarak bakınız:

    Giriş formu tasarımı herhangi bir web sitesi için gerçekten önemlidir. Bazı duyarlı giriş sayfası şablonu topladık Ücretsiz indirin. bu Giriş Formu bir web sitesinin bir parçasıdır. Bir web sitesine gittiğimizde ve tam erişim sağlamak istediğimizde kayıt ve giriş yapmamız gerekiyor. Herhangi bir web sitesinin giriş formu, web sitesinin herhangi bir tarafında bulunabilir. Sağ veya sol taraf olacak. Giriş ve kayıt formu olmayan hiçbir web sitesi tamamlanmamıştır. Bu nedenle, herhangi bir web sitesi için önemlidir. Profesyonel bir geliştirici olmadan HTML CSS aracılığıyla bir giriş formu oluşturmak çok zordur.

    HTML bir yapıdır ve CSS tasarımdır. HTML5 ve CSS3, tasarım için güncellenmiş sürümdür. Bu güncelleme kodlaması ile oluşturulan giriş formlarından bazıları doğrudan indirilebilir. Geliştirici bu formu ücretsiz paylaştı. Bunlar herhangi bir kişisel ihtiyaç veya iş için kullanılabilir.

    Bu duyarlı giriş sayfası şablonunu ücretsiz kullanın ve kendinizinkini oluşturabilirsiniz. Herhangi bir rengi veya stili özelleştirebilir ve değiştirebilirsiniz. Ayrıca veritabanınızı jquery'ye bağlayabilirsiniz. Bu nedenle, bu oturum açma şablonu gerçekten kullanışlı ve önemlidir.

    Bu gönderiyi bazı ücretsiz giriş formu şablonları html5 css3'ü paylaştık. Bu koleksiyon artırılacak. Daha fazla giriş sayfası şablonu önyüklemesi toplamaya çalışıyoruz.

    malzeme tasarım formu

    Bu giriş formu gerçekten harika ve basit görünüyor. Arayüz rengini düzenleyebilir ve değiştirebilirsiniz. Basit tasarım ama çok profesyonel.

    DEMO İNDİR

    Herhangi bir başvuru giriş formu tasarlamanız gerektiğinde, bu Materyal Tasarımı Giriş Formunu kullanabilirsiniz. Uygulamanız için mükemmel olacaktır.

    DEMO İNDİR

    Hareketli SVG Avatarı

    Animasyonlu giriş şablonu büyük talep görüyor. Mesleğinizde kullanmak istiyorsanız. Bu Hareketli SVG Avatar giriş formu sizin için daha iyi.

    DEMO İNDİR

    Giriş formu sallama efekti

    Bu basit bir giriş formudur ve biraz etkisi vardır ve profesyonel işinizi kullanır.

    DEMO İNDİR

    CSS3 Animasyon Bulutu ve oturum açma formu

    Bulut işiniz varsa veya herhangi bir bulut işi için plan yapıyorsanız, bu CSS3 Animasyon Bulutu ve oturum açma formunu kullanabilirsiniz.

    DEMO İNDİR

    temiz giriş formu

    Bu çok temiz bir tasarımdır ve aynı Temiz oturum açma formunu da adlandırır. Bu formu temiz web siteniz için kullanın.

    DEMO İNDİR

    HTML5'te Giriş Formu

    Bu giriş formu, HTML5 olarak tasarlanmıştır ve en iyi web siteniz için kullanılır.

    DEMO İNDİR

    Giriş Formu CSS yalnızca doğrulama

    DEMO İNDİR

    CSS Giriş Formu

    DEMO İNDİR

    Batman giriş formu

    DEMO İNDİR

    Materializecss ile Giriş Formu

    DEMO İNDİR

    Açısal Malzeme Giriş Formu

    DEMO İNDİR

    Duyarlı Giriş Formu

    DEMO İNDİR

    Duyarlı Giriş Formu

    DEMO İNDİR

    İplik Yükleyici ile Basit Düz Form

    DEMO İNDİR

    Everdwell'e giriş yapın

    Formlar, kullanıcıdan web sunucusuna veri göndermek için tasarlanmıştır. HTML'deki formlar, metin alanları ve metin alanlarından, onay kutularından ve radyo düğmelerinden ve açılır listelerden oluşabilir. Bunların hepsi form unsurlarıdır. Her öğe, siteye bir miktar değer aktarmaya hizmet eder.
    Özünde, bir HTML formu, bilgilerinizi girmek için alanları gördüğünüz bir web sayfasıdır. Formu doldurup gönder düğmesine tıkladıktan sonra, formdaki bilgiler paketlenir ve bir sunucu komut dosyası (işleyici dosyası) tarafından işlenmek üzere web sunucusuna gönderilir. İşlemden sonra size yanıt olarak başka bir web sayfası döndürülür. Aşağıdaki şekil, formun nasıl çalıştığını açıkça göstermektedir:

    HTML formları oluşturmanın zor bir tarafı yoktur. Formlar hakkında fikir edinmenin en kolay yolu, küçük bir HTML kodunu ayrıştırmak ve ardından nasıl çalıştığını görmektir. Aşağıdaki örnek, basit bir HTML formu oluşturmaya yönelik sözdizimini göstermektedir:

    Örnek: Basit HTML Formu

    • Kendin dene "

    İlk formum:
    İsim:
    Soyadı:



    basit biçim

    İlk formum:
    İsim:
    Soyadı:


    eleman

    Formlar, öğe aracılığıyla web sayfalarına eklenir . Metin alanları ve düğmeler gibi öğelerin yanı sıra diğer etiketler de dahil olmak üzere tüm form içeriği için bir kapsayıcıdır. HTML dili. Ancak, başka bir öğe içeremez. .
    Formu sunucuya göndermek için "Gönder" butonu kullanılır, form içerisinde "Enter" tuşuna basıldığında aynı sonuç alınır. Formda Gönder düğmesi yoksa, göndermek için Enter tuşu kullanılabilir.
    Çoğu öğe özelliği formun tasarımını değil, işlenmesini etkiler. Bunlardan en yaygın olanları eylem ve yöntem. Bağlanmak eylem formdaki bilgilerin sunucu tarafından işlenmek üzere gönderileceği URL'yi içerir. Bağlanmak yöntem tarayıcıların form verilerini göndermek için kullanması gereken HTTP yöntemidir.

    eleman

    Hemen hemen tüm form alanları, öğe kullanılarak oluşturulur. (İngilizce girişten - giriş). Görünüm eleman niteliğinin değerine bağlı olarak değişir tip:

    İşte bazı nitelik değerleri tip:

    Metin ve şifre girme

    Form öğelerinin en basit türlerinden biri, tek bir satırdan metin girmek için tasarlanmış bir metin alanıdır. Bu tip metin girişi varsayılan olarak ayarlanmıştır ve bu nedenle, özniteliği belirtmeyi unutursanız görüntülenecek olan tek satırlık alandır. tip. Bir forma tek satırlık bir metin giriş alanı eklemek için öğenin içinde kayıt özelliği tip metin değeriyle:

    Şifre giriş alanı, normal metin alanının bir çeşitlemesidir. Tek satırlık bir metin alanıyla aynı öznitelikleri destekler. Bağlanmak isim Kullanıcı tarafından girilen şifre ile birlikte sunucuya gönderilecek şifre giriş alanının adını belirler. Parola girmek için bir alan oluşturmak için parola özniteliğinin değerini ayarlamanız gerekir. tip(şifre (İngilizce) - şifre):

    Parola alanı olan bir form oluşturmaya bir örnek:

    Örnek: Şifre alanı

    • Kendin dene "

    Kullanıcı girişin:

    Parola:




    Kullanıcı girişin:

    Parola:


    Bu öznitelik ile birlikte, özniteliği kullanabilirsiniz. maksimum uzunluk değeri, girilebilecek maksimum karakter sayısını belirten verilen hat. Özniteliği kullanarak giriş alanının uzunluğunu da ayarlayabilirsiniz. boyut. Varsayılan olarak, çoğu tarayıcı metin alanlarını 20 karakterle sınırlar. Nitelik yerine yeni form öğelerinin genişliğini kontrol etmek için boyut, Basamaklı Stil Sayfalarını (CSS) kullanmanızı öneririz.
    Bağlanmak değer form yüklendiğinde metin kutusunda varsayılan olarak görüntülenen değeri belirtir. Alana varsayılan bir değer girerek, kullanıcının buraya ne tür verileri ve hangi formatta girmesini istediğinizi kullanıcıya açıklayabilirsiniz. Bu bir örnek gibidir, çünkü kullanıcının formu doldurması, örneğini önünde görmesi çok daha uygundur.

    Anahtarlar (radyo)

    eleman tip radyo mantıksal "VEYA" ilkesini kullanan radyo düğmeleri oluşturur ve birkaç değerden yalnızca birini seçmenize olanak tanır: bir konum seçerseniz, diğerleri devre dışı kalır. Bir radyo düğmesi öğesinin temel sözdizimi şöyledir:

    Bağlanmak isim radyo düğmeleri için zorunludur ve birkaç radyo düğmesi öğesinin bir grup halinde gruplandırılmasında önemli bir rol oynar. Radyo düğmelerini bir grupta birleştirmek için aynı değer bağlanmak isim ve farklı nitelik değeri değer. Bağlanmak değer sunucuya gönderilecek seçili radyo düğmesinin değerini ayarlar. Sunucunun kullanıcının hangi yanıt seçeneğini seçtiğini bilmesi için her radyo düğmesi öğesinin değeri grup içinde benzersiz olmalıdır.
    Özellik varlığı kontrol(İngilizce'den - set) anahtar öğesinde, gerekirse sayfa yüklenirken varsayılan olarak önerilen seçeneklerden hangisinin seçilmesi gerektiğini gösterir. Bu öznitelik, gruptan yalnızca bir anahtar öğesi için ayarlanabilir:

    • Kendin dene "

    Kaç yaşındasın?

    1. 18 yaşın altında
    2. 18'den 24'e
    3. 25'ten 35'e
    4. 35 yaş üstü




    Kaç yaşındasın?

    1. 18 yaşın altında
    2. 18'den 24'e
    3. 25'ten 35'e
    4. 35 yaş üstü

    onay kutuları

    eleman tip onay kutusu kullanıcının sağladığınız seçenekler arasından seçim yapmasına izin vermeleri bakımından radyo düğmelerine benzer onay kutuları oluşturur. Radyo düğmelerinden temel fark, ziyaretçinin aynı anda birkaç seçeneği seçebilmesi ve bayrakların dairelerle değil karelerle gösterilmesidir. Radyo düğmelerinde olduğu gibi, her öğeye aynı öznitelik değeri atanarak bir grup onay kutusu oluşturulur. isim, ancak her onay kutusunun kendi anlamı vardır. Temel onay kutusu sözdizimi:

    Bağlanmak kontrol, radyo düğmelerinde olduğu gibi, sayfa yüklendiğinde verilen onay kutusunun varsayılan olarak seçilmesi gerektiğini belirtir. Bu nitelik, bir gruptaki birkaç bayrak için aynı anda ayarlanabilir.
    Aşağıdaki örnek, birkaç varsayılan yanıt seçeneğini belirtmek için onay kutularını kullanır:

    Örnek: Radyo düğmelerini kullanma

    • Kendin dene "
    1. Caz
    2. maviler
    3. Kaynak
    4. Chanson
    5. Ülke




    Hangi müzik türlerini seversin?

    1. Caz
    2. maviler
    3. Kaynak
    4. Chanson
    5. Ülke

    Onay (gönder) ve temizleme (sıfırlama) düğmeleri

    eleman tip Sunmak tıklandığında, kullanıcının forma girdiği verileri işlemek için tarayıcıyı bir sunucu komut dosyasına gönderen bir düğme oluşturur. Formu temizleyen bir düğme oluşturursak, özniteliğe atarız tip"sıfırla" değeri. eleman tip Sunmak isteğe bağlı bir nitelik atanabilir isim. Bağlanmak değer bu öğede düğme üzerindeki etiketi belirten metni belirtmek için kullanılır. Varsayılan olarak, tarayıcılarda düğme “Gönder” (Gönder) olarak yazılır, bu yazı size uymuyorsa, kendiniz girin. Onay düğmelerinin stilleri farklı tarayıcılarda farklılık gösterebileceğinden, CSS araçlarını kullanarak düğmenin stilini kendiniz özelleştirmek veya grafik düğmeleri kullanmak daha iyidir.
    Onay oluştur ve düğmeleri temizle:

    Örnek: Gönder ve sıfırla kullanma

    • Kendin dene "

    Sıfırla düğmesine tıklamak, kullanıcı tarafından girilen tüm verileri sıfırlar.





    eylem özniteliği.

    eleman için ana

    bir niteliktir eylem Form için veri işleyicisini belirten A. Veri işleyici, form verileriyle ne yapılacağını açıklayan bir dosyadır. Bu işlemin sonucu, tarayıcıya döndürülen yeni bir HTML sayfasıdır. Başka bir deyişle, bir öznitelikte eylem Formu işlemek için sunucudaki (bazen komut dosyası sayfası olarak da adlandırılır) işleyici dosyasının URL yolunu belirtir. Sözdizimi aşağıdaki gibidir:

    İşlem dosyası sunucuda bulunur mytestserver.com klasörde isim klasörü ve verileri işleyecek sunucu komut dosyasının adı - obrabotchik.php. Web sayfasındaki forma girdiğiniz tüm verilerin aktarılacağı ona aittir. .php uzantısı, belirtilen formun bir PHP betiği tarafından işlendiğini gösterir. İşleyicinin kendisi başka bir dilde yazılabilir, örneğin Python, Ruby, vb.'nin betik dili olabilir.
    Her zaman özniteliğin değerini ayarlamanız önerilir. eylem. Formun bulunduğu sayfaya değerleri göndermesi gerekiyorsa, action niteliğinin değeri olarak boş bir dize belirtin: action="".

    yöntem özniteliği

    Bağlanmak yöntem bilgilerin sunucuya nasıl gönderileceğini belirtir. Form gönderme yönteminin seçimi, onunla birlikte gönderilmesi gereken verilere bağlıdır. Burada bu verilerin hacmi önemli bir rol oynamaktadır. Formunuzun ham verilerini tarayıcıdan sunucuya geçirmenin en popüler iki yöntemi şunlardır: ALMAK ve İLETİ. Yöntem, seçtiğiniz herhangi birine ayarlanır ve siz belirtmediyseniz, varsayılan olarak kullanılacaktır. ALMAK. Her birinin uygulamasını düşünelim.

    POST Yöntemi

    Yöntem İLETİ form verilerini paketler ve veriler mesajın gövdesinde yer aldığından, kullanıcı bunu fark etmeden sunucuya gönderir. Yöntemi kullanırken web tarayıcısı İLETİ sunucuya özel başlıklardan oluşan ve ardından form verilerinden oluşan bir istek gönderir. Bu isteğin içeriği yalnızca sunucuya açık olduğundan, İLETİşifreler, banka kartı bilgileri ve kullanıcıların diğer kişisel bilgileri gibi gizli verileri aktarmak için kullanılır. Yöntem İLETİ yöntemin aksine, büyük miktarda bilgi göndermek için de uygundur. ALMAK, iletilen karakter sayısında bir sınırlama yoktur.

    GET yöntemi

    Bildiğiniz gibi, bir tarayıcının ana işi, sunucudan web sayfaları almaktır. Yani yöntemi kullandığınızda ALMAK, tarayıcınız her zaman olduğu gibi web sayfasını alır. Yöntem ALMAK ayrıca form verilerini sarar, ancak isteği sunucuya göndermeden önce onu URL'nin sonuna ekler. Yöntemin nasıl çalıştığını anlamak için ALMAK eylemde görelim. Bu öğreticideki ilk örneği (Örnek: Basit bir HTML formu) bir not defterinde (Notepad++ gibi) açın ve HTML kodunda küçük bir değişiklik yapın:

    şunlar. yer değiştirmek İLETİüzerinde ALMAK.
    Dosyayı bir adla kaydedin dosyaadı.html ve tarayıcı sayfasını (F5) yenileyin, ardından formu aşağıdaki gibi doldurun Vasya Pupkin ve Gönder düğmesini tıklayın. Tarayıcı adres çubuğunda şöyle bir şey göreceksiniz:

    File_name.html?firstname=Vasya&lastname=Kabak

    Artık her form öğesinin adını ve değerini burada, URL'de görüyorsunuz.
    URL, form verisinin geri kalanından bir soru işareti karakteriyle, değişken adları ve değerleri ise bir ve işaretiyle ayrılır. (&) .
    Büyük miktarda bilgi aktarmıyorsanız bu yöntem kullanılmalıdır.
    Bu yöntem, formunuzdaki veriler banka kartı numarası veya parola gibi hassas bilgiler içeriyorsa çalışmaz.
    Ek olarak, yöntem ALMAK formla birlikte sunucuya dosya göndermek istiyorsanız uygun değildir.

    Form öğelerini gruplandırma

    Anlam olarak ilişkili form öğeleri, etiketler arasında gruplandırılabilir

    ve
    . Tarayıcı görüntülenecek
    bir grup form öğesinin etrafındaki bir kutu olarak. Çerçevenin görünümü Basamaklı Stil Sayfaları (CSS) kullanılarak değiştirilebilir.
    Her gruba bir başlık eklemek için bir öğeye ihtiyacınız vardır. Çerçeveye gömülecek grup başlığı metnini belirten A.

    Şifre giriş alanı, girilen metnin tarayıcıya bağlı olarak yıldız veya nokta olarak görüntülendiği normal bir metin alanıdır. Bu özellik, girilen parolaya kimsenin bakmamasını sağlamak için tasarlanmıştır. Girilen metin ekranda görüntülenmese de girilen bilgiler şifresiz olarak açık metin olarak sunucuya iletilir. Dolayısıyla bu alanın kullanılması veri güvenliği sağlamaz ve ele geçirilebilir.

    Oluşturma sözdizimi aşağıdaki gibidir.

    Nitelikler, metin alanı nitelikleriyle aynıdır ve Tablo 1'de listelenmiştir. bir.

    Şifre alanı, kullanıcılara yetki vermek ve sitenin yetkinizi onaylamanız gereken bölümlerine erişimi kısıtlamak için sitelerde yaygın olarak kullanılmaktadır. Örnek 1, bu tür alanların nasıl oluşturulacağını gösterir.

    Örnek 1. Şifre alanı

    Şifre alanı

    Giriş yapmak:

    Parola:

    Sonuç olarak, aşağıdakileri elde ederiz (Şekil 1).

    Pirinç. 1. Şifreli alan türü

    Stil özellikleri, renk, arka plan, çerçeve vb. parametrelerini ayarlayan parola alanına uygulanabilir. Örnek 2, form alanlarına arka plan resimleri eklemeyi gösterir. Metin alanları için stili temel alalım.

    Örnek 2: Metin kutusuna resim ekleme

    Şifre alanı

    Bu örneğin sonucu Şekil 2'de gösterilmektedir. 2. Resimler arka plan olarak eklenir, bu nedenle metin padding-left kullanılarak sağa kaydırılmalıdır, aksi takdirde görüntünün üstünde görüntülenecektir.

    Bu makalede, öğreneceksiniz kayıt ve yetkilendirme formu nasıl oluşturulur HTML, JavaScript, PHP ve MySql kullanarak. Bu tür formlar, türünden bağımsız olarak hemen hemen her sitede kullanılmaktadır. Forum, çevrimiçi mağaza ve sosyal ağlar (Facebook, Twiter, Odnoklassniki gibi) ve diğer birçok site türü için oluşturulurlar.

    Yerel bilgisayarınızda bir siteniz varsa, umarım zaten . Onsuz hiçbir şey çalışmayacak.

    Veritabanında Tablo Oluşturma

    Kullanıcı kaydını uygulamak için önce bir Veritabanına ihtiyacımız var. Zaten sahipseniz, harika, aksi takdirde oluşturmanız gerekir. Bunu nasıl yapacağınızı yazımda detaylı bir şekilde anlatıyorum.

    Ve böylece bir Veritabanımız var (kısaltılmış DB), şimdi bir tablo oluşturmamız gerekiyor kullanıcılar hangi kayıtlı kullanıcılarımızı ekleyeceğiz.

    Veritabanında tablo nasıl oluşturulur, makalede de anlattım. Bir tablo oluşturmadan önce hangi alanları içereceğini tanımlamamız gerekir. Bu alanlar, kayıt formundaki alanlarla eşleşecektir.

    Böylece formumuzun hangi alanlara sahip olacağını düşündük, hayal ettik ve bir tablo oluşturduk. kullanıcılar bu alanlarla:

    • İD- Tanımlayıcı. Alan İD veritabanındaki her tabloda olmalıdır.
    • ilk adı- Adı kaydetmek için.
    • Soyadı- Soyadını kaydetmek için.
    • e-posta- Posta adresini kaydetmek için. Giriş olarak e-posta kullanacağız, bu nedenle bu alan benzersiz olmalı, yani BENZERSİZ bir dizine sahip olmalıdır.
    • email_status- Postanın onaylanıp onaylanmadığını gösteren bir alan. Posta onaylanırsa, 1 değerine, aksi takdirde 0 değerine sahip olacaktır.
    • parola- Şifreyi kaydetmek için.


    Kayıt formunuzda birkaç alan daha olmasını istiyorsanız, onları da buraya ekleyebilirsiniz.

    işte bu, bizim masamız kullanıcılar hazır. Bir sonraki adıma geçelim.

    Veritabanı bağlantısı

    Veritabanını oluşturduk, şimdi ona bağlanmamız gerekiyor. MySQLi PHP uzantısını kullanarak bağlanacağız.

    Sitemizin klasöründe isimle bir dosya oluşturun dbconnect.php, ve içine aşağıdaki betiği yazıyoruz:

    Veritabanı bağlantı hatası. Hata Açıklaması: ".mysqli_connect_error()."

    "; çıkış(); ) // $mysqli->set_charset("utf8"); //Kolaylık olması için buraya sitemizin adını içerecek bir değişken ekleyin $address_site = "http://testsite .yerel" ; ?>

    Bu dosya dbconnect.php form işleyicileri için bağlanması gerekir.

    Değişkene dikkat edin $adres_sitesi, burada üzerinde çalışacağım test sitemin adını belirttim. Buna göre sitenizin adını belirtirsiniz.

    Site yapısı

    Şimdi web sitemizin HTML yapısına bir göz atalım.

    Site üstbilgisini ve altbilgisini şuraya taşıyın: bireysel dosyalar, başlık.php ve altbilgi.php. Onları tüm sayfalara bağlayacağız. Yani, ana (dosya index.php), kayıt formunun bulunduğu sayfaya (dosya form_register.php) ve yetkilendirme formunun bulunduğu sayfada (dosya form_auth.php).

    Bağlantılarımızla engelle, kayıt ve yetki, tüm sayfalarda görüntülenecek şekilde sitenin başlığına ekleyin. Bir bağlantı girilecek kayıt formu sayfası(dosya form_register.php) ve diğeri ile sayfaya İzin formu(dosya form_auth.php).

    header.php dosyasının içeriği:

    Sitemizin adı

    Sonuç olarak, ana sayfamız şöyle görünür:


    Elbette siteniz tamamen farklı bir yapıya sahip olabilir ama bu bizim için şu an önemli değil. Ana şey, kayıt ve yetkilendirme için bağlantıların (düğmelerin) olmasıdır.

    Şimdi kayıt formuna geçelim. Zaten anladığınız gibi, dosyada var form_register.php.

    Veritabanına gidiyoruz (phpMyAdmin'de), tablo yapısını açıyoruz kullanıcılar ve hangi alanlara ihtiyacımız olduğunu görün. Bu nedenle, ad ve soyadı girmek için alanlara, posta adresi (E-posta) girmek için bir alana ve bir şifre girmek için bir alana ihtiyacımız var. Ve güvenlik amacıyla bir captcha giriş alanı ekleyeceğiz.

    Sunucuda, kayıt formunun işlenmesi sonucunda, kullanıcının kayıt olamaması nedeniyle çeşitli hatalar meydana gelebilir. Bu nedenle, kullanıcının kaydın neden başarısız olduğunu anlaması için, kendisine bu hatalarla ilgili mesajların gösterilmesi gerekir.

    Formu görüntülemeden önce, oturumdan gelen hata mesajlarını görüntülemek için bir blok ekliyoruz.

    Ve başka bir an, kullanıcı zaten yetkilendirilmişse ve ilgi uğruna, doğrudan tarayıcının adres çubuğuna yazarak kayıt sayfasına girer. website_url/form_register.php, bu durumda, kayıt formu yerine, zaten kayıtlı olduğu bir başlık görüntüleyeceğiz.

    Genel olarak, dosya kodu form_register.phpşöyle aldık:

    Zaten kayıtlısınız

    Tarayıcıda kayıt sayfası şöyle görünür:


    Üzerinden gerekli nitelik, tüm alanları zorunlu hale getirdik.

    Kayıt formu koduna dikkat edin. captcha görüntüleniyor:


    Resmin src özniteliğinin değerinde, dosyanın yolunu belirledik captcha.php, bu captcha'yı oluşturur.

    Dosyanın koduna bakalım captcha.php:

    Kod iyi yorumlanmış, bu yüzden sadece bir noktaya odaklanacağım.

    Bir fonksiyonun içinde imageTtfText(), yazı tipinin yolu belirtildi verdana.ttf. Yani burada doğru işlem captcha, bir klasör oluşturmamız gerekiyor yazı tipleri ve yazı tipi dosyasını oraya koyun verdana.ttf. İnternetten bulup indirebilir veya bu makaledeki malzemelerle arşivden alabilirsiniz.

    HTML yapısını bitirdik, artık devam etme zamanı.

    jQuery ile e-postayı doğrulama

    Herhangi bir form, hem istemci tarafında (JavaScript, jQuery kullanarak) hem de sunucu tarafında girilen verilerin doğrulanmasını gerektirir.

    E-posta alanına özellikle dikkat etmeliyiz. Girilen e-posta adresinin geçerli olması çok önemlidir.

    İçin verilen alan input , e-posta türünü (type="email") ayarladık, bu bizi yanlış biçimlere karşı biraz uyarır. Ancak bu yeterli değildir, çünkü tarayıcının bize sağladığı kod denetçisi aracılığıyla özelliğin değerini kolayca değiştirebilirsiniz. tipİle e-postaüzerinde Metin, işte bu kadar, çekimiz artık geçerli olmayacak.


    Ve bu durumda, daha güvenilir bir kontrol yapmalıyız. Bunu yapmak için JavaScript'ten jQuery kitaplığını kullanacağız.

    jQuery kitaplığını bağlamak için dosyada başlık.php etiketler arasında , kapanış etiketinden önce , şu satırı ekleyin:

    Bu satırın hemen ardından e-posta doğrulama kontrol kodunu ekleyin. Buraya girilen şifrenin uzunluğunu kontrol etmek için kodu ekliyoruz. En az 6 karakter uzunluğunda olmalıdır.

    Bu script yardımıyla girilen e-posta adresinin geçerliliğini kontrol ediyoruz. Kullanıcı yanlış E-postayı girdiyse, bununla ilgili bir hata görüntüler ve formun gönder düğmesini devre dışı bırakırız. Her şey yolundaysa, hatayı kaldırır ve formun gönder düğmesini etkinleştiririz.

    Ve böylece, istemci tarafında form doğrulaması ile işimiz bitti. Şimdi onu sunucuya gönderebiliriz, burada da birkaç kontrol yapacağız ve veritabanına veri ekleyeceğiz.

    Kullanıcı kaydı

    İşlenmek üzere formu dosyaya gönderiyoruz register.php, POST yöntemiyle. İsim verilen dosyaöznitelik değerinde belirtilen işleyici eylem. Ve gönderme yöntemi öznitelik değerinde belirtilir. yöntem.

    Bu dosyayı aç register.php ve yapmamız gereken ilk şey, bir oturum başlatma işlevi yazmak ve daha önce oluşturduğumuz dosyayı eklemek. dbconnect.php(Bu dosyada veritabanı ile bağlantı kurduk). Ve yine de, hücreleri hemen ilan edin hata mesajları ve başarı_mesajları oturum global dizisinde. V error_mesages form işleme sırasında oluşan tüm hata mesajlarını kaydedeceğiz ve başarı_mesajları Mutlu mesajlar yazalım.

    Devam etmeden önce kontrol etmeliyiz formun hiç gönderilip gönderilmediği. Saldırgan bir özniteliğin değerine bakabilir eylem formdan ve bu formu hangi dosyanın işlediğini öğrenin. Ve tarayıcının adres çubuğuna aşağıdaki adresi yazarak doğrudan bu dosyaya gitme fikrini bulabilir: http://site_site/register.php

    Bu yüzden global POST dizisinde, formdaki "Kayıt Ol" butonumuzun adıyla eşleşen bir hücre olup olmadığını kontrol etmemiz gerekiyor. Böylece "Kayıt Ol" butonuna basılıp basılmadığını kontrol ediyoruz.

    Saldırgan doğrudan bu dosyaya gitmeye çalışırsa bir hata mesajı alır. $address_site değişkeninin sitenin adını içerdiğini ve dosyada bildirildiğini hatırlatırım. dbconnect.php.

    Hata! ana Sayfa .

    "); } ?>

    Oturumdaki captcha değeri, oluşturma sırasında dosyaya eklendi. captcha.php. Bir hatırlatma olarak, dosyadan bu kod parçasını bir kez daha göstereceğim. captcha.php, burada captcha değeri oturuma eklenir:

    Şimdi testin kendisine geçelim. Dosyada register.php, if bloğunun içinde, "Kayıt Ol" düğmesine basılıp basılmadığını kontrol ettiğimiz veya daha doğrusu yorumun nerede " // (1) Bir sonraki kod parçası için yer"Biz yazarız:

    //Alınan captcha'yı kontrol edin //Dizenin başından ve sonundan boşlukları kesin $captcha = trim($_POST["captcha"]); if(isset($_POST["captcha"]) && !empty($captcha))( //Alınan değeri oturumdaki değerle karşılaştırın if(($_SESSION["rand"] != $captcha) && ($_SESSION ["rand"] != ""))( // Captcha doğru değilse, kullanıcıyı kayıt sayfasına döndürün ve orada yanlış captcha girdiğine dair bir hata mesajı görüntüleyeceğiz. $error_message = "

    Hata! yanlış captcha girdin

    "; // Hata mesajını oturuma kaydedin. $_SESSION["error_messages"] = $error_message; // Kullanıcıyı kayıt sayfasına döndürün header("HTTP/1.1 301 Kalıcı Olarak Taşındı"); header("Location: " .$address_site ."/form_register.php"); //Script'i durdur exit(); ) // (2) Bir sonraki kod parçası için yer )else( //captcha geçilmediyse veya boşsa çıkış ("

    Hata! Doğrulama kodu, yani captcha kodu yoktur. Ana sayfaya gidebilirsiniz.

    "); }

    Ardından, POST dizisinden alınan verileri işlememiz gerekiyor. Öncelikle global POST dizisinin içeriğini, yani orada formumuzdaki girdi alanlarının adlarıyla eşleşen hücreler olup olmadığını kontrol etmemiz gerekiyor.

    Eğer hücre varsa bu hücreden stringin başından ve sonundan boşlukları kesiyoruz, aksi halde kullanıcıyı kayıt formu ile sayfaya geri yönlendiriyoruz.

    Ayrıca boşluklar kısaltıldıktan sonra değişkene bir string ekliyoruz ve bu değişkenin boş olup olmadığını kontrol ediyoruz, eğer boş değilse devam ediyoruz, aksi halde kullanıcıyı kayıt formu ile sayfaya geri yönlendiriyoruz.

    Bu kodu belirtilen konuma yapıştırın // (2) Bir sonraki kod parçası için yer".

    /* $_POST global dizisindeki formdan gönderilen veri olup olmadığını kontrol edin ve gönderilen verileri normal değişkenler içine alın. = trim($_POST["first_name"]); //Değişkenin boş olup olmadığını kontrol edin if(!empty ($first_name))( // Güvenlik için, özel karakterleri HTML varlıklarına dönüştürün $first_name = htmlspecialchars($first_name, ENT_QUOTES) ; )else( // Hata mesajını oturuma kaydedin. $_SESSION["error_messages"] .= "

    Adınızı giriniz

    Ad alanı eksik

    "; //Kullanıcıyı kayıt sayfasına geri döndür header("HTTP/1.1 301 Kalıcı Olarak Taşındı"); header("Konum: ".$address_site."/form_register.php"); //Komut dosyasını durdur exit(); ) if( isset($_POST["last_name"]))( // Dizenin başından ve sonundan boşlukları kırp $last_name = trim($_POST["last_name"]); if(!empty($last_name)) ( // Güvenlik için özel karakterleri HTML varlıklarına dönüştürün $last_name = htmlspecialchars($last_name, ENT_QUOTES); )else( // Hata mesajını oturuma kaydedin. $_SESSION["error_messages"] .= "

    Soyadınızı giriniz

    "; //Kullanıcıyı kayıt sayfasına geri döndür header("HTTP/1.1 301 Kalıcı Olarak Taşındı"); header("Konum: ".$address_site."/form_register.php"); //Komut dosyasını durdur exit(); )else ( // Hata mesajını oturuma kaydedin. $_SESSION["error_messages"] .= "

    Ad alanı eksik

    "; //Kullanıcıyı kayıt sayfasına geri döndür header("HTTP/1.1 301 Kalıcı Olarak Taşındı"); header("Konum: ".$address_site."/form_register.php"); //Komut dosyasını durdur exit(); ) if( isset($_POST["email"]))( // Dizenin başından ve sonundan boşlukları kırp $email = trim($_POST["email"]); if(!empty($email)) ( $email = htmlspecialchars ($email, ENT_QUOTES); // (3) E-posta adresinin biçimini ve benzersizliğini kontrol etmek için kod yeri )else( // Hata mesajını oturuma kaydedin. $_SESSION["error_messages" ].= "

    E-postanızı giriniz

    "; //Kullanıcıyı kayıt sayfasına geri döndür header("HTTP/1.1 301 Kalıcı Olarak Taşındı"); header("Konum: ".$address_site."/form_register.php"); //Komut dosyasını durdur exit(); )else ( // Hata mesajını oturuma kaydedin. $_SESSION["error_messages"] .= "

    "; //Kullanıcıyı kayıt sayfasına geri döndür header("HTTP/1.1 301 Kalıcı Olarak Taşındı"); header("Konum: ".$address_site."/form_register.php"); //Komut dosyasını durdur exit(); ) if( isset($_POST["password"]))( // Dizenin başından ve sonundan boşlukları kesin $password = trim($_POST["password"]); if(!empty($password)) ( $password = htmlspecialchars ($password, ENT_QUOTES); //Şifreyi şifrele $password = md5($password."top_secret"); )else( // Hata mesajını oturuma kaydedin. $_SESSION["error_messages"] .="

    Şifrenizi girin

    "; //Kullanıcıyı kayıt sayfasına geri döndür header("HTTP/1.1 301 Kalıcı Olarak Taşındı"); header("Konum: ".$address_site."/form_register.php"); //Komut dosyasını durdur exit(); )else ( // Hata mesajını oturuma kaydedin. $_SESSION["error_messages"] .= "

    "; //Kullanıcıyı kayıt sayfasına geri döndür header("HTTP/1.1 301 Kalıcı Olarak Taşındı"); header("Konum: ".$address_site."/form_register.php"); //Komut dosyasını durdur exit(); ) // (4) Veritabanına kullanıcı ekleme kodu için yer

    Alan özellikle önemlidir. e-posta. Alınan posta adresinin biçimini ve veritabanındaki benzersizliğini kontrol etmeliyiz. Yani, aynı e-posta adresine sahip bir kullanıcının zaten kayıtlı olup olmadığı.

    Belirtilen yerde" // (3) Posta adresinin biçimini ve benzersizliğini kontrol etmek için kod yeri"aşağıdaki kodu ekleyin:

    //Alınan e-posta adresinin biçimini $reg_email = "/^**@(+(*+)*\.)++/i" normal ifadesini kullanarak kontrol edin; //Alınan e-posta adresinin formatı normal ifadeyle eşleşmiyorsa if(!preg_match($reg_email, $email))( // Hata mesajını oturuma kaydedin. $_SESSION["error_messages"] .= "

    Geçersiz bir e-posta girdiniz

    "; //Kullanıcıyı kayıt sayfasına geri döndür header("HTTP/1.1 301 Kalıcı Olarak Taşındı"); header("Konum: ".$address_site."/form_register.php"); //Komut dosyasını durdur exit(); ) // Veritabanında böyle bir adres olup olmadığını kontrol edin $result_query = $mysqli->query("SELECT `email` FROM `users` WHERE `email`="".$email."""); Varsa tam olarak bir satır ise, bu e-posta adresine sahip kullanıcı zaten kayıtlıdır if($result_query->num_rows == 1)( //Eğer sonuç false değilse if(($row = $result_query->fetch_assoc()) ! = false) ( // Hata mesajını oturuma kaydedin. $_SESSION["error_messages"] .= "

    Bu e-posta adresine sahip kullanıcı zaten kayıtlı

    "; //Kullanıcıyı kayıt sayfasına geri döndür header("HTTP/1.1 301 Kalıcı Olarak Taşındı"); header("Konum: ".$address_site."/form_register.php"); )else( //Hata mesajını kaydet oturuma .$_SESSION["error_messages"] .= "

    Veritabanı sorgusunda hata

    "; //Kullanıcıyı kayıt sayfasına döndürün header("HTTP/1.1 301 Moved Permanently"); header("Location: ".$address_site."/form_register.php"); ) /* seçimi kapat */ $ sonuç_query-> close(); //Komut dosyasını durdur exit(); ) /* seçimi kapat */ $result_query->close();

    Ve böylece tüm kontrolleri bitirdik, sıra kullanıcıyı veritabanına eklemeye geldi. Belirtilen yerde" // (4) Veritabanına kullanıcı ekleme kodu için yer"aşağıdaki kodu ekleyin:

    //Veritabanına kullanıcı eklemek için sorgu $result_query_insert = $mysqli->query("INSERT INTO `users` (ad, soyadı, e-posta, şifre) DEĞERLER ("".$ilk_adı."", "".$son_ad ." ", "".$e-posta."", "".$şifre."")"); if(!$result_query_insert)( // Hata mesajını oturuma kaydedin. $_SESSION["error_messages"] .= "

    Veritabanına bir kullanıcı eklemek için hata isteği

    "; //Kullanıcıyı kayıt sayfasına geri döndür header("HTTP/1.1 301 Kalıcı Olarak Taşındı"); header("Konum: ".$address_site."/form_register.php"); //Komut dosyasını durdur exit(); )else( $_SESSION["success_messages"] = "

    Kayıt başarıyla tamamlandı!!!
    Artık kullanıcı adınızı ve şifrenizi kullanarak giriş yapabilirsiniz.

    "; //Kullanıcıyı oturum açma sayfasına gönder header("HTTP/1.1 301 Moved Permanently"); header("Location: ".$address_site."/form_auth.php"); ) /* İsteği tamamlayın */ $ sonuç_query_insert-> close(); //Veritabanı bağlantısını kapat $mysqli->close();

    Veritabanına kullanıcı ekleme isteğinde bir hata oluşursa, oturuma bu hatayla ilgili bir mesaj ekliyoruz ve kullanıcıyı kayıt sayfasına döndürüyoruz.

    Aksi takdirde, her şey yolunda giderse, oturuma bir mesaj da ekliyoruz, ancak zaten daha keyifli, yani kullanıcıya kaydın başarılı olduğunu söylüyoruz. Ve yetkilendirme formunun olduğu sayfaya yönlendiriyoruz.

    E-posta adresinin biçimini ve şifrenin uzunluğunu kontrol etmek için komut dosyası dosyada başlık.php, bu nedenle bu formdaki alanları da etkiler.

    Oturum ayrıca dosyada başlatılır başlık.php, yani dosyada form_auth.php oturumun başlatılmasına gerek yok, çünkü bir hata alıyoruz.


    Dediğim gibi, posta adresinin biçimini ve şifrenin uzunluğunu kontrol etmek için kullanılan komut dosyası burada da çalışır. Bu nedenle, kullanıcı yanlış e-posta adresi veya kısa şifre girerse hemen bir hata mesajı alacaktır. Düğme içeri gel inaktif hale gelecektir.

    Hataları düzelttikten sonra, düğme içeri gel aktif hale gelir ve kullanıcı formu işleneceği sunucuya gönderebilir.

    Kullanıcı yetkilendirme

    değer atfetmek için eylem yetkilendirme formunun bir dosyası var auth.php, bu, formun bu dosyada işleneceği anlamına gelir.

    o zaman dosyayı açalım auth.php ve yetkilendirme formunu işlemek için kodu yazın. Yapılacak ilk şey oturumu başlatmak ve dosyayı dahil etmektir. dbconnect.php veritabanına bağlanmak için.

    //Formun işlenmesi sırasında oluşabilecek hataları eklemek için bir hücre bildirin. $_SESSION["error_messages"] = ""; //Başarılı mesajlar eklemek için bir hücre bildir $_SESSION["success_messages"] = "";

    /* Formun gönderilip gönderilmediğini, yani Login butonuna tıklanıp basılmadığını kontrol edin. Evet ise, daha ileri gidiyoruz, değilse, kullanıcıya doğrudan bu sayfaya gittiğini belirten bir hata mesajı görüntüleyeceğiz. */ if(isset($_POST["btn_submit_auth"]) && !empty($_POST["btn_submit_auth"]))( //(1) Bir sonraki kod parçası için yer )else( exit("

    Hata! Bu sayfaya doğrudan eriştiniz, dolayısıyla işlenecek veri yok. Ana sayfaya gidebilirsiniz.

    "); }

    //Alınan captcha'yı kontrol et if(isset($_POST["captcha"]))( //Dizenin başından ve sonundan boşlukları kes $captcha = trim($_POST["captcha"]); if(!empty ($captcha ))( //Alınan değeri oturumdaki değerle karşılaştırın.if(($_SESSION["rand"] != $captcha) && ($_SESSION["rand"] != ""))( // Eğer captcha geçersizse kullanıcıyı yetkilendirme sayfasına geri döndürüyoruz ve orada yanlış captcha girdiğine dair bir hata mesajı görüntüleyeceğiz. $error_message = "

    Hata! yanlış captcha girdin

    "; // Hata mesajını oturuma kaydedin. $_SESSION["error_messages"] = $error_message; // Kullanıcıyı yetkilendirme sayfasına döndürün header("HTTP/1.1 301 Kalıcı Olarak Taşındı"); header("Location: " .$address_site ."/form_auth.php"); //Komut dosyasını durdur exit(); ) )else( $error_message = "

    Hata! Captcha giriş alanı boş olmamalıdır.

    "; // Hata mesajını oturuma kaydedin. $_SESSION["error_messages"] = $error_message; // Kullanıcıyı yetkilendirme sayfasına döndürün header("HTTP/1.1 301 Kalıcı Olarak Taşındı"); header("Location: " .$address_site ."/form_auth.php"); //Komut dosyasını durdur exit(); ) //(2) Posta adresini işleme yeri //(3) Parolayı işleme yeri //(4) veritabanına sorgu yapma )else ( //Eğer captcha geçilmediyse çıkış("

    Hata! Doğrulama kodu, yani captcha kodu yoktur. Ana sayfaya gidebilirsiniz.

    "); }

    Kullanıcı doğrulama kodunu doğru girdiyse, devam ederiz, aksi takdirde onu yetkilendirme sayfasına geri döndürürüz.

    Email adresi doğrulaması

    // Dizenin başından ve sonundan boşlukları kırp $email = trim($_POST["email"]); if(isset($_POST["email"]))( if(!empty($email))( $email = htmlspecialchars($email, ENT_QUOTES); //Alınan e-posta adresinin biçimini $ normal ifadesini kullanarak kontrol edin reg_email = " /^**@(+(*+)*\.)++/i"; //Alınan e-posta adresinin biçimi normal ifadeyle eşleşmiyorsa if(!preg_match($reg_email, $email) ))( // Oturum hata mesajına kaydet.$_SESSION["error_messages"] .= "

    Geçersiz bir e-posta girdiniz

    "; //Kullanıcıyı yetkilendirme sayfasına geri döndür header("HTTP/1.1 301 Kalıcı Olarak Taşındı"); header("Konum: ".$address_site."/form_auth.php"); //Komut dosyasını durdur exit(); )else ( // Hata mesajını oturuma kaydedin. $_SESSION["error_messages"] .= "

    Posta adresinin (e-posta) girileceği alan boş bırakılmamalıdır.

    "; //Kullanıcıyı kayıt sayfasına geri döndür header("HTTP/1.1 301 Kalıcı Olarak Taşındı"); header("Konum: ".$address_site."/form_register.php"); //Komut dosyasını durdur exit(); )else ( // Hata mesajını oturuma kaydedin. $_SESSION["error_messages"] .= "

    E-posta girmek için alan yok

    "; //Kullanıcıyı yetkilendirme sayfasına geri döndür header("HTTP/1.1 301 Kalıcı Olarak Taşındı"); header("Konum: ".$address_site."/form_auth.php"); //Komut dosyasını durdur exit(); ) // (3) Şifre işleme yeri

    Kullanıcı yanlış biçimde bir e-posta adresi girdiyse veya e-posta adresi alanının değeri boşsa, onu bu konuda bir mesaj görüntülediğimiz yetkilendirme sayfasına geri göndeririz.

    Şifre kontrolü

    İşlenecek bir sonraki alan şifre alanıdır. Belirlenen yere" //(3) Parola işleme yeri", Biz yazarız:

    If(isset($_POST["password"]))( // Dizenin başından ve sonundan boşlukları kırp $password = trim($_POST["password"]); if(!empty($password))( $password = htmlspecialchars($password, ENT_QUOTES); // Şifreyi şifrele $password = md5($password."top_secret"); )else( // Hata mesajını oturuma kaydedin. $_SESSION["error_messages"] . = "

    Şifrenizi girin

    "; //Kullanıcıyı kayıt sayfasına geri döndür header("HTTP/1.1 301 Kalıcı Olarak Taşındı"); header("Konum: ".$address_site."/form_auth.php"); //Komut dosyasını durdur exit(); )else ( // Hata mesajını oturuma kaydedin. $_SESSION["error_messages"] .= "

    Şifre girmek için alan yok

    "; //Kullanıcıyı kayıt sayfasına geri döndür header("HTTP/1.1 301 Kalıcı Olarak Taşındı"); header("Konum: ".$address_site."/form_auth.php"); //Komut dosyasını durdur exit(); )

    Burada, md5 () işlevini kullanarak, alınan şifreyi şifreliyoruz, çünkü veritabanında şifreli formda şifrelerimiz var. Bizim durumumuzda şifrelemede ek gizli kelime " top_secret" kullanıcı kaydedilirken kullanılan olmalıdır.

    Şimdi mail adresi alınan mail adresine ve şifresi alınan şifreye eşit olan bir kullanıcı seçimi üzerinde veritabanına sorgulama yapmanız gerekiyor.

    //Kullanıcının seçimine göre veritabanına sorgu. $result_query_select = $mysqli->query("SELECT * FROM `users` WHERE email = "".$email."" AND password = "".$password."""); if(!$result_query_select)( // Hata mesajını oturuma kaydedin. $_SESSION["error_messages"] .= "

    Veritabanından kullanıcı seçiminde sorgu hatası

    "; //Kullanıcıyı kayıt sayfasına geri döndür header("HTTP/1.1 301 Kalıcı Olarak Taşındı"); header("Konum: ".$address_site."/form_auth.php"); //Komut dosyasını durdur exit(); )else( //Veritabanında bu tür verilere sahip bir kullanıcı olup olmadığını kontrol edin, ardından bir hata mesajı görüntüleyin if($result_query_select->num_rows == 1)( // Girilen veriler veritabanındaki verilerle eşleşiyorsa, kaydedin oturum dizisine giriş ve şifre $_SESSION["email"] = $email; $_SESSION["password"] = $password; //Kullanıcıyı ana sayfa header("HTTP/1.1 301 Kalıcı Olarak Taşındı"); header("Yer: ".$adres_sitesi."/index.php"); )else( // Hata mesajını oturuma kaydedin. $_SESSION["error_messages"] .= "

    Yanlış kullanıcı adı ve / veya şifre

    "; //Kullanıcıyı yetkilendirme sayfasına geri döndür header("HTTP/1.1 301 Kalıcı Olarak Taşındı"); header("Konum: ".$address_site."/form_auth.php"); //Komut dosyasını durdur exit(); ))

    Site çıkışı

    Ve uyguladığımız son şey çıkış prosedürü. Şu anda, başlıkta yetkilendirme sayfasına ve kayıt sayfasına giden bağlantıları gösteriyoruz.

    Site başlığında (dosya başlık.php), oturumu kullanarak, kullanıcının zaten oturum açıp açmadığını kontrol ederiz. Değilse, kayıt ve yetkilendirme bağlantılarını görüntüleriz, aksi takdirde (yetki verilmişse), kayıt ve yetkilendirme bağlantıları yerine bağlantıyı görüntüleriz. çıkış.

    Dosyadan değiştirilmiş kod parçası başlık.php:

    kayıt

    çıkış

    Siteden çıkış linkine tıkladığınızda dosyaya giriyoruz çıkış.php, burada oturumdan e-posta adresi ve şifre ile hücreleri yok ediyoruz. Bundan sonra, kullanıcıyı bağlantının tıklandığı sayfaya geri döndürüyoruz. çıkış.

    dosya kodu çıkış.php:

    Bu kadar. Şimdi nasıl olduğunu biliyorsun Kayıt ve yetkilendirme formlarını uygulamak ve işlemek sitenizdeki kullanıcı. Bu formlar hemen hemen her sitede bulunur, bu nedenle her programcı onları nasıl oluşturacağını bilmelidir.

    Ayrıca hem istemci tarafında (tarayıcıda, JavaScript, jQuery kullanarak) hem de sunucu tarafında (kullanarak) giriş verilerinin nasıl doğrulanacağını öğrendik. PHP dili). Biz de öğrendik çıkış prosedürünü uygula.

    Tüm komut dosyaları test edildi ve çalışıyor. Bu küçük sitenin dosyalarının bulunduğu arşivi bu linkten indirebilirsiniz.

    Gelecekte, anlatacağım bir makale yazacağım. Bir de anlatacağım bir yazı yazmayı planlıyorum (sayfayı yeniden yüklemeden). Bu nedenle, yeni makalelerin yayınlanmasından haberdar olmak için siteme abone olabilirsiniz.

    Herhangi bir sorunuz varsa lütfen iletişime geçin, ayrıca makalede herhangi bir hata görürseniz lütfen bana bildirin.

    Ders Planı (Bölüm 5):

    1. Yetkilendirme Formu için HTML Yapısı Oluşturma
    2. Alınan verileri işliyoruz
    3. Kullanıcının selamını sitenin başlığında gösteririz

    Makaleyi beğendiniz mi?