Borang maklum balas adalah sifat wajib dari mana-mana laman web yang dibuat untuk menyelesaikan masalah serius. Salah satu kaedah paling mudah untuk mengatur e-mel dari pelawat laman web kepada pemiliknya adalah dengan menggunakan arahan surat PHP. Berikut adalah arahan langkah demi langkah mengenai cara melakukan ini.
Ia perlu
Pengetahuan asas PHP dan bahasa HTML
Arahan
Langkah 1
Langkah 1: buat dokumen php baru.
Di mana-mana editor teks (contohnya, dalam Notepad standard) buat dokumen baru. Segera masukkan di dalamnya bingkai kod html halaman, yang akan anda lengkapkan selama pembuatan mekanisme pengiriman pesan e-mel:
Menghantar mesej e-mel
Langkah 2
Langkah 2: tambahkan borang html ke dokumen anda.
Sekarang anda perlu menambahkan antara tag html dan arahan untuk penyemak imbas untuk memaparkan borang bagi pengunjung untuk memasukkan data dan menghantarnya ke pelayan. Pertama, tanda pembuka borang:
Atribut kaedah menentukan bagaimana penyemak imbas harus menghantar maklumat ke pelayan.
Di sini anda perlu memasukkan arahan dalam php - ia akan memaparkan mesej untuk pengunjung setelah dia mengirim data ke pelayan dan mereka diproses oleh skrip:
Baris seterusnya akan membentuk medan di mana pelawat mesti memasukkan namanya:
Nama awak:
Di sini atribut type menentukan jenis elemen borang ini - kotak teks ringkas. Atribut name adalah nama pemboleh ubah yang dimasukkan dalam bidang ini akan dihantar ke nama pelayan. Tag
- "perjalanan pulang".
Seterusnya, anda perlu memberi pengunjung peluang untuk menentukan alamat e-melnya untuk menghubunginya:
E-mel:
Semua di sini serupa dengan baris sebelumnya. Nama pemboleh ubah di mana alamat e-mel pelawat akan dihantar ke pelayan adalah e-mel.
Sekarang kita perlu menambahkan medan teks berbilang halaman (tag textarea) untuk memasukkan teks mesej:
Mesej:
Atribut baris dan kolom menentukan ukuran bidang ini - baris menentukan bilangan baris, dan tanda titik menentukan jumlah watak dalam setiap baris. Teks yang dimasukkan akan dihantar dalam pemboleh ubah bernama mess.
Setelah semua medan, tambahkan butang untuk menghantar mesej:
Atribut nilai dari tag ini mengandungi teks label pada butang ("Kirim").
Agar skrip php berfungsi, satu lagi pemboleh ubah akan diperlukan, yang mesti dihantar bersama dengan data dari borang. Letakkannya dalam elemen bentuk yang tersembunyi dari pelawat:
Nama pemboleh ubah ini adalah "bertindak" dan nilai lulus adalah "kirim".
Yang tinggal hanyalah menambahkan tag borang penutup:
Langkah 3
Langkah 3: tambahkan kod php untuk memproses data dari borang.
Dengan menekan butang berlabel "Kirim", pengunjung akan menghantar maklumat yang dimasukkan olehnya. Oleh kerana tidak ada atribut tindakan dalam tag formulir, yang harus menunjukkan alamat Internet skrip untuk mengirim data, mereka akan dikirim ke alamat halaman yang sama. Oleh itu, anda perlu menambahkan arahan php ke kod html halaman ini untuk menerima, mengesahkan dan menghantar data dari borang ke alamat e-mel anda.
Mereka harus bermula dengan tag php pembuka:
<? php
Pada baris seterusnya, tentukan pemboleh ubah yang akan mengandungi mesej untuk pelawat. Semasa kosong:
$ msg = ;
Sekarang skrip harus memeriksa apakah data dikirim dari borang. Pelayan, yang menerima data yang dihantar dengan kaedah POST, memasukkannya ke dalam array superglobal bernama $ _POST. Oleh itu, skrip perlu memeriksa sama ada terdapat maklumat dari borang dalam larik ini. Pelawat mungkin tidak mengisi mana-mana medan, tetapi pemboleh ubah tersembunyi mesti ada - kami akan memeriksa kehadirannya:
jika ($ _ POST ['act'] == "hantar") {
Sekiranya terdapat pemboleh ubah seperti itu, maka blok arahan skrip seterusnya akan dijalankan. Untuk kemudahan, pada awal blok ini, letakkan pemboleh ubah yang boleh anda ubah kemudian:
$ email_length = 500;
Ini adalah bilangan maksimum watak yang dibenarkan dalam mesej pelawat.
$ email_html = salah;
Sekiranya pengguna memasukkan tag html dalam mesej, mereka akan dipotong oleh skrip. Sekiranya mereka harus dibiarkan, ganti nilai palsu pemboleh ubah ini dengan benar.
$ email_recepient = "[email protected]";
Ini adalah alamat e-mel anda yang mana skrip harus menghantar mesej dari pengunjung.
$ email_subject = "Mesej dari pelawat laman web";
Pemboleh ubah mengandungi teks yang akan ditunjukkan dalam baris subjek e-mel yang dihantar kepada anda.
$ 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,})) $ / ";
Pemboleh ubah ini tidak boleh diubah - ia mengandungi corak ekspresi biasa yang digunakan oleh skrip untuk mengesahkan format alamat e-mel yang dimasukkan oleh pelawat di bidang e-mel. Baris seterusnya akan mengandungi cek ini:
if ((! $ _ POST ['email']) || (! preg_match ($ email_regex, $ _POST ['email']))) $ msg. = "Alamat e-mel tidak sah telah ditentukan.";
Sekiranya pelawat dengan jelas menunjukkan alamat yang salah untuk menghubunginya, skrip akan memaparkan mesej mengenai perkara ini. Semua mesej tersebut dijumlahkan dalam pemboleh ubah $ msg hingga akhir skrip.
Sekarang memeriksa kehadiran teks mesej itu sendiri:
if (! $ _ POST ['mess']) $ msg. " Tiada teks mesej ";
Sekiranya pengunjung membiarkan bidang teks kosong, maka mesej mengenai ini akan ditambahkan ke pemboleh ubah $ msg.
Sekiranya dalam pemboleh ubah $ email_html anda menentukan penghapusan tag html dari teks mesej, maka skrip akan melakukan ini dalam dua baris berikut:
$ userMess = $ _POST ['mess'];
jika (! $ email_html) $ userMess = strip_tags ($ userMess);
Dan pada akhir semua pemeriksaan - memeriksa panjang mesej:
if (strlen ($ userMess)> $ email_length) $ msg. = "Teks mesej lebih panjang daripada panjang yang dibenarkan ($ email_length karakter).
n ;
Sekiranya sekurang-kurangnya salah satu pemeriksaan gagal, maka pemboleh ubah $ msg tidak lagi kosong. Kemudian anda perlu melengkapkan semua mesej ralat yang tercatat di dalamnya - tambahkan teks "Kesalahan" dan tetapkan warna merah:
jika ($ msg) $ msg = "Ralat: $ msg";
Dan sekiranya cek diluluskan, sediakan data untuk dihantar ke alamat anda:
lain {
$ userMess = "Nama:". $ _ POST ['name']."
n ---
n ". $ userMess."
n
n ---
n ;
$ headers = "Content-Type: text / html; charset = windows-1251 / n";
$ headers. = "Dari: / nX-Mailer: siteMailer";
Baris seterusnya memulakan surat pelayan anda dan menghantar mesej yang disediakan:
mel ($ email_recepient, $ email_subject, $ userMess, $ header);
Sekarang masih ada untuk menyusun mesej untuk pelawat bahawa mesejnya telah dihantar:
$ msg = Mesej anda telah dikirim. Terima kasih!
n ;
}
}
?>
Langkah 4
Langkah 4: hos halaman di pelayan.
Simpan halaman php yang dibuat dengan nama dan pelanjutan php yang anda perlukan dan muat naik ke pelayan ke laman web anda.
Sudah tentu, ini adalah halaman "telanjang", anda perlu merancangnya dengan cara yang sama seperti halaman lain di laman web anda. Atau ambil elemen halaman ini dan tambahkan ke halaman yang ada di laman web ini.