Gizli depresyon: belirtiler ve bulgular. Ücretsiz Tanıtım Okulu'ndaki çevrimiçi kurslar

Kullanıcıya sitedeki alanları doldurma olanağı sağlanırken girilen verilerin geçerliliği kontrol edilmelidir. Bu, kullanıcıyı rastgele hatalara karşı uyaracak ve ayrıca spam'a karşı ek koruma sağlayacaktır. Çarpıcı bir örnek, gerekli alanları genellikle e-posta ve telefon olan geri bildirim formudur. Javascript kullanarak bunların doğru doldurulup doldurulmadığını kontrol edelim.

Bilgi örneklerle daha iyi algılanır, bu yüzden bitmiş formu çalışırken görelim:

Lütfen formun tüm alanlarını doldurun!

Öncelikle kullanılan düzenli ifadelere bakalım, formun ve javascript fonksiyonlarının tam kodunu yazının sonunda vereceğim.

E-posta adresi geçerliliği

Bir e-posta adresi düşünün ( [e-posta korumalı]). İşte gerekli parçaları:
  • Ad (test) - bir veya daha fazla karakter;
  • Köpek işareti (@);
  • Posta sunucusu alan adı (posta) - bir veya daha fazla karakter;
  • nokta(.);
  • İki ila beş harften oluşan birinci düzey alan adı (ru).

Gereksinimlerimiz için bir düzenli ifade oluşturalım: /^[\w-\.]+@[\w-]+\.(2,4)$/i Kurala parçalar halinde bakalım:

  1. Normal ifadenin "/" karakterleriyle açılıp kapanması gerekir. Kapanış sembolünden sonra bir yönerge belirleyebilirsiniz. Bizim durumumuzda böyle bir direktif “i”dir ve girilen harflerin büyük/küçük harf kontrolünü devre dışı bırakır. Yani önemsizleşiyor, tanıttılar” [e-posta korumalı]" veya " [e-posta korumalı]».
  2. "^" ve "$" işaretleri, kontrol edilen dizenin başlangıcını ve sonunu gösterir. Bunları kaldırırsanız, e-posta adresinin başına veya sonuna yasaklı karakterler koysanız bile kural olumlu sonuç verecektir. Yani “%” girdiğinizde: [e-posta korumalı]#6&" dizesi kuralımızı karşılayan bir karakter dizisi içerdiğinden, kontrol işlevi olumlu bir sonuç döndürecektir. Bu olasılığı dışlamak için kuralın satırın bir kısmına değil tamamına uygulanması gerektiğini belirtiyoruz.
  3. “[\w-\.]+” bloğu posta kutusu adının kontrol edilmesinden sorumludur. Köşeli parantez içinde izin verilen karakterleri belirtiyoruz: “\w” - tüm Latin harfleri, sayılar ve alt çizgi. Ayrıca bir tire ve nokta “-\” eklemenizi de öneririm. . Köşeli parantezlerden sonraki “+”, karakterlerin bir veya daha fazla kez tekrarlanma olasılığını gösterir.
  4. Daha sonra köpek işareti ve posta sunucusunun alan adı gelir - “@[\w-]+”. Bu neredeyse önceki bloktakiyle aynı. Karakter kümesinden yalnızca noktayı hariç tutuyoruz.
  5. Bir noktanın varlığını ve üst düzey alan adının (ru, com, info) doğruluğunu kontrol etmek için bir kural yazmaya devam ediyor. "\.(2,4)" . Bir nokta işaretini belirtmek için onu ters eğik çizgi “\” ile belirtiriz.
Bu olmadan, ayrılmış bir normal karakter olarak algılanacaktır, bu da onun yerine herhangi bir karakterin olma olasılığını gösterir. Noktanın ardından üst düzey alan adı gelmelidir. Bu en az 2 Latin harfidir - “(2,4)”.

Analiz edilen örnek daha iyi anlaşılabilmesi için biraz basitleştirilmiştir. Bunun bir dezavantajı vardır: Bir e-postadaki ilk karakter kısa çizgi veya nokta olamaz, ancak verilen normal ifade bunu hesaba katmaz. Bunu düzeltmek için biraz düzeltmeniz gerekir: /^[\w](1)[\w-\.]*@[\w-]+\.(2,4)$/i

Javascript'te bir telefon numarasının geçerliliğini kontrol etme

Numara düzinelerce şekilde girilebildiğinden telefon numarasıyla ilgili durum daha karmaşıktır:

Nakış, halk sanatının en yaygın türlerinden biridir - iğne işi. Kökeni, ilkel insanlar tarafından öldürülen bir mamutun derisini sabitlerken yapılan ilk dikişin ortaya çıkmasıyla ilişkilidir. Elbette dikiş ilk başta bir zorunluluk olarak ortaya çıktı. Zamanla nakış, dikişe dekoratif bir katkı olarak ortaya çıktı. Sonuçta kıyafetlerin yapıldığı malzemeler çeşitlilik açısından farklılık göstermiyordu ve nakış, diğerlerinden farklı olarak her zaman bir kıyafetin özel olmasını mümkün kılıyordu. Nakış - çeşitli amaçlar için bir dekorasyondur malzemeler veya hazır ürünler süsler veya arsaçizimler iplikler (ipek kurdeleler, boncuklar ve diğer malzemeler) ve bir iğne (nakış makinesi) kullanılarak. Farklı zamanlarda medeniyet seviyesine bağlı olarak farklı nakış aletleri kullanıldı. Bunlar kemik, bronz, çelik ve yaldızlıydı. iğneler, taş baykuş . Aletlerin gelişmesiyle birlikte nakış sanatı da gelişti, yeni teknikler ortaya çıktı ve uygulama olanakları genişledi.

çeşitli tasarımlar ve süslemeler. Antik çağlardan beri Rusya'da nakış favorilerimden biriydi ve yaygın halk sanatları ve el sanatları türleri. Genç-yaşlı tüm kadınlar bu sanatta ustalaştı kusursuzca

Instagram'da hangi sanatçıları takip etmelisiniz?

1.Liza Smirnova

Lisa, çok özgün ve etkileyici bir şekilde yaptığı “resimsel” işlemeleriyle tanınıyor. Dünyanın her yerinde ustalık sınıfları düzenliyor. Kot pantolonlara, gömleklere ve hatta büstiyerlere resimlerle nakış işliyor.

Katerina, tül üzerine güzel işlemeler yapıyor ve ayrıca altında işlemelerle süslenmiş transparan tişörtlerden oluşan mini bir koleksiyon yayınladı. Giysilere, küçük balıklara ve kuşlara işlenmiş ince ve görünüşte ağırlıksız yapraklar. Van Gogh'un portresi bile, Katina'nın tüm eserleri o kadar hafif ve gerçekçi ki bunun boyalı tablo değil de nakış olduğuna inanamıyorsunuz.

3. Çalıştay “31 Mart” yürüyüşçüler

Anya Fedorova "31 Mart" takma adı altında saklanıyor. Saratovlu havalı ve neşeli bir kız. Anya, nakış için dar bir uzmanlık seçti - broşların üzerine nakış yapıyor çünkü bunun evrensel bir aksesuar, pastanın üzerinde bir çeşit kiraz olduğuna inanıyor. Anya'nın kreasyonları arasında bacaklarını bir broştan sallayan bir flamingo ve inanılmaz derecede narin çiçek motifleri var. Ve hatta modaya uygun kaktüsler ve canavarlar.

Maria, 2017 yılında nakış dünyasına adım attı ve çok kısa sürede abonelerinin kalbini kazandı. Eserlerinde o kadar çok güzellik ve zarafet var ki! Masha bir sanat okulunda okudu. Daha sonra Güzel Sanatlar Fakültesi Tasarım Bölümü'nden mezun oldu. Maria çocuk kıyafetlerini kendisi dikiyor ve nakışlıyor. Şakacı tavşanlar, kuşlar ve en narin çiçek serpintileri elbiseler üzerinde görülüyor. Yetişkin kızlar da Masha'nın yaptığı bir broşla kendilerini memnun edebilirler.

Olya, Fransız düğümleriyle nakış işleyen az sayıdaki kişiden biri. Fransız düğümlerinin yanı sıra "fruzelki" veya "Fransız düğümleri" (nakışçıların sevgiyle dediği gibi), diş ipi veya saten kurdeleler kullanan nakış tekniklerinden biridir. Fransız düğümü sayesinde nakış daha etkileyici görünüyor ve hacim kazanıyor. Olya'nın eserlerinde diğer nakışçılarda olduğu gibi bitkisel motiflerin yanı sıra iplik, borazan, boncuk ve payetler de nakışta "yer alıyor". Olya aynı zamanda denim ceketleri de boyuyor ve kıyafetleri nakışlarla süslüyor. VDNKh'de El Sanatları Evi'nde düzenlenen düzenli ustalık sınıflarında güzellikle tanışabilir ve tıpkı Olya gibi nakış yapmayı öğrenebilirsiniz.

Zhenya mesleği gereği bir sanatçı ve ressamdır. Resimleri dekoratif, düz ve zıttır. Broşları ise biraz grotesk, biraz “meydan okuyan” ve çok cesur bir mesaj içeriyor. Örneğin, bu broş. Evgeniya kadife ve kalın pamuk üzerine nakış işliyor. Mini eserlerini yapay inciler ve renkli kristalden dikilmiş yapay elmaslarla süslüyor.

Ve son olarak: fark ettiğiniz gibi seçimimiz basit Rus kızlarını içeriyor; Maalesef internette nakış yapacak en az bir Rus bulamadık. Ancak İngiltere'de, ülkenin kuzeyindeki küçük bir kasabada Adam Pritchett yaşıyor ajpritchett Minimalist tarzda muhteşem botanik işlemeler yaratıyor. Yazımızı onun eserleriyle sonlandıracağız.

Görünüşe göre kadınlar bunların gelenekler olduğunu çok iyi anlıyorlar: Aziz Valentine ve Clara Zetkin ve Rosa Luxemburg hakkında, ancak yine de kendilerine ihtiyaç duyulduğunun, sevildiğini, talep edildiğinin ve unutulmadığının onaylanmasını beklemekten başka bir şey yapamıyorlar. Ve eğer bunu almazlarsa, o zaman merhaba, melankoli ve depresyon. Sevgi eksikliği dolmadı, her zaman bilinçli olmayan duygu şuna benzer: "Bugün bile güzel bir şey yapamıyor", "Bugün bile sevildiğimi hissetmiyorum."

İş yerinde genel bir heyecan ve neşe var, ortada yeşil, açılmamış laleler veriliyor ama bu da işi daha da acı hale getiriyor. Bildiğiniz gibi en kötü yalnızlık kalabalık içindeki yalnızlıktır. Örneğin, bir komşu, tanıdık bir mağaza görevlisi veya yoldan geçen herhangi biri sizi Yeni Yıl için tebrik edebilirse, o zaman Şubat ortası ve Mart ayı başlarında kadınlar erkeklerden ve özellikle de önemli bir yer işgal edenlerden tebrikler beklerler. hayatları.

Ancak erkek cinsiyeti için ilişkilerde "olmalı" kelimesinin olduğu durum her zaman büyük ölçüde başarısızlığa uğrar. İnatçılığı, reddedilmeyi, beklentileri karşılayamama korkusunu, muhalefeti ve "Neden bir şeye borçluyum?" sorusunu kışkırtır.

Görünüşe göre seni tebrik etmediysem batırdım ve seni tebrik etsem de durum hala kötü

Çoğu, eşine ya da arkadaşına bu şekilde çiçek verebilir, kendiliğinden bir hediye alabilir ya da hoşuna giden bir yüzükle ilgili ipucuna yanıt verebilir... Ama onlardan bir şey beklendiğinde ve onlardan talepkar ve önyargılı bir şekilde beklendiğinde, sınavda şaşkınlığa düşerler.

Ayrıca durum farklı şekillerde gelişebilir. Örneğin, bir adam tebrik etti, ancak tebriklere geç kaldı (bir sersemlik içinde, onun için zor) - kadın memnun değil. Adam bir hediye verdi, ancak doğru seçim yapmadı (bilge arkadaşlar önceden bir istek listesi hazırlar) - tatili mahvoldu. Adam onu ​​\u200b\u200bhiç tebrik etmedi - geçmiş başarısız tatilleri ve eski şikayetleri hatırlayarak bu konuda düşündüğü her şeyi ifade etti.

Ve sonunda, adam her şeyi doğru yaptı: zamanında, çiçeklerle, bir hediye ve bir öpücükle, ama kadın şöyle tepki veriyor: “Elbette, bugün 8 Mart, bu zorunlu, gidecek yeri yoktu, o açık bir çatışmaya girmek istemedi”, “görev çiçekleri”, “görev parfümleri” ve benzerleri. Meğer tebrik etmese bile hata yapmış, tebrik etse bile yine de kötü.

Gerçek şu ki: Bu tatiller günlük yaşamın yükünü hafifletmek yerine kırgınlığa, melankoliye ve depresyona neden oluyor

Bu hikayeler kafadan değil pratikten geliyor. Çünkü psikologlar Sevgililer Günü'nü ve Dünya Kadınlar Günü'nü kutlamanın sonuçlarıyla uğraşmak zorundalar ve bu sonuçlar her iki cinsiyetten danışanlar için de geçerli. Bazıları için depresyon önceden, bazıları için ise tatilden sonra başlar.

Kimin daha zorlandığı çok açık değil: bir ilişki içinde olanlar mı, yoksa bekar olanlar mı, partnerini yeni tanımaya başlayanlar mı, yoksa yakın zamanda ondan ayrılanlar mı? Herkes için kötü. Gerçek şu ki: bu tatiller günlük yaşamın yükünü boşaltmak yerine kızgınlığı, melankoliyi ve depresyonu kışkırtıyor.

Bütün bunlarla ne yapmalı? Sevgililer Günü ve Kadınlar Günü'nde oynamanızı ve bunları ciddiye almamanızı öneririm. Bildiğiniz gibi, mütevazı bir Avrupalı ​​azizin kitlesel, kartpostal pop kültürünün bir başka temsilcisine dönüştüğü Amerika'da Sevgililer Günü özel bir coşkuyla kutlanıyor.

ABD'de bu gerçek bir yetişkin tatilidir. Ülkemizde çoğunlukla çocuklar ve gençler arasında popülerdir. Onlar için bu, notların günüdür ve hatta kız arkadaşlar ve öğretmenler bile birbirlerine notlar yazarlar. Ve tüm bu ritüeller, gerçek duyguları ifade etme eğitimine çok benziyor. Ve gençler eğitim vererek, sempati ve dostluk da dahil olmak üzere herhangi bir duyguyu formüle ederek doğru olanı yapıyorlar.

Ancak ne çocukların, ne de yetişkinlerin benlik algısını “Sevgililer Günü” gibi anlamsız bir tatilin bu kadar anlamsız niteliklerine dayandırması elbette yanlış ve hatta tehlikelidir. Rus zihniyeti ile Batılı düşünce tarzı arasındaki temel farklardan biri, ABD'de tüm yaşam özlemlerinin - başarı, başarı, dış refah - hedeflendiği çok açık bir kılavuzun bulunmasıdır.

Amerikalı ailelerde günde birkaç kez birbirlerine şu güvenceyi verirler: "Seni seviyorum." İşte böyle. Ancak bu onların sorunlarını daha az hale getirmiyor.

Amerikan rüyasının gerçekleştiğine dair birçok işaret var: kariyer, para, üyelerinin günde birkaç kez birbirlerine "Seni seviyorum" diye güvence verdiği bir aile. İşte böyle. Sadece bunun aile sorunlarını azaltmadığını söyleyeceğim. Ancak birçok insan, Tanrı korusun, toplum tarafından "kaybeden" damgasına maruz kalmasınlar diye, onaylanmış senaryoyu takip ederek kendi aramaktan vazgeçmek zorunda kalıyor.

Yani genel kabul gören başarı işaretlerinden biri 14 Şubat'ta alınan tebriklerin sayısıdır. Eğer yoksa işler çok kötü: sempati kazanamadınız, kendinizi doğru tanıtamadınız, kendinizi satamadınız! Bütün bir milletin mağduriyeti yaşanmasaydı komik sayılabilecek yanlış bir yaklaşım.

8 Mart farklı bir hikaye. Bu, neredeyse zorla "yukarıdan" dayatılan görkemli bir Sovyet resmi tatilidir. Sosyal statüleri onları daha az veya daha fazla kadın yapmasa da, patronların büyük bir hediyeyle, sekreterlerin daha küçük bir hediyeyle tebrik edildiği bir tatil.

Tüm bu tarihsel dengesizliklerin en azından zihninizde üstesinden gelmenin, ilişkilerinizi ve manevi dünyanızı tatil sınavına tabi tutmamanın, hediyelerin zamanına ve maliyetine bağımlı kılmamanın, size biraz acıyan erkeklere biraz acımanın zamanı geldi. , kırmızı lekelerle kaplı, bir şeyler yapmaya çalışıyorlar. İç çamaşırı mağazasındaki danışmanlardan öğrenin.

Gerçek aşkın ifade edilmesi veya onaylanması için özel bir durumun beklenmediğini unutmayalım. Sevgililer Günü başlı başına bir sevgi bayramı değildir, kırmızı bir kalp onun sembolü değildir, çünkü hayatta aşk bir oyuncak değildir. Sevgililer Günü estetiği aşkın estetiği değil, onun beklentisidir. Ve 8 Mart, kadınlığın değil, kadınların üretimde ve hükümet organlarında erkeklerle eşit haklar için verdiği mücadelenin bayramıdır.

İnisiyatifi kendi ellerinize almanızı ve bu günlerde sonuna kadar eğlenmenizi şiddetle tavsiye ederim. Beklenti içinde donup kalmayın, sevgiyle oynayın ve başkalarının itiraflarını saymadan kendi duygularınızı ifade etmenin sevincine odaklanın.

Uygulamadaki en yaygın görevlerden biri geri bildirim formunun uygulanmasıdır. Yani HTML kodunu yazmak, CSS'de tasarlamak, kullanıcıdan alınan verileri işleyip mailimize gönderecek bir PHP betiği oluşturmak, girilen verilerin yeterliliğini kontrol edecek bir JS betiği yazmak, formu korumak. posta kutumuzun bot saldırılarından çökmemesi için beynimizi spam'den koruduk.

Yukarıdaki hususların tümü incelememizde tartışılacak ve ayrıntılı olarak yorumlanacaktır.

O halde bir geri bildirim formu oluşturmaya başlayalım:

HTML

Öncelikle kullanıcının dolduracağı alanları belirten HTML kodunu yazıyoruz. Gelecekte resmileşecekler. Form kodu şöyle görünür:

< form method= "post" action= "mail.php" > < div class = "left" > < label for = "name" >İsim: < input maxlength= "30" type= "text" name= "name" /> < label for = "phone" >Telefon: < input maxlength= "30" type= "text" name= "phone" /> < label for = "mail" >E-posta: < input maxlength= "30" type= "text" name= "mail" /> < div class = "right" > < label for = "message" >Mesaj: < textarea rows= "7" cols= "50" name= "message" > < input type= "submit" value= "Göndermek" />

Ve görsel olarak artık şöyle görünüyor:

Katılıyorum, şu ana kadar her şey çirkin ve hiçbir şey net değil, ama daha yeni başladık.

Yukarıdaki koda detaylı olarak bakalım:

  • < form method= "post" action= "mail.php" > …


    Form oluşturmak için form etiketini kullanmanız gerekir. Kod yorumlayıcısı için formun başlangıcını ve sonunu belirleyen odur. Herhangi bir etiket gibi, bir dizi özelliğe sahiptir, ancak formun çalışması için yalnızca iki tane gereklidir; bunlar yöntem (sunucuya istek gönderme yöntemi, formlar için standart olarak gönderi kullanılır) ve eylemdir ( form işleyici dosyasının yolunu belirtir, yani Bu dosya bir PHP betiği içerecek ve bu daha sonra kullanıcı tarafından girilen değerleri bize e-postayla gönderecektir. Bizim durumumuzda bu dosyanın mail.php olarak adlandırıldığını görüyoruz. düşündüğümüz sayfayla aynı site dizininde bulunur).
  • < input maxlength= "30" type= "text" name= "name" />


    Daha sonra girdilerimiz var. Bunlar aslında kullanıcıların ihtiyacımız olan bilgileri gireceği form alanlarının ta kendisidir (type="text" bunun metin olacağını belirtir). maxlength özelliği, kullanıcının belirli bir form alanına kaç karakter girebileceğini belirtir. En önemli özellik addır; belirli bir alanın adını belirtir. PHP betiğinin daha sonra kendisine giren bilgileri işleyeceği bu adlardır. İstenirse, imleç alanın içine yerleştirildiğinde kaybolan metni alanın içinde görüntüleyen yer tutucu özelliğini de ayarlayabilirsiniz. Yer tutucunun sorunlarından biri bazı eski tarayıcılar tarafından desteklenmemesidir.
  • < label for = "name" >İsim:


    Yer tutucuları terk ettiğimizde kullanılır. Normal bir alan imzası olan for özelliği, bu imzanın hangi spesifik alana karşılık geldiğini belirtir. Değer ilgilendiğimiz alanın adını belirtir.
  • < textarea rows= "7" cols= "50" name= "message" >


    Tıpkı girişte olduğu gibi kullanıcının bilgi girmesi amaçlanıyor, ancak bu sefer alan uzun mesajlara uygun hale getirildi. Satırlar alan boyutunu satırlar halinde, sütunlar ise karakterler olarak belirtir. Genel olarak sahamızın yüksekliğini ve genişliğini onlar belirliyor.
  • < input type= "submit" value= "Göndermek" />


    Type = "submit" bize bunun form göndermeye yönelik bir düğme olduğunu ve değerin bu düğmenin içinde yer alacak metni belirttiğini söyler.
  • < div class = "right" >


    yalnızca formun daha ileri görsel tasarımı için kullanılır.

CSS

Geri bildirim formumuzun düzgün görünmesi için biçimlendirilmesi gerekiyor. Aşağıdaki sonucu elde etmek için:

Bu kodu kullandık:

form ( arka plan: #f4f5f7; dolgu: 20px; ) form . sol, biçim. sağ ( görüntü: satır içi blok; dikey hizalama: üst; genişlik: 458 piksel; ) form . sağ ( dolgu- sol: 20 piksel; ) etiket ( ekran: blok; yazı tipi boyutu: 18 piksel; metin hizalama: orta; kenar boşluğu: 10 piksel 0 piksel 0 piksel 0 piksel; ) giriş, metin alanı ( kenarlık: 1 piksel katı #82858D; dolgu: 10 piksel; yazı tipi- boyut: 16 piksel; genişlik: 436 piksel; ) textarea ( yükseklik: 98 piksel; kenar boşluğu: 32 piksel; ) giriş[ tür= "gönder" ] ( genişlik: 200 piksel; kayan nokta: sağ; kenarlık: yok; arka plan: #595B5F; renk: #fff; metin dönüşümü: büyük harf;

CSS'yi ayrıntılı olarak açıklamanın amacını göremiyorum; dikkatinizi yalnızca kilit noktalara çekeceğim:

  1. Formdaki her etiket için ayrı bir tasarım yazmaya gerek yoktur. Seçicilerinizi, ihtiyacınız olan tüm öğeleri birkaç satır kodla tasarlayabileceğiniz şekilde oluşturmaya çalışın.
  2. Satırları kesmek ve girintiler oluşturmak için gereksiz yazım etiketleri kullanmayın < br>, < p> vb. Ekranlı CSS: dolgu özelliklerine sahip blok ve kenar boşluğu bu görevlerle iyi başa çıkıyor. Neden kullanmamanız gerektiği hakkında daha fazla bilgi < br> Makalede genel olarak düzen hakkında bilgi edinebilirsiniz br etiketi gerçekten gerekli mi?.
  3. Formlar için tablo düzenini kullanmamalısınız. Bu, bu etiketin anlambilimiyle çelişir ve arama motorları anlamsal kodu sever. Belgenin görsel yapısını oluşturmak için yalnızca div etiketlerine ve CSS'de belirtilen görüntüleme özelliklerine ihtiyacımız var: inline-block (blokları arka arkaya düzenler) ve dikey hizalama: top (ekran boyunca dağılmalarını engeller) , onları gerekli yüksekliğe ayarlayın ve işte, gereksiz hiçbir şey yok ve her şey ihtiyacımız olan şekilde yerleştirilmiş.

Web sitesi tasarımında zamandan tasarruf etmek isteyenler için, özellikle kendi yazdıkları web siteleri oluştururken CSS çerçevelerini kullanmanızı önerebilirim. Bu konuda tercihim Twitter Önyüklemesi. Bunu kullanarak formların nasıl tasarlanacağına ilişkin bir dersi izleyebilirsiniz.

PHP

Artık formumuzu çalıştırmanın zamanı geldi.

Sitenin kök dizinimize gidiyoruz ve orada daha önce form etiketinin action özelliğinde yolunu belirttiğimiz mail.php dosyasını oluşturuyoruz.

Sonuçta kodu şöyle görünecek:

Mesajınız başarıyla gönderildi \" javascript: History.back()\" >Geri dön

" ;
if (! empty ($_POST [ "isim" ] ) ve ! empty ($_POST [ "telefon" ] ) ve ! empty ($_POST [ "posta" ] ) ve ! empty ($_POST [ "mesaj" ] ) ) ( $name = trim (strip_tags ($_POST [ "isim" ] ) ) ; $phone = trim (strip_tags ($_POST [ "telefon" ] ) ) ; $mail = trim (strip_tags ($_POST [ "posta" ] ) ) ; $mesaj = trim (strip_tags ($_POST [ "mesaj" ] ) ; mail (, , "Size şunu yazdım: " . $isim ."
Numarası: " . $telefon ." "
Onun e-postası: " . $mail .
Onun mesajı: " . $mesaj, ) ;
yankı
"Mesajınız başarıyla gönderildi!
Kısa süre içinde bir cevap alacaksınız

$geri "

;

\" javascript: History.back()\" >Geri dön

" ;

çıkış;

) else ( echo ; çıkış ; ) ?> Bu belgenin HTML ve CSS bölümlerine ilişkin tartışmayı atlayabilirsiniz. Özünde bu, istek ve ihtiyaçlarınıza göre tasarlayabileceğiniz normal bir web sitesi sayfasıdır. En önemli kısmına bakalım - formu işlemek için kullanılan PHP betiği:$geri = " Bu satırla bir önceki sayfaya dönmek için bir bağlantı oluşturuyoruz. Kullanıcının bu sayfaya hangi sayfadan ulaşacağını önceden bilmediğimizden, bu küçük bir JS işlevi kullanılarak yapılır. Gelecekte, ihtiyaç duyduğumuz yerlerde görüntülemek için bu değişkene kolayca erişeceğiz. if (! empty ($_POST [ "isim" ] ) ve ! empty ($_POST [ "telefon" ] ) ve ! empty ($_POST [ "posta" ] ) ve ! empty ($_POST [ "mesaj" ] ) ) (

//işleyicinin iç kısmı

) başka ( yankı

"Mesaj göndermek için tüm alanları doldurun! $geri "

;

çıkış;

Kontroller daha karmaşık hale getirilebilir ancak bu sizin takdirinizdedir. Sunucu tarafında zaten minimum korumayı kurduk. Gerisini JS kullanarak istemci tarafında yapacağız.

Sunucu tarafında form korumasını JS lehine tamamen terk etmenizi önermiyorum, çünkü son derece nadir olmasına rağmen tarayıcıda JS'nin devre dışı bırakıldığı benzersiz olanlar var.

Etiketleri temizledikten sonra mesaj göndermeyi ekleyin:

posta ( "[email protected]", "sitenizin_adresinden gelen mektup", "Size şunu yazdım: " . $isim. "
if (! empty ($_POST [ "isim" ] ) ve ! empty ($_POST [ "telefon" ] ) ve ! empty ($_POST [ "posta" ] ) ve ! empty ($_POST [ "mesaj" ] ) ) ( $name = trim (strip_tags ($_POST [ "isim" ] ) ) ; $phone = trim (strip_tags ($_POST [ "telefon" ] ) ) ; $mail = trim (strip_tags ($_POST [ "posta" ] ) ) ; $mesaj = trim (strip_tags ($_POST [ "mesaj" ] ) ; mail (, , "Size şunu yazdım: " . $isim ."
Numarası: " . $telefon ." "
Onun mesajı: "
. $mesaj "İçerik türü:metin/html;karakter kümesi=windows-1251") ;

Mesajın oluşturulup bize gönderilmesinden sorumlu olan bu hattır. Aşağıdaki şekilde doldurulur:

  1. [email protected]” – burada e-postanızı tırnak işaretleri arasına eklersiniz
  2. E-postanıza gönderilecek mesajın konusu “sitenizin_adresinden gelen mektup”tur. Buraya her şeyi yazabilirsiniz.
  3. "Sana şunu yazdım: ".$isim." < br /> Numarası: ".$telefon." < br /> E-postası: ".$mail." < br /> Mesajı: ".$message – mesajın metnini kendimiz oluşturuyoruz. $isim – önceki adımdaki alanlara erişerek kullanıcı tarafından doldurulan bilgileri ekliyoruz, tırnak içinde bu alanın ne anlama geldiğini etiketiyle açıklıyoruz < br /> Mesajın bir bütün olarak okunabilmesi için satırı keseriz.
  4. Content-type:text/html;charset=windows-1251 - sonunda mesajda aktarılan veri tipinin ve kodlamasının açık bir göstergesi vardır.

ÖNEMLİ!

Belgenin "başlığında" belirtilen kodlama ( < meta http- equiv= "Content-Type" content= "metin/html; karakter kümesi=windows-1251" /> ), Content-type:text/html;charset=windows-1251 mesajındaki kodlama ve genel olarak PHP dosyasının kodlaması eşleşmelidir, aksi takdirde postayla alınan mesajlarda Rusça veya yerine "çılgın kelimeler" görüntülenecektir. İngilizce harfler.

Çoğu kişi gönderilen mesajın kodlamasını açıkça belirtmez, ancak bazı e-posta istemcilerinde bu gelecekte sorunlara neden olabilir (okunamayan e-postalar postaya gönderilir), bu yüzden yine de belirtmenizi öneririm.

Formun girilen verilerin yeterliliği açısından kontrol edilmesi

Kullanıcıların yanlışlıkla alanları kaçırmamalarını ve her şeyi doğru doldurmamalarını sağlamak için girilen verileri kontrol etmeye değer.

Bu hem sunucu tarafında PHP'de hem de istemci tarafında JS'de yapılabilir. Ben ikinci seçeneği kullanıyorum çünkü bu sayede kişi ek sayfa geçişleri yapmadan nerede yanlış yaptığını hemen anlayıp hatayı düzeltebilir.

Betik kodunu formun HTML kısmının bulunduğu dosyaya yapıştırıyoruz. Bizim durumumuz için şöyle görünecek:

< script>function checkForm(form) ( var name = form.name.value; var n = name.match(/ ^[ A- Za- zA- Jaa- z ] * [ A- Za- zA- Ja- z ] + $/ ) ; if (!n) ( uyarı( "Girilen isim yanlış, lütfen hatayı düzeltin") ); yanlış döndür;) var telefon = form. telefon. değer; var p = telefon. eşleşme(/ ^[ 0 - 9 + ] [ 0 - 9 - ] * [ 0 - 9 - ] + $/ ) ; eğer (! p) ( uyarı("Telefon numarası yanlış girildi"

) );

yanlış döndür; ) var mail = form. posta. değer; var m = posta . match(/ ^[ A- Za- z0- 9 ] [ A- Za- z0- 9 \. _- ] * [ A- Za- z0- 9 _] *@ ([ A- Za- z0- 9 ] + ([ A- Za- z0- 9 - ] * [ A- Za- z0- 9 ] + ) * \ ) + [ A- Za- z] + $/ ) ; eğer (! m) ( uyarı(

< form method= "post" action= "mail.php" onSubmit= "return checkForm(this)" >

"Girilen e-posta hatalı, lütfen hatayı düzeltin"


) );