Giriş ve kayıt formu nasıl oluşturulur. Tek tıklamayla bir kayıt formu oluşturun

  • 13.05.2019

Hizmeti kullanarak neler yapabileceğinizi biliyor musunuz? Google, oluşturmak Kayıt formu web siteniz için tek tıklamayla? sahip olan herkes Google hesabı, butona tıklayıp e-postası, adı ve fotoğrafı ile hemen uygulamanıza giriş yapabilirsiniz.

Bu hizmete federe oturum açma adı verilir ve protokolün üzerine kurulmuştur. OAuth2... Bu, sunucunuz ve Google arasında veri alışverişini içeren karmaşık bir işlemdir, ancak tüm bu işi, sunucu tarafında hemen hemen her şeyi halledecek olan Google'ın PHP kitaplığına bırakacağız.

Bu hizmeti kullanarak, siz ve kullanıcılarınız için yetkilendirme/kayıt sürecini büyük ölçüde basitleştirebilirsiniz. İşte faydalarından bazıları:

  • Kayıt ve yetkilendirme formları oluşturmaya ve kontrol etmeye gerek yok;
  • Unutulan bir parolayı kurtarma işlevine gerek yoktur;
  • Çok basitleştirilmiş yetkilendirme / kayıt - alacaksınız e-posta tek tıklamayla kişi, isim ve fotoğraf;
  • Adres zaten Google tarafından doğrulandı, bu nedenle bir onay mesajı göndermenize gerek yok.
  • Google'dan güçlü güvenlik.

Tabii ki, bu yalnızca kişinin bir Google hesabı varsa işe yarar, bu nedenle bu hizmeti bir eklenti olarak kullanmak mantıklıdır. mevcut sistem kayıt. O halde başlayalım!

Kurulum

İlk adım, Google'ın API Konsolu aracılığıyla yeni bir uygulama oluşturmaktır. almak için talimatları izleyin ek bilgi... İşlemi tamamladıktan sonra gelen keyleri setup.php dosyasına kopyalayın.

Kodu schema.sql'den (arşivde bulabilirsiniz) PhpMyAdmin veya benzeri bir araçta çalıştırın. Uygulamanızın kullanıcı hesabı bilgilerini depolamak için kullanılacak veritabanında bir glogin_users tablosu oluşturacaktır. Daha sonra setup.php içerisine veritabanı bağlantı detaylarınızı yazınız.

PHP

Giriş formunu Google'ın Federasyon girişini kullanarak yapıyoruz. Bu, web sitenize gelen ziyaretçilerin bir bağlantıya tıkladığı anlamına gelir. google sayfası uygulamaya kendi hesaplarına erişim izni verirler ve ardından geri yönlendirilirler. Daha sonra onlar hakkında bilgi istemek için kullanabileceğiniz bir erişim belirteci alırsınız. İşte yetkilendirme sürecinin basitleştirilmiş bir açıklaması:

  • Kullanıcı " Google ile giriş yap"demomuzda, uygulamamızın hangi izinleri istediğini gördükleri Google giriş sayfasına gidiyorlar.
  • Bu uygulamaya erişim izni verildikten sonra, siteye geri yönlendirileceklerdir. özel parametre kod URL'de geçirilir. Uygulamamız erişim belirtecini almak için bu kodu kullanacaktır;
  • Bir belirteç kullanarak uygulama, veritabanına kaydedilen kullanıcı hakkında bilgi ister.

Okumak ve veritabanına eklemek için kütüphane klasöründe bulabileceğiniz minik Idiorm kütüphanesini kullanıyorum.

PHP kodumuz şu şekilde düzenlenmiştir:

  • index.php- bu, uygulamanın ana dosyasıdır;
  • setup.php- bu dosya, Google'ın API Konsolundan elde edilen veritabanı bağlantı bilgilerini ve anahtarları içerir;
  • Dosya kütüphane- Idiorm kütüphanesini içerir, PHP kitaplıkları Google ve göreli zaman damgalarını dahil etmek için bir sınıf.

Şimdi index.php'nin başındaki koda bir göz atalım:

"setup.php" gerektirir; // Yeni bir Google API istemcisi oluşturun
$ müşteri = yeni apiClient ();
// $ client-> setApplicationName ("Tutorialzine"); // Yapılandır
$ client -> setClientId ($ client_id);
$ client -> setClientSecret ($ client_secret);
$ client -> setDeveloperKey ($ api_key);
$ client -> setRedirectUri ($ yönlendirme_url);
$ client -> setApprovalPrompt (yanlış);
$ oauth2 = yeni apiOauth2Service ($ istemci); // code parametresi bunun
// google'dan geçici bir kod taşıyan bir yönlendirme
if (isset ($ _GET ["kod"])) ( // Bu yöntem, gerçek değeri elde edecek erişim belirteci Google'dan,
// kullanıcı bilgilerini talep edebilmemiz için
$ istemci -> kimlik doğrulama (); // Elde etmek Kullanıcı veri
$ info = $ oauth2 -> userinfo -> get(); // Bu kişiyi veritabanında bulun
$ kişi = ORM :: for_table ("glogin_users") -> nerede ("e-posta", $ info ["email"]) -> find_one(); if (! $ kişi) (
// Böyle bir kişi bulunamadı. Kayıt olmak! $ kişi = ORM :: for_table ("glogin_users") -> create(); // db'ye eklenecek özellikleri ayarlayın
$ kişi -> e-posta = $ bilgi ["e-posta"];
$ kişi -> isim = $ bilgi ["isim"];

if (isset ($ info ["resim"])) (
// Kullanıcı bir public ayarladıysa Google hesabı Fotoğraf
$ kişi -> fotoğraf = $ bilgi ["resim"];
}
Başka (
// aksi takdirde varsayılanı kullan
$ kişi -> fotoğraf = "varlıklar / img / default_avatar.jpg";
} // kaydı veritabanına ekle
$ kişi -> kaydet ();
} // kullanıcı kimliğini oturuma kaydet
$ _SESSION ["user_id"] = $ kişi -> id(); // Temel demo URL'sine yönlendir
başlık ( "Konum: $ yönlendirme_url") ;
çıkış;
) // Çıkışı yönet
if (isset ($ _GET ["logout"])) (
unset ($ _SESSION ["user_id"]);
) $ kişi = boş;
if (isset ($ _SESSION ["user_id"])) (
// Kişiyi veritabanından getir
$ kişi = ORM :: for_table ("glogin_users") -> find_one ($ _SESSION ["user_id"]);
}

Burada neler oluyor, müsaitlik durumunu kontrol ediyoruz kod$ _ içinde GET parametreleri... Yukarıda bahsettiğim gibi bu parametre, kullanıcı uygulamaya erişim izni verdikten sonra tekrar yönlendirildiği zaman Google tarafından ayarlanır. Daha sonra kullanıcı hakkında bilgi talep edip veritabanına yazıyoruz. Kullanıcı kimliği (ID'nin veritabanındaki değeri) oturuma yazılır. İstekler arasında kaydedilir ve kullanıcının kimliğinin doğrulandığına dair bir bayrak olarak kullanılır.

OAuth hakkında daha fazla bilgi edinmek istiyorsanız, konuyla ilgili Google'dan ilgili bilgileri okuyun. Burada ayrıca get () yöntemiyle döndürülen alanları içeren bir tablo görebilirsiniz.

Sonlara doğru bir değişken tanımlıyoruz $ kişi... Tablodaki her sütun için özelliklerle birlikte Idiorm kitaplığı tarafından döndürülen bir nesne içerir. glogin_users... Bu nesnenin nasıl kullanıldığını bir sonraki bölümde görebilirsiniz.

HTML

Örneğimiz için HTML kodu index.php'nin altındadır. Bu nedenle, nesneye erişimimiz var $ kişi, kullanıcının adını ve fotoğrafını görüntülerken kullanışlıdır. Sayfanın kendisi standart belge HTML5:


>
>

> Google Destekli Giriş Formu >

"http://fonts.googleapis.com/css?family=Open+Sans+Condensed:300,700" />


> > > Giriş Formu >


"arka plan resmi: url (/ fotoğraf?>? sz = 58) "> >

Hoş geldin, > isim)?> > >

kayıt oldun > kayıtlı)?> > >
Çıkış Yap >

Google ile oturum açın >
>
>
>

Nesnenin $ person değişkenini içerip içermediğini kontrol ediyoruz ve ardından kullanıcının adını ve fotoğrafını görüntülüyoruz. Aksi takdirde, uygulamamız için Google kimlik doğrulama sayfasına işaret eden bir yetkilendirme URL'si çıkarırız.

İşte HTML kullanan bir Kayıt formu örneği. Burada bir programcı istediği kadar "Metin Alanı" görüntüleyebilir. Metin Alanının önündeki isme "Etiket" denir. Kayıt formunun sonunda, istenen herhangi bir bağlantının kullanılabileceği bir "EKLE" düğmesi vardır. Bir kez tıklandığında, o belirli hedefe yönlendirilecektir.

İşte HTML kullanan bir Kayıt formu örneği. Burada bir programcı istediği kadar "Metin Alanı" görüntüleyebilir. Metin Alanının önündeki isme "Etiket" denir. Kayıt formunun sonunda, istenen herhangi bir bağlantının kullanılabileceği bir "EKLE" düğmesi vardır. Bir kez tıklandığında, o belirli hedefe yönlendirilecektir.

Kayıt formu için HTML Kodu

İşte HTML kullanan bir Kayıt formu örneği. Burada bir programcı istediği kadar "Metin Alanı" görüntüleyebilir. Metin Alanının önündeki isme "Etiket" denir. Kayıt formunun sonunda, istenen herhangi bir bağlantının kullanılabileceği bir "EKLE" düğmesi vardır. Bir kez tıklandığında, o belirli hedefe yönlendirilecektir.

Bu örnekte 9 adet "Metin Alanı" gösterdik. Metin Kutusunun boyutu da ihtiyaca göre değiştirilebilir.

kayıt.html

Kayıt formu

Kayıt formu

Merhaba! Şimdi PHP + MySQL kullanarak sitede en basit kaydı uygulamaya çalışacağız. Bunun için bilgisayarınızda Apache kurulu olmalıdır. Komut dosyamızın prensibi aşağıda gösterilmiştir.

1. Veritabanında kullanıcı plakasını oluşturarak başlayalım... Kullanıcı verilerini (giriş ve şifre) içerecektir. Gelelim phpmyadmin'e (eğer PC'nizde bir üs oluşturuyorsanız) http: // localhost / phpmyadmin /). Tablo oluştur kullanıcılar, 3 alanı olacaktır.

Ben mysql veritabanında oluşturuyorum, siz başka bir veritabanında oluşturabilirsiniz. Ardından değerleri resimdeki gibi ayarlayın:

2. Bu tabloya bağlantı gereklidir. Bir dosya oluşturalım bd.php... Bu içerik:

$ db = mysql_connect ("MySQL sunucunuz", "bu sunucuya giriş yapın", "bu sunucuya şifre");
mysql_select_db ("bağlandığımız veritabanının adı", $ db);
?>

Benim durumumda, şöyle görünüyor:

$ db = mysql_connect ("localhost", "user", "1234");
mysql_select_db ("mysql", $ db);
?>

Kurtarırız bd.php.
İyi! Veritabanında bir tablomuz var, onunla bir bağlantımız var. Artık kullanıcıların verilerini bırakacakları bir sayfa oluşturmaya başlayabilirsiniz.

3. İçeriği olan bir reg.php dosyası oluşturun (içerideki tüm yorumlar):



kayıt


kayıt


















4. Bir dosya oluşturun, veri tabanına veri girecek ve kullanıcıyı kaydedecektir. save_user.php(içerideki yorumlar):



{
}
// kullanıcı adı ve şifre girilirse, etiketlerin ve komut dosyalarının çalışmaması için bunları işliyoruz, insanların ne girebileceğini asla bilemezsiniz


// fazladan boşlukları kaldır
$ giriş = kırp ($ giriş);
$ şifre = kırp ($ şifre);
// veritabanına bağlan
// aynı girişe sahip bir kullanıcının varlığını kontrol edin
$ sonuç = mysql_query ("Kullanıcılardan NEREDE oturum açma =" $ oturum açma "", $ db);
if (! boş ($ myrow ["id"])) (
çıkış ("Üzgünüz, girdiğiniz kullanıcı adı zaten kayıtlı. Lütfen başka bir kullanıcı adı girin.");
}
// değilse, verileri kaydedin
$ sonuç2 = mysql_query ("INSERT INTO users (login, password) DEĞERLER (" $ login "," $ password ")");
// Hata olup olmadığını kontrol edin
if ($ sonuç2 == "DOĞRU")
{
echo "Başarıyla kayıt oldunuz! Artık siteyi ziyaret edebilirsiniz. Ana sayfa";
}
Başka (
echo "Hata! Kayıtlı değilsiniz.";
}
?>

5. Artık kullanıcılarımız kayıt olabilir! Ardından, zaten kayıtlı kullanıcılar için siteye girmek için bir "kapı" yapmanız gerekir. index.php(içerideki yorumlar):

// tüm prosedür oturumlar üzerinde çalışır. Sitedeyken kullanıcının verilerinin depolandığı yer burasıdır. Onları sayfanın en başında çalıştırmak çok önemlidir !!!
oturum_başlangıç();
?>


Ana sayfa


Ana sayfa











Şimdi üye Ol



// Oturum açma ve kullanıcı kimliği değişkenlerinin boş olup olmadığını kontrol edin
if (boş ($ _ SESSION ["giriş"]) veya boş ($ _ SESSION ["id"]))
{
// Boşsa, bağlantıyı göstermeyiz
echo "Misafir olarak giriş yaptınız
Bu bağlantı yalnızca kayıtlı kullanıcılar tarafından kullanılabilir ";
}
Başka
{

Dosyada index.php sadece kayıtlı kullanıcılara açık olacak bir bağlantı görüntüleyeceğiz. Bu betiğin tüm amacı - herhangi bir veriye erişimi kısıtlamak.

6. Girilen kullanıcı adı ve şifrenin doğrulandığı bir dosya var. testreg.php (içerideki yorumlar):

session_start(); // tüm prosedür oturumlar üzerinde çalışır. Sitedeyken kullanıcının verilerinin depolandığı yer burasıdır. Onları sayfanın en başında çalıştırmak çok önemlidir !!!
if (isset ($ _ POST ["login"])) ($ login = $ _POST ["login"]; if ($ login == "") (unset ($ login);)) // girilen girişi girin kullanıcı tarafından $ login değişkenine girilir, eğer boşsa değişkeni yok ederiz
if (isset ($ _ POST ["şifre"])) ($ şifre = $ _ POST ["şifre"]; if ($ şifre == "") (ayarlanmamış ($ şifre);))
// kullanıcı tarafından girilen şifreyi $ password değişkenine koy, eğer boşsa değişkeni yok ediyoruz
if (boş ($ giriş) veya boş ($ şifre)) // kullanıcı giriş veya şifre girmediyse, bir hata verir ve komut dosyasını durdururuz
{
çıkış ("Tüm bilgileri girmediniz, geri dönün ve tüm alanları doldurun!");
}
// kullanıcı adı ve şifre girilirse, etiketlerin ve komut dosyalarının çalışmaması için bunları işliyoruz, insanların ne girebileceğini asla bilemezsiniz
$ giriş = eğik çizgi ($ giriş);
$ giriş = htmlspecialchars ($ giriş);
$ şifre = eğik çizgi ($ şifre);
$ şifre = htmlözel karakterler ($ şifre);
// fazladan boşlukları kaldır
$ giriş = kırp ($ giriş);
$ şifre = kırp ($ şifre);
// veritabanına bağlan
include ("bd.php"); // bd.php dosyası herkesle aynı klasörde olmalıdır, değilse, sadece yolu değiştirin

$ sonuç = mysql_query ("SEÇ * KULLANICILARDAN NEREDE giriş =" $ giriş "", $ db); // girilen oturum açma ile kullanıcı hakkındaki tüm verileri veritabanından alın
$ myrow = mysql_fetch_array ($ sonuç);
if (boş ($ myrow ["şifre"]))
{
// girilen girişe sahip kullanıcı mevcut değilse
}
Başka (
// varsa, şifreleri kontrol edin
if ($ myrow ["şifre"] == $ şifre) (
// şifreler eşleşirse, kullanıcı için bir oturum başlatırız! Onu tebrik edebilirsiniz, girdi!
$ _SESSION ["giriş"] = $ myrow ["giriş"];
$ _SESSION ["id"] = $ myrow ["id"]; // bu veriler çok sık kullanılır, bu nedenle oturum açan kullanıcı "onunla birlikte taşıyacaktır"
echo "Siteye başarıyla girdiniz! Ana sayfa";
}
Başka (
// şifreler uyuşmuyorsa

Çıkış ("Üzgünüz, girdiğiniz giriş veya şifre yanlış.");
}
}
?>

Hepsi bu kadar! Ders sıkıcı olabilir ama çok faydalı olabilir. Burada yalnızca kayıt fikri gösterilir, o zaman onu geliştirebilirsiniz: koruma, tasarım, veri alanları ekleyin, avatarları yükleyin, hesabınızdan çıkış yapın (bunun için, değişkenleri işlevle oturumdan silin ayarsız) vesaire. İyi şanlar!

Her şeyi kontrol ettim, düzgün çalışıyor!

Form oluşturma

Anketler, kayıt formları, haber abonelik formları vb. oluşturmak için "anketler" bölümüne gitmeniz gerekir.

Yeni bir anket / kayıt formu oluşturmak için simgeye tıklayın;

Aşağıdaki alanları dolduruyoruz:

  • Başlık;
  • type - "anket" veya "kayıt formu" (genellikle bir "kayıt formu"na ihtiyacınız vardır);
  • bekleme süresi - soruları cevaplayabileceğiniz süre;
  • durum - form hazır olduktan sonra "etkin" olarak değiştirin.
  • dil (form İngilizce ise, dili ayarlamalısınız - "İngilizce")

Bundan sonra, "Bir soru bloğu ekle" şeridini tıklayın.

Görünen blokta soru oluşturmaya devam edin. "Soru ekle" kırmızı şeridine tıklayın. Aşağıdakiler görünür:

"Soru bloğu" alanını boş bırakın. "Soru" alanına soruyu doğrudan girin. Bir sonraki alanda, soruya açıklama ekleyebilirsiniz. Bu sorunun cevabı isteniyorsa, ilgili maddenin önüne bir daw koyun. Bir soru için birkaç cevap seçeneğine izin veriliyorsa, ilgili öğenin önüne bir daw koyarız, "Cevap ekle" şeridine tıklayın ve gerekli seçeneği girin. Gerekli sayıda yanıt seçeneği ekleyin.

Cevaplar belirtilmemişse ve cevaplayanın kendi versiyonunu sunması gerekiyorsa, "Ücretsiz cevap mümkün mü" alanında "Satır" değerini seçin (bitirilen ankette, kullanıcının cevap girebileceği bir satır görüntülenecektir) veya "Birkaç satır" (bitmiş ankette, kullanıcının cevabı girebileceği alan bir metin).

Cevabın tarihi, telefon numarasını, ikamet ettiği bölgeyi, dosya indirmeyi belirtmesi gerekiyorsa, cevap için "Özel soru" alanını da kullanabilirsiniz. Açılır listede, bitmiş ankette yanıt için belirli bir formattaki bir alanın görüntülenmesine veya bir yanıt seçeneği seçebileceğiniz bir açılır listeye bağlı olarak istediğiniz seçeneği seçmelisiniz.

Bu şemaya göre, gerekli sayıda soru ekleyin ve bunlar için cevap seçenekleri sağlayın. Sonunda, "Kaydet" e tıklayın. Kaydedilen form, yönetici panelinde "Anketler" bölümünde görüntülenecektir.

forma bağlantı

Alınan bağlantının düzeltilmesi gerekiyor Formu sitenizin içinde açmak için. Bunu yapmak için https://www.hse.ru/ yerine sitenizin adresini ... hse.ru / expresspolls / poll / 148017072.html değiştirmeniz gerekir. Bağlantı, "Anket Bağlantısı" alanında değil, doğrudan bölüm web sitenizde veya bir e-posta bülteninde belirttiğiniz yerde değiştirilmelidir. Bir form yerleştirmeniz gerekiyorsa İngilizce, ardından bağlantıda sitenizin İngilizce sürümünün adresini değiştirmelisiniz (adres şunları içermelidir: ru).

En az bir yanıt göründükten sonra yönetici paneli görüntülenecektir. sonuçlara bağlantılar... Sonuçları html modunda görüntüleyebilir veya excel'e aktarabilirsiniz.

Gelecekte benzer bir anket veya kayıt formu oluşturmanız gerekirse, mevcut forma tıklayın. "Klon", adı değiştirin ve kaydedin. Yeni formda gerekli alanları/soruları değiştirin ve çıkan sonuçları kaydedin.

Bildirimleri yanıtla / kayıt yanıt e-postaları

Yeni yanıtlardan haberdar olmanız gerekiyorsa, yazın. Mektuba formunuza bir bağlantı ekleyin ve kurumsal posta Yeni yanıtlardan haberdar edilmesi gereken çalışanlar.

Kullanıcıyla kendiniz iletişime geçmek istiyorsanız, bunu iki şekilde yapabilirsiniz:
1. Metni "Teşekkür metni" alanına yerleştirin - kullanıcı kaydedildikten sonra ekranda görüntülenecektir.

2. Kullanıcının posta yoluyla mektup almasını istiyorsanız, "Cevaptan sonra mektubu bildir"in önüne "Evet" yazmalısınız. Gerekli metni "Mektubun metni" alanına yerleştirin. Bu özellik, yalnızca türünüz "kayıt formu" ise ve "anket" değilse mevcuttur.

büyük istek mektup metninde iletişim bilgilerini belirtin- kullanıcının sorularla dönebileceği yer. Gerçek şu ki, mektuplar sitenin teknik destek kutusundan geliyor (bu otomatik olarak yapılandırılır ve değiştirilemez) ve kullanıcılar sorularla yanlış adres sormaya başlar.

Neye benzediğine bir örnek bitmiş form editör arayüzünde (soru kodu otomatik olarak yazılır!):

Ve bu form kullanıcılara böyle görünüyor.

Kullanıcılar, ihtiyaç duydukları bilgileri bulmak için her gün İnternet'te gezinirler. Çoğu forum ve sosyal ağ, verilere erişmek için yetkilendirme gerektirir. Bu sayede site sahipleri bir kullanıcı tabanı ve trafik kazanır. Kendi kaynağınız var mı, ancak kalıcı bir kullanıcı birliği yok mu? Siteye nasıl kayıt olunacağını bulalım.

Projeye kullanıcı kaydı, sitedeki bilgilere olan ilgisi anlamına gelir. Ancak kayıt prosedürünü gereksiz formlar ve verilerle aşırı yüklemeyin. Son zamanlarda, kaynakta bir hesap oluştururken sadece bir giriş kullanılıyor. Kullanıcı, istenen oturum açma bilgilerini ve posta kutusuna girer. Birkaç dakika sonra, belirtilen e-posta adresine hesaba şifreli bir mektup veya şifre almak ve bir profili etkinleştirmek için bir bağlantı gönderilir. Bununla birlikte, eski sitelerin çoğu hala, istenen girişe ek olarak bir şifre, posta kutusu, ad ve soyadı belirtmeniz gereken önceki hesap kayıt şemasını kullanıyor.

Bu yüzden profil oluşturma formundan kullanıcıyı korkutmamak için aynı anda hem basit hem de etkili hale getirilmelidir. Web sitenize nasıl kayıt olunur ve formu bilgisayar korsanlığından mümkün olduğunca nasıl korursunuz?

Siteye kayıt uygulamak için barındırmada PHP ve MySQL desteğine ihtiyacınız olacak. Barındırma hizmetiniz yalnızca HTML'yi destekliyorsa, ne yazık ki PHP'de bir kayıt komut dosyası oluşturamazsınız. Sitedeki tüm yetkilendirme algoritması birkaç aşamaya ayrılabilir:

  1. Kullanıcı siteye girer, yetkilendirme formunu açar.
  2. Zaten kayıtlıysa, şifreyi girer ve forma giriş yapar.
  3. İşleyici komut dosyası alınan verileri kontrol eder:
    • girilen giriş / şifre çifti doğruysa, kullanıcı sitede yetkilendirilir;
    • veriler doğru değilse, kullanıcı yetkilendirme formu ile tekrar sayfaya döndürülür.
  4. Kullanıcı kayıtlı değilse, site onu bir hesap oluşturmak için özel bir form doldurmaya davet eder.

Kesin olarak, kayıt, kullanıcı verilerini özel bir "yerde" saklama işlemidir. .txt ve.dat uzantılı metin dosyaları, bir XML dosyası ve bir veritabanı, site kullanıcılarının oturum açma bilgileri ve şifreleri için bir depolama konumu olarak kullanılabilir. İlk iki yöntem, kullanışlılıklarını çoktan yitirdi ve herhangi biri bunlara doğrudan tarayıcının adres çubuğundan erişebileceğinden, güvenli olmayan veri depolama yöntemleri olarak kabul edilir.

Veritabanı, kullanıcı bilgilerinin açık ara en iyi deposudur. Veritabanı sadece şifreleri ve oturum açma bilgilerini değil, aynı zamanda tüm ilgili bilgileri de saklar: e-posta adresleri, kullanıcının tam adı ve iletişim bilgileri, ilgi alanları, konumu vb.

Aşağıdaki kullanıcı kaydı komut dosyası en basitidir. Kendinizi otomatik kayıtlardan korumak, yeni alanlar eklemek ve çok daha fazlası için ona bir captcha ekleyebilirsiniz.

Yapmanız gereken ilk şey, hostinginizde phpMyAdmin aracılığıyla bir veritabanı oluşturmak. Ardından yeni bir kullanıcı oluşturun ve onu veritabanına "bağlayın". Örneğin, "myuserbd", kullanıcı "myuser" ve şifre "myuserpass" adlı bir veritabanı oluşturdunuz.

phpMyAdmin'e gidin, yeni oluşturulan veritabanını seçin ve veritabanına karşı aşağıdaki sorguyu çalıştırın (SQL bölümü):

"kullanıcılar" YOKSA TABLO OLUŞTUR (

`id` int (8) NULL DEĞİL otomatik_artırma,

`login` karakteri (32) harmanla utf8_unicode_ci varsayılan NULL,

'pass' karakter (32) harmanla utf8_unicode_ci varsayılan NULL,

BİRİNCİL ANAHTAR (`id`),

ANAHTAR `giriş` (` giriş`)

) MOTOR = MyISAM VARSAYILAN CHARSET = utf8 COLLATE = utf8_unicode_ci;

"myuserbd" veritabanında "users" adında yeni bir tablo görünecektir. Tabloda 3 satır vardır: ID (kayıtlı kullanıcının kimliği), login (kullanıcı adı) ve pass (kullanıcı şifresi).

Şimdi veritabanını ve kayıt komut dosyasını bağlamanız gerekiyor. Bir bd.php dosyası oluşturun, içine aşağıdaki kodu girin ve veritabanının adını, şifresini ve kullanıcı adını belirtin.

$ db = mysql_connect ("myuserbd", "myuser", "myuserpass");

mysql_select_db ("mysql", $ db);

Kullanıcı kaydı komut dosyası 4 dosyadan oluşur:

  • index.php - kullanıcı yetkilendirmesi ile ilgili bilgilerin doğrulandığı sitenin ana sayfası;
  • reg.php - kullanıcı kayıt formu içeren bir sayfa;
  • testreg.php - kullanıcı verilerini kontrol etmekten sorumlu dosya;
  • saveuser.php - girilen verileri veritabanına kaydetme.

İsteğe bağlı olarak, komut dosyasına kendi işlevlerinizi ekleyebilirsiniz: unutulan bir şifreyi kurtarma, e-posta yoluyla bir hesabı etkinleştirme, botlara ve otomatik kayıtlara karşı koruma.

Sadece yukarıdaki PHP dosyaları ile kalır, verilerinizi bd.php dosyasındaki veritabanına kaydedin ve sitenizin kök klasörüne barındırmadaki paketinden çıkarın. Gördüğünüz gibi siteye üye olmak hiç de zor değil.

Ancak, kullanıcı kayıt formları oluşturmanın daha kolay yolları vardır. İnternette iyi korumaya sahip birçok hazır komut dosyası vardır ve neredeyse tüm CMS, kullanıcıların siteye kaydolmasına izin verir.