Jquery'de kayıt ve yetkilendirme formu. PHP, MySQL ve jQuery kullanarak harika bir kayıt sistemi oluşturma. Fantezi AJAX İletişim Formu

Her şey PHP altında çalışır ve veriler MySQL veritabanında saklanır.

Sistem, Web-kreation tarafından geliştirilen mükemmel bir kayar panel kullanır.

Adım 1 – MySQL

Öncelikle kayıtlı kullanıcılara ait tüm verileri içerecek bir tablo oluşturmamız gerekiyor. Sorgu kodu kaynak arşivdeki table.sql dosyasında mevcuttur.

tablo.sql --
-- "tz_members" tablosunun yapısı
--
TABLO OLUŞTUR `tz_members` (
'id' int(11) BOŞ DEĞİL auto_increment,
`usr` varchar(32) harmanla utf8_unicode_ci NOT NULL varsayılan "",
'pass' varchar(32) harmanla utf8_unicode_ci NULL DEĞİL varsayılan "",
`email` varchar(255) harmanla utf8_unicode_ci NULL DEĞİL varsayılan "",
`regIP` varchar(15) harmanlama utf8_unicode_ci NULL DEĞİL varsayılan "",
'dt' tarihsaat BOŞ DEĞİL varsayılan "0000-00-00 00:00:00",
BİRİNCİL ANAHTAR ("kimlik"),
BENZERSİZ ANAHTAR 'usr' ('usr')
) MOTOR=MyISAM VARSAYILAN KARAKTER SETİ=utf8 COLLATE=utf8_unicode_ci;

Kimliği auto_increment seçeneğiyle bir tamsayı olarak tanımlıyoruz - her yeni kayıtlı kullanıcıya otomatik olarak atanacaktır. Ayrıca usr benzersiz bir anahtar olarak tanımlanır; tabloda aynı kullanıcı adına sahip iki kaydın bulunmasına izin verilmez.

Daha sonra kayıt işlemi sırasında kullanıcı adı girildiğinde belirtilen özellikleri kullanacağız.

Tabloyu oluşturduktan sonra, kodu sunucunuzda çalıştırabilmeniz için connect.php dosyasındaki veritabanınıza bağlanmak için değişkenleri doldurmanız gerekir.

Adım 2 - XHTML

Öncelikle sayfamıza bir Web oluşturma formu yerleştirmemiz gerekiyor.

demo.php




jQuery Kayar Panel
Siteye kullanıcı kaydı/giriş çözümü





Kayıtlı kullanıcılar için giriş yapın

Kullanıcı adı:

Şifre:

Beni Hatırla







Henüz kayıtlı değil misiniz? Bilgilerinizi girin!

Kullanıcı adı:

E-posta:

Şifre tarafınıza mail yoluyla gönderilecektir.





Kayıtlı kullanıcılar için

Demo verileri


Kullanıcı sayfasına git

Çıkış Yap










Kodun çeşitli yerlerinde $_SESSION["usr"] veya $_SESSION["id"] öğesinin tanımlanıp tanımlanmadığını kontrol eden PHP ifadeleri bulunur. Bunlar yalnızca sayfa ziyaretçisinin kayıtlı bir kullanıcı olması durumunda geçerlidir; bu da kayıtlı ziyaretçiler için gizli içeriği göstermemize olanak tanır.

Formdan sonra sayfa içeriğinin geri kalanını yerleştiriyoruz.




jQuery Kayar Panel
Kolay kayıt yönetimi PHP'yi kullanma ve jQuery


Bazı metin...




Kodda özel bir şey yok.

Adım 3 – PHP

Şimdi formu eksiksiz bir kayıt ve giriş sistemine dönüştüreceğiz. Sorunu çözmek için normal PHP kodundan başka bir şeye ihtiyacınız olacak. Kodun tamamı iki bölüme ayrılmıştır.

Bir şey eklemeyi planlıyorsanız, her şeyi birkaç parçaya bölmek en iyisidir. ayrı dosyalar ve gerektiğinde bunları açın. Bu yaklaşım, büyük projelerin geliştirilmesine ve aynı zamanda sitenin farklı bölümlerinde kodun yeniden kullanılmasına yardımcı olur.

Burada nasıl uygulandığı anlatılıyor.

demo.php define("INCLUDE_CHECK",true);
"connect.php" gerektirir;
"functions.php" gerektirir;
// Bu iki dosya yalnızca INCLUDE_CHECK tanımlanmışsa dahil edilebilir
oturum_adı("tzLogin");
// Oturumu başlat
session_set_cookie_params(2*7*24*60*60);
// Çerezin ömrünü iki hafta olarak tanımlar
oturum_başlangıç();
if($_SESSION["id"] && !isset($_COOKIE["tzRemember"]) && !$_SESSION["rememberMe"])
{
// Oturum açtıysanız ancak tzRemember çereziniz yoksa (tarayıcı yeniden başlatılır)
// ve beni hatırla onay kutusunu işaretlemediniz:
$_SESSION = dizi();
session_destroy();
//Oturumu sil
}
if(isset($_GET["oturum kapatma"]))
{
$_SESSION = dizi();
session_destroy();
başlık("Konum: demo.php");
çıkış;
}
if($_POST["gönder"]=="Giriş")
{
// İsteğin Giriş formundan gelip gelmediğini kontrol edin
$hata = dizi();
// Hatayı kaydet
if(!$_POST["kullanıcı adı"] || !$_POST["şifre"])
$err = "Tüm alanların doldurulması zorunludur!";
if(!count($hata))
{

$_POST["şifre"] = mysql_real_escape_string($_POST["şifre"]);
$_POST["rememberMe"] = (int)$_POST["rememberMe"];
//Tüm verileri hazırla
$row = mysql_fetch_assoc(mysql_query("Kimliği SEÇİN,usr FROM tz_members WHERE usr="($_POST["kullanıcı adı"])" AND pass="".md5($_POST["şifre"]).""")) ;
if($satır["usr"])
{
// Her şey yolundaysa giriş yapın
$_SESSION["usr"]=$row["usr"];
$_SESSION["id"] = $satır["id"];
$_SESSION["rememberMe"] = $_POST["rememberMe"];
// Oturumdaki bazı verileri kaydet
setcookie("tzRemember",$_POST["beni hatırla"]);
// tzRemember çerezini oluşturun
}
else $err="Geçersiz kullanıcı adı ve/veya şifre!";
}
eğer($hata)
$_SESSION["msg"]["giriş-hatası"] = implode("
",$hata);
// Hata mesajını oturuma kaydedin
başlık("Konum: demo.php");
çıkış;
}

Burada tzRemember çerezi, "Beni hatırla" onay kutusunu işaretlemeyen bir kullanıcının oturumu kapatıp kapatmayacağını belirlemek için bir kontrol öğesi görevi görür. Çerez eksikse (tarayıcının yeniden başlatılması nedeniyle) ve ziyaretçi “beni hatırla” seçeneğini işaretlemediyse oturumu sileriz.

Oturumun kendisi iki hafta boyunca aktif kalacaktır (session_set_cookie_params parametresinde ayarlandığı gibi).

Ve işte demo.php'nin ikinci kısmı.

Else if($_POST["gönder"]=="Kayıt")
{
// Kayıt formundan istek gönderilirse
$hata = dizi();
if(strlen($_POST["kullanıcı adı"])32)
{
$err="Kullanıcı adı 3 ila 32 karakter uzunluğunda olmalıdır!";
}
if(preg_match("/[^a-z0-9\-\_\.]+/i",$_POST["kullanıcı adı"]))
{
$err="Kullanıcı adı geçersiz karakterler içeriyor!";
}
if(!checkEmail($_POST["email"]))
{
$err = Sizin e-posta adresi yanlış!";
}
if(!count($hata))
{
// Eğer hata yoksa
$pass = substr(md5($_SERVER["REMOTE_ADDR"].microtime().rand(1.100000))),0.6);
// Rastgele bir şifre oluştur
$_POST["e-posta"] = mysql_real_escape_string($_POST["e-posta"]);
$_POST["kullanıcı adı"] = mysql_real_escape_string($_POST["kullanıcı adı"]);
// verileri hazırla
mysql_query(" INSERT INTO tz_members(usr,pass,e-posta,regIP,dt)
DEĞERLER(
"".$_POST["kullanıcı adı"]."",
"".md5($geçiş).",
"".$_POST["e-posta"]."",
"".$_SERVER["REMOTE_ADDR"]."",
ŞİMDİ()
)");
if(mysql_affected_rows($link)==1)
{
send_mail("demo-test@site",
$_POST["e-posta"],
"Kayıt sisteminin gösterimi - şifre oluşturma",
"Şifreniz: ".$pass);
$_SESSION["msg"]["reg-success"]="Size yeni şifrenizi içeren bir e-posta gönderdik!";
}
else $err="Bu kullanıcı adı zaten kullanımda!";
}
if(count($hata))
{
$_SESSION["msg"]["reg-err"] = implode("
",$hata);
}
başlık("Konum: demo.php");
çıkış;
}
$komut = "";
if($_SESSION["mesaj"])
{
// Komut dosyası yükleme sayfasında kayan bir panel gösteriyor
$komut = "

$(işlev())(
$("div#panel").show();
$("#toggle a").toggle();
});
";
}

Tanımlanan tüm hataları, daha sonra $_SESSION değişkenine atanan $err dizisinde saklıyoruz. Bu şekilde, tarayıcı yeniden yönlendirildikten sonra ona erişim korunur.

Bazı siteler, bir form gönderildiğinde veya sayfanın bir sonraki yenilenmesinde verilerin zaten gönderildiğine dair bir uyarı alabilir. Bu, yinelenen kayıtlara ve sunucuda gereksiz yüke yol açacağından bir sorun olabilir.

Tarayıcıyı aynı sayfaya yönlendirerek hata oluşmasını önlemek için başlık işlevini kullanırız. Bu, tarayıcının onu bir form isteği olarak tanımasına gerek kalmadan sayfanın görünümünü günceller. Sonuç olarak sayfa yenilenir ve hiçbir veri aktarılmaz.

Ancak tespit edilen tüm hataları saklamak için $_SESSION kullandığımızdan, kullanıcıya hata gösterilir gösterilmez tüm değişkenleri sıfırlamamız çok önemlidir. Aksi halde her sayfa görünümünde görüntülenecektir.

Ayrıca kullanılmış ek komut dosyası, indirme sayfasında mesajın kullanıcıya görünür olmasını sağlayan bir çubuk gösterir.


Adım 4 – CSS

Kayan panel kendi stil dosyasını kullanır. Yani tek yapmamız gereken sayfamız için bir stil oluşturmak.

demo.css gövdesi,h1,h2,h3,p,alıntı,küçük,form,giriş,ul,li,ol,etiket(
/* Kuralları sıfırla */
kenar boşluğu:0 piksel;
dolgu:0 piksel;
}
vücut(
renk:#555555;
yazı tipi boyutu:13 piksel;
arka plan: #eeeeee;
yazı tipi ailesi: Arial, Helvetica, sans-serif;
genişlik: %100;
}
h1(
yazı tipi boyutu:28 piksel;
yazı tipi ağırlığı:kalın;
yazı tipi ailesi:"Trebuchet MS", Arial, Helvetica, sans-serif;
harf aralığı:1px;
}
h2(
yazı tipi ailesi:"Arial Narrow",Arial,Helvetica,sans-serif;
yazı tipi boyutu: 10 piksel;
yazı tipi ağırlığı:normal;
harf aralığı:1px;
dolgu-sol:2px;
metin dönüşümü:büyük harf;
beyaz boşluk:sarma;
kenar boşluğu üst:4 piksel;
renk:#888888;
}
#ana p(
dolgu-alt:8px;
}
.temizlemek(
ikisini de temizle;
}
#ana(
genişlik:800 piksel;
/* Sayfanın ortasında ortalayın */
kenar boşluğu:60 piksel otomatik;
}
.konteyner(
kenar boşluğu üst:20px;
arka plan:#FFFFFF;
kenarlık:1 piksel katı #E0E0E0;
dolgu:15 piksel;
/* Yuvarlatılmış köşeler */
-moz-sınır-yarıçapı:20px;
-khtml-sınır-yarıçapı: 20 piksel;
-webkit-sınır-yarıçapı: 20 piksel;
kenarlık yarıçapı:20px;
}
.hata(
kırmızı renk;
}
.başarı(
renk:#00CC00;
}
a, a:ziyaret edildi (
renk:#00BBFF;
metin dekorasyonu: yok;
taslak:yok;
}
a: üzerine gelin (
metin dekorasyonu:altı çizili;
}
.tutorial-info(
metin hizalama:ortalama;
dolgu:10 piksel;
) Adım 5 - jQuery

Kayar panelin kendi jQuery dosyası vardır.

demo.php






İlk satır Google CDN'den jQuery kütüphanesini içerir. Daha sonra şeffaflık öğeleri için bir IE6 PNG yaması geliyor. Daha sonra panel komut dosyası açılır

$script değişkeni, gerekirse yükleme sayfasındaki paneli gösterir.

İÇİNDE Twitter ağları Sayfanın temiz ve sade bir tasarımla çalıştığını görebilirsiniz. Sayfanın sağ üst kısmına bakın, sisteme giriş yapmak için bir düğme göreceksiniz, üzerine tıkladığınızda veri doldurma formlarını göreceksiniz. Bugün size kendi web sitenizde benzer bir etkiyi nasıl yaratacağınızı anlatacağız. Aslında çok basit. Ayrıca sayfada yerden tasarruf etmenize ve ziyaretçilerinize rahatlık hissi katmanıza yardımcı olacaktır. Bu yazımızda tüm bu sistemin nasıl çalıştığını adım adım anlatacağız ve bu rehber jQuery öğrenmek isteyenler için de faydalı olacaktır. İleri!

HTML Kodu

Öncelikle HTML koduyla başlamanız gerekir. HTML kodu çok basittir - formun görüntülenmesine yardımcı olan "fieldset" etiketiyle birlikte gelen "a" etiketini içerir.

Bunu kodunuza kopyalamanız yeterli yeni sayfa:


Hesabınız var mı? Kayıt olmak


Kullanıcı adı ya da email


Şifre




Beni Hatırla


Parolanızı mı unuttunuz?


Kullanıcı adını mı unuttun?






CSS kodu

İhtiyacın olacak CSS kullanma Yetkilendirme butonunu ve giriş formunu tanımlamak için. Aşağıdaki kod tam olarak bu işlevi yerine getiriyor.

Bu kodu css dosyanıza kopyalayın veya stili tanımladığınız HTML kodunuza ekleyin. Bu kodlar giriş butonunu tanımlar.

#konteyner (
genişlik:780 piksel;
kenar boşluğu:0 otomatik;
konum: göreceli;
}

#içerik (
genişlik:520 piksel;
minimum yükseklik: 500 piksel;
}
a:bağlantı, a:ziyaret edildi (
renk:#27b;
metin dekorasyonu: yok;
}
a: üzerine gelin (
metin dekorasyonu:altı çizili;
}
bir resim (
kenar genişliği:0;
}
#topnav (
dolgu:10 piksel 0 piksel 12 piksel;
yazı tipi boyutu: 11 piksel;
satır yüksekliği:23 piksel;
metin hizalama:sağ;
}
#topnav a.oturum açma (
arka plan:#88bbd4;
dolgu:4 piksel 6 piksel 6 piksel;
metin dekorasyonu: yok;
yazı tipi ağırlığı:kalın;
renk:#fff;
-webkit-sınır-yarıçapı:4px;
-moz-sınır-yarıçapı:4px;
sınır yarıçapı:4px;
*arka plan:şeffaf url("images/signin-nav-bg-ie.png") tekrarlamasız 0 0;
*dolgu:4 piksel 12 piksel 6 piksel;
}
#topnav a.oturum açma:hover (
arka plan:#59B;
*arka plan:şeffaf url("images/signin-nav-bg-hover-ie.png") tekrarsız 0 0;
*dolgu:4 piksel 12 piksel 6 piksel;
}
#topnav a.signin, #topnav a.signin:hover (
*background-position:0 3px!önemli;
}

a.oturum açma(
konum:göreceli;
kenar boşluğu-sol:3px;
}
a.oturum açma aralığı(
arka plan resmi:url("resimler/toggle_down_light.png");
arka plan tekrarı: tekrarlama yok;
arka plan konumu:%100 %50;
dolgu:4 piksel 16 piksel 6 piksel 0;
}
#topnav a.menü-açık (
arka plan:#ddeef6!önemli;
renk:#666!önemli;
taslak:yok;
}
#küçük_kayıt (
ekran:satır içi;
kayan nokta: yok;
satır yüksekliği:23 piksel;
kenar boşluğu:25 piksel 0 0;
genişlik:170 piksel;
}
a.signin.menu-açık yayılma alanı (
arka plan resmi:url("images/toggle_up_dark.png");
renk:#789;
}

Daha sonra giriş formunun tanımı geliyor:

#oturum açma_menü (
-moz-border-radius-topleft:5px;
-moz-kenarlık-yarıçapı-sol alt:5px;
-moz-sınır-yarıçap-sağ alt:5px;
-webkit-sınır-üst-sol-yarıçap:5px;
-webkit-kenarlık-alt-sol-yarıçap:5px;
-webkit-kenarlık-alt-sağ-yarıçap:5px;
görüntü yok;
arka plan rengi:#ddeef6;
konum:mutlak;
genişlik:210 piksel;
z-endeksi:100;
kenarlık:1 piksel şeffaf;
metin hizalama:sol;
dolgu:12 piksel;
üst: 24,5 piksel;
sağ: 0px;
kenar boşluğu üst:5 piksel;
sağ kenar boşluğu: 0px;
*sağ kenar boşluğu: -1px;
renk:#789;
yazı tipi boyutu: 11 piksel;
}

#signin_menu girişi, #signin_menu girişi (
Ekran bloğu;
-moz-sınır-yarıçapı:4px;
-webkit-sınır-yarıçapı:4px;
kenarlık:1 piksel katı #ACE;
yazı tipi boyutu:13 piksel;
kenar boşluğu:0 0 5px;
dolgu:5 piksel;
genişlik:203 piksel;
}
#signin_menu p (
kenar boşluğu:0;
}
#signin_menu a (
renk:#6AC;
}
#signin_menu etiketi (
yazı tipi ağırlığı:normal;
}
#signin_menu p.hatırla (
dolgu:10px 0;
}
#signin_menu s.unuttum, #signin_menu s.tamamlandı (
ikisini de temizle;
kenar boşluğu:5px 0;
}
#signin_menu pa (
renk:#27B!önemli;
}
#signin_submit (
-moz-sınır-yarıçapı:4px;
-webkit-sınır-yarıçapı:4px;
arka plan:#39d url("images/bg-btn-blue.png") tekrarlama-x kaydırma 0 0;
kenarlık:1 piksel katı #39D;
renk:#fff;
metin gölgesi:0 -1px 0 #39d;
dolgu:4 piksel 10 piksel 5 piksel;
yazı tipi boyutu: 11 piksel;
kenar boşluğu:0 5 piksel 0 0;
yazı tipi ağırlığı:kalın;
}
#signin_submit::-moz-focus-inner (
dolgu:0;
sınır:0;
}
#signin_submit:hover, #signin_submit:odaklanma (
arka plan konumu:0 -5px;
imleç:işaretçi;
}

Javascript ile çalışma zamanı

Öyle görünüyor ki, HTML kodları ve CSS oldukça karmaşık ve kafa karıştırıcıdır, ancak javascript'te her şey çok basittir. Tıklama, giriş formunun dışında yapılmış olsa bile, giriş düğmesine tıkladığınızda formu görüntüleyip gizlemenizi sağlayacak bu javascript kodunu kopyalamanız yeterlidir.



$(document).ready(function() (

$(".signin").click(function(e) (
e.preventDefault();
$("fieldset#signin_menu").toggle();
$(".signin").toggleClass("menü-açık");
});

$("fieldset#signin_menu").mouseup(function() (
yanlış döndür
});
$(document).mouseup(function(e) (
if($(e.target).parent("a.signin").length==0) (
$(".signin").removeClass("menü-açık");
$("fieldset#signin_menu").hide();
}
});

});

Yukarıda verilen koda göre bir ziyaretçi giriş butonuna tıkladığında, yeni özellik. İlk olarak, oturum açma formu görüntülenir (“filedset” etiketinde bulunur), ardından “.signin” sınıfında yer alan bağlantı, arka plan görüntüsünün değişmesi nedeniyle başka bir “menü açma” sınıfı ekler.

Bu koddaki bir diğer olay ise ziyaretçiler giriş formuna değil de sayfanın herhangi bir yerine tıkladıklarında formun kendi kendine kapanmasıdır. Yani "menu-open" sınıfının ".signin" sınıfıyla olan bağlantısı kaldırılır ve orijinal arka plan görüntüsüne döndürülür.

İpuçlarına gelince?


$(işlev() (
$("#kullanıcı_adı_bağlantısını unuttum").tipsy((yerçekimi: "w"));
});

Genellikle jQuery eklentisini kullanmanızı öneririz – çakırkeyif. Araç ipucunun içeriği, bağlantıyla ilişkili "başlık" özelliğinde yazılanlardır. Araç ipucunun konumunu doğuya, batıya, güneye veya kuzeye göre değiştirebilirsiniz. Bu, yukarıdaki kodda belirtilen "yerçekimi" parametresi kullanılarak uygulanır. Size, yeteneklerini daha ayrıntılı olarak inceleyebileceğiniz ve eklentiyi indirebileceğiniz, bu eklentiye özel bir web sitesinin bağlantısını sağlıyoruz. ...

Nihayet

Bu makaledeki kodun tamamını kopyaladıysanız lütfen klasör yapısını değiştirmeyin. Eğer değiştirirseniz kod çalışmayacaktır. Bu kod jQuery kullanarak giriş açılır formu oluşturmanın yalnızca bir örneğidir. Uygulamanızda iyi şanslar!

Sayfayı yeniden yüklemeden dinamik olarak geçiş yapma özelliği ile oturum açma ve kayıt formlarının işlevlerine uyarlanabilir. Pencere göründükten sonra kullanıcı kolayca birinden diğerine geçebilir ve gerekirse şifreyi değiştirme seçeneğini seçebilir.
Bugün tüm bunların küçük ama çok işlevsel bir jQuery eklentisi ve yeni CSS3 standartlarının birleşimi kullanılarak nasıl uygulanabileceğine bakacağız.

Giriş ve kayıt formlarını sitenizin her sayfasında kullanıcıların kullanımına sunmak istiyorsanız bu yöntem faydalı olacaktır. Kullanıcılar siteye giriş yaparken veya kayıt olurken başka bir sayfaya yönlendirilmeyecek ve tüm işlemleri gerçekleştirebileceklerdir. gerekli eylemler“ödemeden çıkmadan”, her şey tek sayfada.

Dekor dış görünüş Açılır formlar CSS3 kullanılarak uygulanır, eklentinin toplam ağırlığı hiç de büyük değildir, kalıcı pencerenin yanıtı ve yüklenmesi neredeyse hiç gecikmeden gerçekleşir.
%100 duyarlı düzen, formlar içeren modal pencerenin yüksekliği ve genişliği, kullanıcı cihazlarının ekran boyutlarına göre otomatik olarak ayarlanır.

Örneğe baktık, şimdi web sitenizde nasıl kullanılacağını öğrenmek için kalıcı pencerenin ve formların tüm ana bileşenlerine ayrıntılı olarak bakalım.
Oturum açma ve kayıt formlarını içeren açılır pencere, popüler javascript kitaplığı, çalıştırılabilir jQuey eklentisi ve oluşturulan CSS stilleri üzerine kurulmuştur. Tüm bu araçların sitenize bağlı olması gerekir. Sonuncu şimdiki versiyonu jQuey kütüphaneleri doğrudan Google'dan bağlanabilir; main.js eklenti dosyası ve hazır bir dizi stil.css arşivde bulunabilir.
Javascript kapanış etiketinden önce yazılır, CSS stilleri kopyalanıp sitenizin style.css dosyasına eklenebilir.

HTML Yapısı:

Koyu bir arka plan üzerinde modal pencerelerin temel kabı ve kontrolleri olan yerleşik formlar sayfanın gövdesine yerleştirilir. Daha iyi anlaşılması için sektörleri farklılaştırdım ve yorumlar ekledim. Tüm tasarım öğeleri belirli sınıflar aracılığıyla CSS'ye sıkı bir şekilde bağlıdır, bu nedenle formların tasarımını sitelerinizin genel tasarımına göre değiştirmek zor değildir.

< div class = "cd-user-modal" > < div class = "cd-user-modal-container" > < ul class = "cd-switcher" > < li>< a href= "#0" >Giriş< li>< a href= "#0" >Kayıt< div id= "cd-login" > < form class = "cd-form" > < p class = "fieldset" > < label class = "image-replace cd-email" for = "signin-email" >E-posta< input class = id= "signin-email" type= "email" placeholder= "E-posta" > < span class = "cd-error-message" >Burada bir hata mesajı var!< p class = "fieldset" > < label class = "image-replace cd-password" for = "signin-password" >Şifre< input class = "full-width has-padding has-border" id= "signin-password" type= "text" placeholder= "Şifre" > < a href= "#0" class = "hide-password" >Saklamak< span class = "cd-error-message" >Burada bir hata mesajı var!< p class = "fieldset" > < input type= "checkbox" id= "remember-me" checked> < label for = "remember-me" >Beni Hatırla< p class = "fieldset" > < input class = "full-width" type= "submit" value= "İçeri gel" > < p class = "cd-form-bottom-message" >< a href= "#0" >Parolanızı mı unuttunuz?< div id= "cd-signup" > < form class = "cd-form" > < p class = "fieldset" > < label class = "image-replace cd-username" for = "signup-username" >Kullanıcı adı< input class = "full-width has-padding has-border" id= "signup-username" type= "text" placeholder= "Kullanıcı adı" > < span class = "cd-error-message" >Burada bir hata mesajı var!< p class = "fieldset" > < label class = "image-replace cd-email" for = "signup-email" >E-posta< input class = "full-width has-padding has-border" id= "signup-email" type= "email" placeholder= "E-posta" > < span class = "cd-error-message" >Burada bir hata mesajı var!< p class = "fieldset" > < label class = "image-replace cd-password" for = "signup-password" >Şifre< input class = "full-width has-padding has-border" id= "signup-password" type= "text" placeholder= "Şifre" > < a href= "#0" class = "hide-password" >Saklamak< span class = "cd-error-message" >Burada bir hata mesajı var!< p class = "fieldset" > < input type= "checkbox" id= "accept-terms" > < label for = "accept-terms" >katılıyorum< a href= "#0" >Şartlar< p class = "fieldset" > < input class = "full-width has-padding" type= "submit" value= "Bir hesap oluşturun" > < div id= "cd-reset-password" > < p class = "cd-form-message" >Parolanızı mı unuttunuz? Lütfen adresinizi girin E-posta. Yeni bir şifre oluşturmak için bir bağlantı alacaksınız.< form class = "cd-form" > < p class = "fieldset" > < label class = "image-replace cd-email" for = "reset-email" >E-posta< input class = "full-width has-padding has-border" id= "reset-email" type= "email" placeholder= "E-posta" > < span class = "cd-error-message" >Burada bir hata mesajı var!< p class = "fieldset" > < input class = "full-width has-padding" type= "submit" value= "Parola Yenile" > < p class = "cd-form-bottom-message" >< a href= "#0" >Girişe dön< a href= "#0" class = "cd-close-form" >Kapalı

E-posta Hata mesajı burada!

Şifre Saklamak Burada bir hata mesajı var!

Beni Hatırla

Parolanızı mı unuttunuz?

Kullanıcı Adı Hata mesajı burada!

E-posta Hata mesajı burada!

Şifre Saklamak Burada bir hata mesajı var!

katılıyorum Şartlar

Parolanızı mı unuttunuz? Lütfen e-mail adresinizi giriniz. Yeni bir şifre oluşturmak için bir bağlantı alacaksınız.

E-posta Hata mesajı burada!

Girişe dön

Kapalı



CSS Stilleri:

Yazar, popüler olandaki temel şablonu ve form kontrollerini oluşturdu. düz stil(Düz), minimalizme açık bir vurgu ile. Gereksiz hiçbir şey yok, orta derecede şeffaf koyulaşan bir arka plan, okunması kolay renkler, iyi seçilmiş yazı tipi ve giriş alanlarını gösteren simgeler. Kullanarak CSS özellikleri, herhangi bir form öğesini kolayca değiştirebilirsiniz.

.cd-user-modal ( konum : sabit ; üst : 0 ; sol : 0 ; genişlik : %100 ; yükseklik : %100 ; arka plan : rgba (52 , 54 , 66 , 0,9 ) ; z-index : 3 ; taşma- y: otomatik; imleç: gizli; opaklık: 0; -moz-geçiş: opaklık 0,3s 0, görünürlük 0 0,3s; (görünürlük: görünür; opaklık: 1; -webkit-transition: opaklık 0,3s 0, görünürlük 0 0; -moz-transition: opaklık 0,3s 0, görünürlük 0 0; geçiş: opaklık 0,3s 0, görünürlük 0 0; ). cd-user-modal .is-visible .cd-user-modal-container ( -webkit-transform: TranslateY(0 ) ; -moz- transform: TranslateY(0 ) ; -ms-transform: TranslateY(0 ) ; transform: TranslateY(0) .cd-user-modal-container ( konum: göreceli; genişlik: %90; maksimum genişlik: 600 piksel; arka plan: #FFF; kenar boşluğu: 3em otomatik 4em; imleç: otomatik; sınır yarıçapı: 0,25em; -webkit-transform: TranslateY(-30px ) ; -moz-transform: TranslateY(-30px ) ; -ms-transform: TranslateY(-30px ) ; -o-transform: TranslateY(-30px ) ; transform : TranslateY(-30px ) ; -webkit-geçiş-özelliği: -webkit-transform; -moz-geçiş-özelliği: -moz-transform; geçiş özelliği: dönüşüm; -webkit-geçiş-süresi: 0,3s; -moz-geçiş-süresi: 0,3s; geçiş süresi: 0,3s; ) .cd-user-modal-container .cd-switcher : after ( content : "" ; display : table ; clear : her ikisi de ; ) .cd-user-modal-container .cd-switcher li ( width : 50% ; float : left ; text-align : center ; ) .cd-user-modal-container .cd-switcher li: ilk çocuk a ( border-radius : .25em 0 0 0 ; ) .cd-user-modal-container .cd -switcher li: son çocuk a ( border-radius : 0 .25em 0 0 ; ) .cd-user-modal-container .cd-switcher a ( display : blok ; genişlik : 100% ; height : 50px ; line-height : 50 piksel ; arka plan : #d2d8d8 ; renk : #809191 ) .cd-user-modal-container .cd-switcher a.selected ( arka plan : #FFF ; renk : #505260 ; ) yalnızca medya ekranı ve (minimum genişlik) : 600px ) ( .cd-user-modal-container ( kenar boşluğu : 4em otomatik ; ) .cd-user-modal-container .cd-switcher a ( height : 70px ; line-height : 70px ; ) ) .cd-form ( dolgu: 1. 4em; ) .cd-form .fieldset ( konum : göreceli ; kenar boşluğu : 1,4em 0 ; ) .cd-form .fieldset : ilk çocuk ( kenar boşluğu üst : 0 ; ) .cd-form .fieldset : son çocuk ( kenar boşluğu- alt : 0 ; .cd-form label ( yazı tipi boyutu : 14 piksel ; yazı tipi boyutu : 0,875 rem ; ) .cd-form label.image-replace ( /* metni simgeyle değiştirin */ display : satır içi blok ; konum: mutlak; üst: %50; -webkit-transform: TranslateY(-%50) ; -o-transform: TranslateY(-%50); yok ; arka plan tekrarı: tekrarlama yok; arka plan konumu: %50 0 ) /* Giriş alanı simgeleri */ .cd-form label.cd-kullanıcı adı ( arka plan resmi : url ("./img/cd-) icon-username.svg" ) ; ) .cd-form label.cd-email ( arka plan resmi : url ("../img/cd-icon-email.svg" ) ; ) .cd-form label.cd-password ( arka plan resmi : url ("../img/cd-icon-password.svg" ) ; ) .cd-form girişi ( kenar boşluğu : 0 ; dolgu : 0 ; border- yarıçap: 0,25em; kenarlık: 1px katı #d2d8d8 ; -webkit-appearance: yok; -o-görünüm: yok) .cd-form girişi.has-border: odak ( border-color : # 343642 ; box-shadow : 0 0 5px rgba (52 , 54 , 66 , 0,1 ) ; = şifre] ( /* Gizle düğmesi için boşluk */ sağ dolgu : 65 piksel ; ) .cd-form girişi[ tür= gönder] ( dolgu : 16 piksel 0 ; imleç : işaretçi ; arka plan : #2f889a ; renk : #FFF ; yazı tipi ağırlığı: kalın kenarlık: yok; -moz-görünüm: yok; -ms-görünüm: yok; -o-görünüm: yok; görünüm: yok; ) .no-touch .cd-form girişi[ tür= gönder] : fareyle üzerine gelin, .no-touch .cd-form girişi[ tür= gönder] : odak ( arka plan : #3599ae ; taslak : yok ; ) .cd-form . şifreyi gizle ( görüntü : satır içi blok ; konum : mutlak ; sağ : 0 ; üst : 0 ; dolgu : 6px 15px ; border-left : 1px katı #d2d8d8 ; üst : %50 ; alt : otomatik ; -webkit-transform: TranslateY(-50%) ; -moz-transform: TranslateY(-50%) ; -ms-transform: TranslateY(-50%) ; yazı tipi boyutu: 14px; 875rem; renk: #343642; ) .cd-form .cd-error-message (görüntü: satır içi blok; konum: mutlak; sol: -5px; alt: -35px; arka plan: rgba (215, 102, 102, 0,9); dolgu: .8em; z-index : 2 ; color : #FFF ; font-size : 0,8125rem ; border-radius : 0,25em ; /* pointer-events : yok -webkit-transition: opacity 0,2s 0, görünürlük 0 0,2s; -moz-geçiş: opaklık 0,2s 0, görünürlük 0,2s; geçiş: opaklık 0,2s 0, görünürlük 0 0,2s ; / içerik: ""; konum: mutlak; alt: %100; genişlik: 0; kenarlık-sağ: 8px katı şeffaf; (215, 102, 102, 0,9); görünürlük: görünür; -webkit geçişi: opaklık 0,2s 0, görünürlük 0 0; -moz-geçiş: opaklık 0,2s 0, görünürlük 0 0; geçiş: opaklık 0,2s 0, görünürlük 0 0; ) @media yalnızca ekran ve (minimum genişlik: 600 piksel) ( .cd-form ( dolgu : 2em ; ) .cd-form .fieldset ( kenar boşluğu : 2em 0 ; ) .cd-form .fieldset : ilk çocuk ( kenar boşluğu- top : 0 ) .cd-form .fieldset : last-child ( border-bottom : 0 ; ) .cd-form input.has-padding ( padding : 16px 20px 16px 50px ; ) .cd-form input[ type= gönder ] ( dolgu : 16px 0 ; ) .cd-form-message ( dolgu : 1,4em 1,4em 0 ; yazı tipi boyutu : 14 piksel ; yazı tipi boyutu : 0,875 rem ; satır yüksekliği : 1,4 ; text-align : center ; ) @ yalnızca medya ekranı ve (minimum genişlik: 600 piksel) (.cd-form-message (dolgu: 2em 2em 0;)).cd-form-bottom-message (konum: mutlak; genişlik: %100; sol: 0; alt : -30 piksel ; metin hizalama : orta ; yazı tipi boyutu : 0,875 rem ; .cd-form-bottom-message a ( color : #FFF ; metin dekorasyonu : altı çizili ; ) .cd- close-form ( /* stil X sağ üstteki düğme */ ekran : blok ; konum: mutlak; genişlik: 40 piksel; yükseklik: 40 piksel; sağ : 0; üst: -40px; arka plan: url ("../img/cd-icon-close.svg" ) tekrarlanmayan merkez merkez; metin girintisi: %100; beyaz boşluk: şimdirap; taşma: gizli; ) @media only ekranı ve (minimum genişlik: 1170px) ( .cd-close-form ( display : none ; )) #cd-login , #cd-signup , #cd-reset-password ( display : none ; ) # cd-login .is-selected , #cd-signup .is-selected , #cd-reset-password .is-selected ( display : blok ; )

Cd-user-modal ( konum: sabit; üst: 0; sol: 0; genişlik: %100; yükseklik: %100; arka plan: rgba(52, 54, 66, 0,9); z-endeksi: 3; taşma-y : otomatik; görünürlük: gizli; opaklık: 0; -webkit-geçiş: opaklık 0,3 saniye; 0,3 saniye görünürlük ) .cd-user-modal.is-visible görünür; opaklık: 1; -webkit-geçiş: opaklık 0,3s 0, görünürlük 0 0; -moz-geçiş: opaklık 0,3s 0, görünürlük 0 0; geçiş: opaklık 0,3s 0, görünürlük 0 0; -modal.is-visible .cd-user-modal-container ( -webkit-transform: TranslateY(0); -moz-transform : TranslateY(0); -ms-transform: TranslateY(0); -o-transform: TranslateY(0); .cd-user-modal-container ( konum: göreceli; genişlik: %90; maksimum genişlik: 600 piksel; kenar boşluğu: 3em otomatik 4em; border-radius: 0,25em; -webkit-transform: TranslateY(- 30 piksel); -ms-transform: TranslateY(-30px); -o-dönüştürme: TranslateY(-30px); dönüşüm: TranslateY(-30px); -webkit-geçiş-özelliği: -webkit-transform; -moz-geçiş-özelliği: -moz-transform; geçiş özelliği: dönüşüm; -webkit-geçiş-süresi: 0,3 saniye; -moz-geçiş-süresi: 0,3s; geçiş süresi: 0,3 saniye; ) .cd-user-modal-container .cd-switcher:after ( içerik: ""; görüntüleme: tablo; temizle: her ikisi de; ) .cd-user-modal-container .cd-switcher li ( genişlik: %50; float : sol; text-align: center; ) .cd-user-modal-container .cd-switcher li:first-child a ( border-radius: .25em 0 0 0; ) .cd-user-modal-container .cd -switcher li:last-child a ( border-radius: 0 .25em 0 0; ) .cd-user-modal-container .cd-switcher a ( display: blok; width: 100%; height: 50px; line-height : 50 piksel; arka plan: #d2d8d8; renk: #809191; .cd-user-modal-container .cd-switcher a.selected ( arka plan: #FFF; renk: #505260; ) yalnızca medya ekranı ve (minimum genişlik: 600px) ( .cd-user-modal-container ( kenar boşluğu: 4em otomatik; ) .cd-user-modal-container .cd-switcher a ( height: 70px; line-height: 70px; ) ) .cd-form ( dolgu : 1,4em; ) .cd-form .fieldset ( konum: göreceli; kenar boşluğu: 1,4em 0; ) .cd-form .fieldset:first-child ( kenar boşluğu üst: 0; ) .cd-form .fieldset:last - çocuk ( kenar boşluğu alt: 0; ) .cd-form etiketi ( yazı tipi boyutu: 14 piksel; yazı tipi boyutu: 0,875 rem; ) .cd-form label.image-replace ( /* metni simgeyle değiştirin */ display: inline-block; konum: mutlak; sol: 15 piksel; üst: %50; alt: otomatik; -webkit-transform: TranslateY(- %50); -moz-transform: TranslateY(-%50); -ms-transform: TranslateY(-%50); : nowrap; arka plan gölgesi: tekrarlama yok; ) /* Giriş alanları için simgeler */ .cd-form label.cd-kullanıcı adı ( arka plan resmi: url(". ./img/cd-icon-username.svg"); ) .cd-form label.cd-email ( arka plan resmi: url("../img/cd-icon-email.svg"); ) .cd -form label.cd-password ( arka plan resmi: url("../img/cd-icon-password.svg"); ) .cd-form girişi ( kenar boşluğu: 0; dolgu: 0; kenar yarıçapı: 0,25 em; ) .cd-form input.full-width ( genişlik: 100%; ) .cd-form input.has-padding ( dolgu: 12px 20px 12px 50px; ) .cd-form input.has-border ( border: 1px katı #d2d8d8; -webkit-görünümü: yok; -o-görünümü: yok; .cd-form girişi.has-border:focus -color: #343642; (52, 54, 66, 0.1); taslak: yok ) .cd-form input.has-error ( border: 1px katı #d76666; ) .cd- form input ( /* Gizle düğmesi için boşluk */ padding-right: 65px; ) .cd-form girişi ( dolgu: 16px 0; imleç: işaretçi; arka plan: #2f889a; renk: #FFF; yazı tipi ağırlığı: kalın; kenarlık: yok; -webkit-görünüm: yok; -moz-görünüm: yok; -ms-görünüm: yok; görünüm: yok; ) .no-touch .cd-form girişi:hover, .no-touch .cd-form girişi:focus ( arka plan: #3599ae; taslak: yok; ) .cd-form .hide-password ( display: inline-block; konum: mutlak; üst: 0; kenarlık-sol: 1px katı #d2d8d8; alt: otomatik; transformY(-%50); -ms-transform: TranslateY(-%50); 50%); boyut: 0,875rem; renk: #343642; .cd-form .cd-error-message (görüntü: satır içi blok; konum: mutlak; sol: -5 piksel; alt: -35 piksel; arka plan: rgba(215) , 102, 102, 0,9); dolgu: #FFF; yazı tipi boyutu: 0,8125rem; /* tıklamaları ve dokunmaları önle: yok; görünürlük: gizli; 0,2s 0, görünürlük 0,2s; görünürlük 0 0,2s; ) .cd-form .cd-error-message::after ( /* hata mesajı köşesi */ içerik: ""; konum: mutlak; sol: 22 piksel; alt: %100; yükseklik: 0; genişlik: 0; kenarlık - sol: 8px katı şeffaf; kenarlık-sağ: 8px katı şeffaf; 8px katı rgba(215, 102, 102, 0,9); görünürlük: görünür -webkit geçişi: opaklık 0,2s ; 2s 0, görünürlük 0 0; geçiş: opaklık 0,2s 0, görünürlük 0 0; ) Yalnızca @media ekranı ve (minimum genişlik: 600 piksel) ( .cd-form ( dolgu: 2em; ) .cd-form .fieldset ( kenar boşluğu: 2em 0; ) .cd-form .fieldset:first-child ( kenar boşluğu- top: 0; ) .cd-form .fieldset:last-child ( marj-bottom: 0; ) .cd-form girişi.has-padding ( dolgu: 16px 20px 16px 50px; ) .cd-form girişi ( dolgu: 16px 0; ) .cd-form-message ( dolgu: 1,4em 1,4em 0; yazı tipi boyutu: 14 piksel; yazı tipi boyutu: 0,875 rem; satır yüksekliği: 1,4; text-align: center; ) @media yalnızca ekran ve ( min-width: 600px) ( .cd-form-message ( dolgu: 2em 2em 0; )) .cd-form-bottom-message ( konum: mutlak; genişlik: %100; sol: 0; alt: -30 piksel; metin -hizalama: orta; yazı tipi boyutu: 14 piksel; yazı tipi boyutu: 0,875 rem; .cd-form-bottom-message a ( renk: #FFF; metin dekorasyonu: altı çizili; ) .cd-close-form ( / * stili X düğmesi sağ üst */ ekran: blok; konum: mutlak genişlik: 40 piksel; url("../img/cd-icon-close.svg ") tekrarlanmayan merkez merkez; %; beyaz boşluk: şimdirap; taşma: gizli; ) @media only ekranı ve (min-width: 1170px) ( .cd-close-form ( display: none; )) #cd-login, #cd-signup, #cd-reset-password ( display: none; ) # cd-login.is-selected, #cd-signup.is-selected, #cd-reset-password.is-selected ( display: blok; )

Solmaya geçiş efektinde, modun kapatıldığında düzgün bir şekilde sönmesini sağlamak için bir gecikme eklenmiştir.

Not:. Tüm giriş alanlarının yazı tipi boyutu varsayılan olarak 16 piksele ayarlanmıştır. Bu, mobil cihazlarda görüntülerken oluşan otomatik yakınlaştırmayı önler.

Yazarın, eklentinin burjuva versiyonu yer almaktadır. Orada orijinali indirebilirsiniz.
Rusça versiyonunu Yandex.Diskimden alabilirsiniz, işte bu kadar gerekli dosyalar, dikkatlice tek bir arşivde paketlenmiştir; bundan önce bu harika jQuery eklentisinin nasıl çalıştığına dair tamamen uyarlanmış, canlı bir örneğe bakmayı unutmayın:

Saygılarımla, Andrew

1. Çevrimiçi formlar oluşturmak için eklenti “jFormer”

İletişim formlarının oluşturulması: geri bildirim, yorumlar, giriş formu, girilen bilgilerin doğruluğunun kontrol edildiği kayıt formu.

2. jQuery kullanarak adım adım kayıt formu

ile düzgün şekil adım adım doldurma. Aşağıda bir form tamamlama göstergesi bulunmaktadır.

3. Adım adım form

Formun birkaç adımda doldurulması ve doğru doldurulduğunun kontrol edilmesi.

4. Sitenin iletişim formu

Girilen bilgilerin doğruluğunun doğrulanması, javascript kullanılarak mesaj gönderilmeden önce anında gerçekleştirilir.

5. jQuery kullanarak formlar arasında animasyonlu geçiş

Site giriş formu, kayıt formu ve şifre kurtarma alanı arasında jQuery kullanılarak animasyonlu geçiş. Efekti görmek için demo sayfasında sarı bağlantıya tıklayın.

6. Ayrılış PHP geri bildirim formu

Ziyaretçiye herhangi bir sayfadan site sahibiyle hızlı bir şekilde iletişime geçme fırsatı vermek için benzer bir çözüm kullanılabilir. Demo sayfasında formu açmak için aşağıdaki oka tıklayın.

7. jQuery ve CSS3 kullanarak PHP kayıt formu

Girilen bilgilerin doğruluğunun doğrulandığı form.

8. Facebook tarzında PHP kayıt formu

CSS, PHP ve jQuery kullanılarak uygulanan güzel bir kayıt formu.

9. jQuery iletişim formu “SheepIt”

Mesaj göndermeden önce yeni alanlar ekleme özelliği uygulandı.

10. Süslü AJAX İletişim Formu

Girilen bilgilerin doğruluğunun doğrulandığı hoş, derli toplu PHP geri bildirim formu. Teknolojiler: CSS, PHP, jQuery.

11. Sitedeki yetkilendirme/kayıt sistemi 12. Veri gönderim formu

Doğru dolumun doğrulanmasıyla.

13. jQuery eklentisi"İletişim kurulabilir"

Hızlı bir şekilde mesaj göndermek için giden bir geri bildirim formu uygulamak.