Geri bildirim formu, herhangi bir ciddi sorunu çözmek için oluşturulan herhangi bir sitenin zorunlu bir özelliğidir. Bir site ziyaretçisinden sahibine gelen bir e-postayı düzenlemenin en basit yollarından biri PHP mail komutunu kullanmaktır. Aşağıda, bunun nasıl yapılacağı hakkında adım adım talimat verilmiştir.
Bu gerekli
PHP ve HTML dilleri hakkında temel bilgi
Talimatlar
Aşama 1
Adım 1: Yeni bir php belgesi oluşturun.
Herhangi bir metin düzenleyicide (örneğin, standart Not Defteri'nde) yeni bir belge oluşturun. E-posta mesajları gönderme mekanizmasının oluşturulması sırasında ekleyeceğiniz sayfanın html kodunun çerçevesini hemen girin:
E-posta mesajı gönderme
Adım 2
Adım 2: belgenize bir html formu ekleyin.
Şimdi, ziyaretçinin veri girip sunucuya göndermesi için bir form görüntülemesi için tarayıcının html etiketleri ve talimatları arasına eklemeniz gerekiyor. İlk olarak, formun açılış etiketi:
Method niteliği, tarayıcının sunucuya nasıl bilgi göndermesi gerektiğini belirtir.
Burada php'de bir talimat girmeniz gerekir - verileri sunucuya gönderdikten ve komut dosyası tarafından işlendikten sonra ziyaretçi için bir mesaj görüntüler:
Sonraki satır, ziyaretçinin adını girmesi gereken bir alan oluşturacaktır:
Adınız:
Burada type özelliği, bu form öğesinin türünü belirtir - basit bir metin kutusu. Ve name niteliği, bu alana girilenin sunucuya iletileceği değişkenin adıdır - adı. Etiket
- "bir araba dönüşü".
Ardından, ziyaretçiye kendisiyle iletişim kurmak için e-posta adresini belirtme fırsatı vermeniz gerekir:
E-posta:
Buradaki her şey önceki satıra benzer. Ziyaretçinin e-posta adresinin sunucuya gönderileceği değişkenin adı e-postadır.
Şimdi mesaj metnini girmek için çok sayfalı bir metin alanı (textarea etiketi) eklememiz gerekiyor:
İleti:
Satırlar ve sütun nitelikleri bu alanın boyutunu belirtir - satırlar satır sayısını belirtir ve sütunlar her satırdaki karakter sayısını belirtir. Girilen metin, mess adlı bir değişkende gönderilecektir.
Tüm alanlardan sonra mesaj göndermek için bir düğme ekleyin:
Bu etiketin değer özelliği, düğme üzerindeki etiketin metnini ("Gönder") içerir.
PHP betiğinin çalışması için, formdaki verilerle birlikte gönderilmesi gereken bir değişkene daha ihtiyaç duyulacaktır. Ziyaretçiden gizlenmiş bir form öğesine yerleştirin:
Bu değişkenin adı "act" ve iletilen değer "send".
Yapılması gereken tek şey kapanış formu etiketini eklemek:
Aşama 3
Adım 3: Formdaki verileri işlemek için php kodunu ekleyin.
"Gönder" yazan butona basıldığında ziyaretçi, kendisi tarafından girilen bilgileri gönderecektir. Form etiketinde, verileri göndermek için komut dosyasının İnternet adresini belirtmesi gereken eylem özelliği olmadığından, aynı sayfanın adresine gönderilirler. Bu nedenle, formdan e-posta adresinize veri almak, doğrulamak ve göndermek için bu sayfanın html koduna php talimatları eklemeniz gerekir.
Açılış php etiketiyle başlamalılar:
<?php
Sonraki satırda, ziyaretçi için mesajı içerecek bir değişken belirtin. Boşken:
$ msj = ;
Şimdi komut dosyası, verilerin formdan gönderilip gönderilmediğini kontrol etmelidir. POST yöntemiyle gönderilen verileri alan sunucu, onu $ _POST adlı süper küresel bir diziye koyar. Bu yüzden betiğin bu dizideki formdan herhangi bir bilgi olup olmadığını kontrol etmesi gerekiyor. Ziyaretçi herhangi bir alanı doldurmamış olabilir, ancak gizli değişken hala mevcut olmalıdır - varlığını kontrol edeceğiz:
if ($ _ POST ['eylem'] == "gönder") {
Böyle bir değişken varsa, bir sonraki komut dosyası talimatları bloğu yürütülür. Kolaylık olması için, bu bloğun başına daha sonra değiştirebileceğiniz değişkenleri yerleştirin:
$ email_length = 500;
Bu, bir ziyaretçinin mesajında izin verilen maksimum karakter sayısıdır.
$ email_html = yanlış;
Kullanıcı mesaja html etiketleri girerse, komut dosyası tarafından kesilecektir. Eğer bırakılmaları gerekiyorsa, bu değişkenin false değerini true ile değiştirin.
$ email_recepient = "[email protected]";
Bu, komut dosyasının ziyaretçilerden mesaj göndermesi gereken e-posta adresinizdir.
$ email_subject = "Bir site ziyaretçisinden mesaj";
Değişken, size gönderilen e-postanın konu satırında belirtilecek metni içerir.
$ email_regex = "/ ^ (([^ () .,;: / s @ "] + (. [^ () .,;: / s @ "] +) *) | (". + ")) @ (([0-9] {1, 3}. [0-9] {1, 3}. [0-9] {1, 3}. [0-9] {1, 3}]) | (([a-zA-Z / -0-9] + \.) + [A-zA-Z] {2,})) $ /";
Bu değişken değiştirilmemelidir - ziyaretçi tarafından e-posta alanına girilen e-posta adresinin biçimini doğrulamak için komut dosyası tarafından kullanılan normal ifade modelini içerir. Bir sonraki satır bu kontrolü içerecektir:
if ((! $ _ POST ['email']) || (! preg_match ($ email_regex, $ _POST ['email']))) $ msg. = "Geçersiz bir e-posta adresi belirtildi.";
Ziyaretçi, kendisiyle iletişim kurmak için yanlış adresi açıkça belirtmişse, komut dosyası bununla ilgili bir mesaj görüntüler. Bu tür tüm mesajlar, komut dosyasının sonuna kadar $ msg değişkeninde toplanır.
Şimdi mesaj metninin kendisinin varlığını kontrol etmek:
if (! $ _ POST ['karmaşa']) $ msg. = "Mesaj metni yok";
Ziyaretçi metin alanını boş bırakırsa, $ msg değişkenine bununla ilgili bir mesaj eklenecektir.
$ email_html değişkeninde mesaj metninden html etiketlerinin kaldırılmasını belirttiyseniz, komut dosyası bunu aşağıdaki iki satırda yapacaktır:
$ userMess = $ _POST ['karışıklık'];
if (! $ email_html) $ userMess = strip_tags ($ userMess);
Ve tüm kontrollerin sonunda - mesajın uzunluğunu kontrol etmek:
if (strlen ($ userMess)> $ email_length) $ msg.="Mesaj metni izin verilen uzunluktan ($ email_length karakterleri) daha uzun.
;
Kontrollerden en az biri başarısız olursa, $ msg değişkeni artık boş değildir. Ardından, içinde kaydedilen tüm hata mesajlarını tamamlamanız gerekir - "Hata" metnini ekleyin ve kırmızı gölgeyi ayarlayın:
if ($ msg) $ msg = "Hata: $ msg";
Ve kontroller geçerse, verileri adresinize göndermek için hazırlayın:
Başka {
$ userMess = "Ad:". $ _ POST ['ad']."
n ---
n ". $ userMess."
n
n ---
;
$ headers = "İçerik Türü: metin / html; karakter kümesi = windows-1251 / n";
$ headers.="Kimden: / nX-Mailer: siteMailer";
Sonraki satır, sunucunuzun postasını başlatır ve hazırlanan mesajı gönderir:
posta ($ email_recepient, $ email_subject, $ userMess, $ başlıklar);
Şimdi ziyaretçiye mesajının gönderildiğine dair bir mesaj oluşturmaya devam ediyor:
$ msg = Mesajınız gönderildi. Teşekkürler!
n ;
}
}
?>
4. Adım
Adım 4: sayfayı sunucuda barındırın.
Oluşturulan php sayfasını ihtiyacınız olan isim ve php uzantısı ile kaydedin ve sitenize sunucuya yükleyin.
Elbette bu "çıplak" bir sayfadır, sitenizdeki diğer sayfalarla aynı şekilde tasarlamanız gerekir. Veya bu sayfanın öğelerini alın ve sitedeki mevcut bir sayfaya ekleyin.