Anasayfa » Kodlama » Ajax Tabanlı HTML5 / CSS3 İletişim Formu Nasıl Oluşturulur

    Ajax Tabanlı HTML5 / CSS3 İletişim Formu Nasıl Oluşturulur

    Bu makale bizim bölümümüzün bir parçası. "HTML5 / CSS3 Dersleri serisi" - sizi daha iyi bir tasarımcı ve / veya geliştirici yapmanıza yardımcı olmak için. Buraya TIKLAYIN Aynı serideki daha fazla makale görmek için.

    İletişim formu, herhangi bir web sitesi için çok önemlidir, çünkü ziyaretçilerin görüşlerini veya sorgularını web yöneticisine ileten bir elçi görevi görür. İnternette sayısız iletişim formu vardı ancak ne yazık ki çoğu kişi size iç kısımdaki çalışma parçalarını açıklamıyor, bu yüzden size pop teknolojisine, HTML5 ve CSS3'e dayalı sıfırdan gelişmiş bir iletişim formu oluşturmayı öğretmek için ayrıntılı bir eğitim geliyor..

    Web tabanlı bir e-posta iletişim formunun niteliğini göz önüne alarak, zengin kullanıcı arayüzü için e-posta ve jQuery işlevlerini göndermek için PHP arka uç kodu olan iki ayrı uygulama alanına da dalmamız gerekmektedir. Sonunda, daha sonra özelleştirme göz önünde bulundurularak yazılmış, tamamen dinamik ve işlevsel bir iletişim formu ile bırakılacaktır..

    Kendi gelişmiş iletişim formunuzu oluşturmak için şimdi başlayın!

    Kısayol:

    • Demo - Ne inşa ettiğinizi önizleyin
    • İndir - Tüm dosyaları indir (php + css)

    Uygulamayı Yapılandırma

    Başlamak için üzerinde çalışmanız gereken bir tür web sunucusu gerekir. Bir Windows makine kullanıyorsanız, WAMP muhtemelen en iyi seçenektir. Mac kullanıcıları, MAMP adında benzer bir programa sahipler;.

    Bu paketler, makinenize PHP'ye tam erişime sahip yerel bir sunucu kurar. Alternatif olarak, eğer bir sunucu alanınız varsa veya uzak bir yere tam sunucu erişiminiz varsa, onu kullanabilirsiniz. Herhangi bir şeyi basitleştirmesi gereken herhangi bir MySQL veritabanına ihtiyacımız olmayacak..

    Sunucunuz kurulduktan sonra Uygulamayı barındırmak için yeni bir klasör oluşturun.. Zarar vermeyen veya nihai ürünle ilgili olmadığı için dilediğiniz şeyi adlandırabilirsiniz. Bir web tarayıcısında dosyalarınıza eriştiğinizde klasör yapısı kullanılacaktır. Basit bir örnek http: //localhost/ajaxcontact/contact.php

    Hadi dosyalarımızı oluşturalım!

    Sadece 2 çekirdek dosya içinde çalışacağız. Önce bir çekirdeğe ihtiyacımız olacak .php dosyaya sadece uygulama mantığımızı değil, aynı zamanda HTML biçimlendirmesini de öneriyoruz. Aşağıda başlangıç ​​dosyamızdan alınan örnek kod var..

       JQuery ile HTML5 / CSS Ajax İletişim Formu    

    Başlamak için belgemize basit bir başlık bölümü yazdık. Bu bir genel içerir HTML5 için belge türü bildirimi ve bazı HTML / XML belge öğeleri. Bunlar tam olarak gerekli değildir, ancak daha eski (ve daha yeni) tarayıcılarda görüntü oluşturma işlemini kolaylaştıracaktır. Ayrıca daha fazla bilgi sunmaktan asla zarar gelmez.

    Biraz daha ileride, kapanış başlık etiketimizden hemen önce 2 satır görüyoruz. İlk içerir çevrimiçi Google Kod Deposundan jQuery betiği. Dinamik sayfa hatalarımızın çalışması için bu gereklidir. Doğrudan bunun altında biz bir temel dahil ettik CSS dokümanı tüm sayfa stillerimizi içeren.

    Belge vücudumuzun içinde birkaç tane var bölümler içeren ana iletişim formunu durdurma. Bu, 3 giriş öğesi için evler kullanıcının adı, e, ve kişisel mesaj. HTML işaretlemesi oldukça standart ve herhangi bir orta geliştiricinin fikrini boğmamalı.

     

    E-postan gönderildi. Hurra!

    Burada bir temel var PHP koşullu kod birkaç sayfa kapsayıcısının içine yerleştirilmiş. Bu, adlandırılmış bir değişkenin set değerini kontrol eder. $ emailSent ve eğer true değerine eşitse, bir başarı mesajı görüntüler..

    Form HTML’mizin İçinde

    Başka İfade, ilk sayfa yüklemesinde yayınlanacak olandır çünkü başlangıçta gönderilecek içerik yoktur. Buraya bir içereceğiz form öğelerinin kısa koleksiyonu ve bir gönder düğmesi.

    Form gönderilirken hata oluştu




    Başka bir tane olduğunu fark etmiş olabilirsin. koşullu blok doğrudan başlangıç ​​formundan sonra. Bu adlı bir değişkeni kontrol eder. $ hasError ve onaylandıktan sonra bir hata mesajı gösterecektir. Bu geri dönüş yöntemi sadece JavaScript devre dışı bırakılmışsa kullanılır tarayıcıda ve dolayısıyla dinamik hatalar üretemez.

    Bütün yol boyunca bulabiliriz bireysel PHP değişkenleri kontrol ediliyor. Form, doldurulmuş olan verilerin yalnızca kısmi miktarlarda sunulup sunulmadığını düzenlemektedir. Bu, daha önce doldurulmuş alanların içeriğini gösteren başka bir geri dönüş sistemidir - uygun kullanıcı deneyimi için güzel bir numara!

    Doğrudan formumuzu tamamladıktan sonra birkaç jQuery işlevleri biz yazdık. Bunları ilk olarak konuşacağız, çünkü bunlar pageload'daki varsayılan uygulama. Ancak tarayıcı JavaScript'i kabul etmiyorsa, varsayılan olarak PHP kodumuza güvenebiliriz..

    JQuery'ye açılıyor

    Bu konuyla ilgili konuşmaya başlamanın en kolay yolu hemen içine dalmak olacaktır. Tek tek satırları satır satır parçalayacağım, böylece komut dosyasının gerçekte neyi kontrol ettiğini görebilirsiniz.

    Ancak sadece kaybolursanız proje kodu dosyalarını inceleyin. Tüm bloklar önceden yazılmış ve jQuery web sitesinde iyi belgelenmiştir. Başlamak için kodumuzu diğerlerine benzer şekilde açıyoruz:

     

    Eğer aşina iseniz geri aramaları fark edebilirsiniz Mesaj () fonksiyonun yerleşik bir parametre seti vardır. Geri aramalar, çağrılan daha küçük fonksiyonlardır. başka bir fonksiyondan gelen verilerin tepkisi üzerine.

    Mesela ne zaman bizim jQuery.post () fonksiyonu başarıyla bir e-posta çeker, kayan animasyonu görüntülemek için kendi dahili işlevini çağırır. Bu kodun tümü kendi bloğuna yazılabilir ve başka bir yere taşınabilir. Ancak bu eğitimin iyiliği için geri aramayı satır içi işlev olarak yazmak çok daha kolay.

    PHP'yi geçmek

    Bahsetmek için son engel mantık PHP işlemcimizin arkasında. Bu aslında olacak arka uç sistemi bir posta işlevini çağırın ve mesajı gönder. Aşağıdaki örneklerde kullanılan kodların tümü doğrudan ana bölümümüzün üst kısmında bulunabilir. .php Herhangi bir HTML çıktısından önce dosya.

    Sayfayı tazeleyen birkaç iç stil de var. Burada özellikle yeni olan hiçbir şey yok, bu yüzden hiçbir ayrıntıya girmeyeceğiz. Ancak styles.css belge proje koduna dahil edilmiştir ve ilkel CSS3 tekniklerini içerir.

     

    Başlamak için PHP yan tümcesini açıp eğer form bile gönderilmişse. POST değişken “gönderilen” aslında formumuzun sonuna eklenen gizli bir giriş alanıydı. Bu yararlı bir yol Kullanıcının herhangi bir şey gönderdiğini kontrol edin henüz sunucu kaynaklarını israf etmiyoruz.

    Bundan sonra 3 ayrı var / Else if görmek için kontrol deyimi Her giriş alanı doldurulmuşsa. Her biri mantık bitini eklemeyeceğim çünkü hepsi doğada çok tekrarlı. Bununla birlikte, size kısa bir örnek vermek için, aşağıdaki e-posta doğrulama maddesini ekledim:

    // geçerli bir e-postaya ihtiyacınız varsa (trim ($ _ POST ['email']) === ") $ emailError = 'E-posta adresinizi girmeyi unuttum.'; $ hasError = true; else eğer (! preg_match ("/^CLICH: alnum: ccINANALİPANİ-z0-9_.- bölge*@Appa-z0-9.-.com+\. _POST ['email']))) $ emailError = 'Geçersiz bir e-posta adresi girdiniz.'; $ HasError = true; else $ email = trim ($ _ POST ['email']); 

    PHP tüm boşlukları değerden kesecek ve kalan bir şey olup olmadığını kontrol edecek. Eğer öyleyse ayrıntılı Düzenli İfade (Regex) Kullanıcının giriş dizesinin bir e-posta düzeniyle eşleşip eşleşmediğini görmek için.

    Kesinlikle nasıl olduğunu anlamana gerek yok. preg_match () Bu betiği oluşturmak için çalışır. Bu yararlı bir fonksiyondur başarılı bir veri türü için kuralları ve gereksinimleri belirlemek, fakat ileri düzey programlama bilgisini gerçekten kavramasını sağlar. Bu senaryoda, kullanıcının yalnızca seçili birkaç karakter girmesini sağlıyoruz; @ ardından gelen sembol 2-4 karakter temsil eden Üst düzey alan.

    Tüm mantık geçtikten ve hiçbir hata döndürmeden sonra mesajımızı gönderme zamanı! Bu kod parçası e-posta mesajımızı kişiselleştirmek ve bazı ayarları ayarlamak için bireysel değişkenleri ayarlayacaktır. posta başlıkları süreç için.

    // başarısızlık hatası olmadan şimdi e-posta gönderelim! if (! isset ($ hasError)) $ emailTo = '[email protected]'; $ subject = 'Gönderilen mesaj'. $ isim; $ sendCopy = trim ($ _ POST ['sendCopy']); $ body = "İsim: $ isim \ n \ nE-posta: $ email \ n \ nBilgi: $ yorum"; $ headers = 'Kimden:'. ' <'.$emailTo.'>'. "\ r \ n" 'Yanıtla:'. $ Eposta; posta ($ emailTo, $ konu, $ body, $ başlık); // Boole tamamlama değerimizi TRUE $ emailSent = true;  

    Kodun e-posta adresinizi nasıl çözeceğini merak ediyorsanız, doldurmanız gereken bölüm budur. Kümemizdeki ilk değişken başlıklıdır. $ emailto ve hangisini içermeli mesajı alacak olan e-posta adresi.

    Bizim içinde $ vücut değişkeni biz \ n Mesaja yeni satırlar eklemek için sınırlayıcıyı kullanın. Bu, için küçük yerleşimler ekler. gönderenin adı, e, ardından bir mola verdim mesaj içeriği. Elbette ekranı güzelleştirmek için zaman harcayabilirsiniz, ancak bu yapı gayet iyi çalışıyor.

    Sonuç

    Bu, gelişmiş bir iletişim formu için eğitimimizi kapatır. Elementlerinizi benimkiyle ilişkilendirmek istiyorsanız, örneğime bakabilirsiniz. styles.css proje kodu dahilinde. Ancak, sayfa kendi görünümünüzü kolayca tasarlamanız ve çok kolay hissetmeniz için yeterince iyi yapılandırılmıştır..

    Kaynak kodu indirmek ve biraz daha yakından ne yaptığımı incelemek için çekinmeyin. Bir öğreticiyi takip etmek iyidir ancak proje kaynağına doğrudan erişimi olması paha biçilmez olabilir. Özelleştirmeleri bir esinti yapmak için kısa bir stil sayfası ekledim, görünümünüz için teşekkürler!