แบบฟอร์มคำติชมเป็นคุณลักษณะบังคับของไซต์ที่สร้างขึ้นเพื่อแก้ไขปัญหาร้ายแรง วิธีที่ง่ายที่สุดวิธีหนึ่งในการจัดระเบียบอีเมลจากผู้เยี่ยมชมไซต์ถึงเจ้าของคือการใช้คำสั่งเมล PHP ด้านล่างนี้เป็นคำแนะนำทีละขั้นตอนเกี่ยวกับวิธีการทำเช่นนี้
มันจำเป็น
ความรู้พื้นฐานเกี่ยวกับภาษา PHP และ HTML
คำแนะนำ
ขั้นตอนที่ 1
ขั้นตอนที่ 1: สร้างเอกสาร php ใหม่
ในโปรแกรมแก้ไขข้อความ (เช่น ใน Notepad มาตรฐาน) ให้สร้างเอกสารใหม่ ป้อนเฟรมของรหัส html ของหน้าทันทีซึ่งคุณจะเสริมในระหว่างการสร้างกลไกการส่งข้อความอีเมล:
การส่งข้อความอีเมล
ขั้นตอนที่ 2
ขั้นตอนที่ 2: เพิ่มแบบฟอร์ม html ลงในเอกสารของคุณ
ตอนนี้ คุณต้องเพิ่มระหว่างแท็ก html และคำแนะนำสำหรับเบราว์เซอร์เพื่อแสดงแบบฟอร์มให้ผู้เยี่ยมชมป้อนข้อมูลและส่งไปยังเซิร์ฟเวอร์ อันดับแรก แท็กเปิดของแบบฟอร์ม:
แอตทริบิวต์ method ระบุว่าเบราว์เซอร์ควรส่งข้อมูลไปยังเซิร์ฟเวอร์อย่างไร
ที่นี่คุณต้องแทรกคำสั่งใน php - จะแสดงข้อความสำหรับผู้เยี่ยมชมหลังจากที่เขาส่งข้อมูลไปยังเซิร์ฟเวอร์และประมวลผลโดยสคริปต์:
บรรทัดถัดไปจะสร้างฟิลด์ที่ผู้เข้าชมต้องป้อนชื่อของเขา:
ชื่อของคุณ:
ในที่นี้แอตทริบิวต์ type จะระบุประเภทขององค์ประกอบแบบฟอร์มนี้ ซึ่งเป็นกล่องข้อความธรรมดา และแอตทริบิวต์ชื่อคือชื่อของตัวแปรที่ป้อนในฟิลด์นี้จะถูกส่งไปยังเซิร์ฟเวอร์ - ชื่อ แท็ก
- "การคืนรถ"
ถัดไป คุณต้องให้โอกาสผู้เยี่ยมชมระบุที่อยู่อีเมลของเขาเพื่อติดต่อเขา:
อีเมล์:
ทุกอย่างที่นี่คล้ายกับบรรทัดก่อนหน้า ชื่อของตัวแปรที่จะส่งที่อยู่อีเมลของผู้เยี่ยมชมไปยังเซิร์ฟเวอร์คืออีเมล
ตอนนี้เราต้องเพิ่มช่องข้อความหลายหน้า (แท็ก textarea) เพื่อป้อนข้อความ:
ข้อความ:
แอตทริบิวต์แถวและคอลัมน์ระบุขนาดของฟิลด์นี้ แถวระบุจำนวนแถว และคอลัมน์ระบุจำนวนอักขระในแต่ละแถว ข้อความที่ป้อนจะถูกส่งไปในตัวแปรชื่อระเบียบ
หลังจากกรอกข้อมูลครบทุกช่องแล้ว ให้เพิ่มปุ่มเพื่อส่งข้อความ:
แอตทริบิวต์ค่าของแท็กนี้มีข้อความของป้ายกำกับบนปุ่ม ("ส่ง")
เพื่อให้สคริปต์ php ทำงานได้ จำเป็นต้องมีตัวแปรอีกหนึ่งตัว ซึ่งจะต้องส่งไปพร้อมกับข้อมูลจากแบบฟอร์ม วางไว้ในองค์ประกอบแบบฟอร์มที่ซ่อนจากผู้เยี่ยมชม:
ชื่อของตัวแปรนี้คือ "act" และค่าที่ส่งคือ "send"
สิ่งเดียวที่ต้องทำคือเพิ่มแท็กแบบฟอร์มปิด:
ขั้นตอนที่ 3
ขั้นตอนที่ 3: เพิ่มโค้ด php เพื่อประมวลผลข้อมูลจากแบบฟอร์ม
โดยกดปุ่ม "ส่ง" ผู้เข้าชมจะส่งข้อมูลที่ป้อนโดยเขา เนื่องจากไม่มีแอ็ตทริบิวต์ action ในแท็ก form ซึ่งต้องระบุที่อยู่อินเทอร์เน็ตของสคริปต์เพื่อส่งข้อมูล พวกเขาจึงจะถูกส่งไปยังที่อยู่ของหน้าเดียวกัน ดังนั้น คุณต้องเพิ่มคำสั่ง php ลงในโค้ด html ของหน้านี้เพื่อรับ ตรวจสอบ และส่งข้อมูลจากแบบฟอร์มไปยังที่อยู่อีเมลของคุณ
พวกเขาควรเริ่มต้นด้วยแท็กเปิด php:
<?php
ในบรรทัดถัดไป ให้ระบุตัวแปรที่จะมีข้อความสำหรับผู้เข้าชม ในขณะที่ว่างเปล่า:
$ msg = ;
ตอนนี้สคริปต์ควรตรวจสอบว่าข้อมูลถูกส่งจากแบบฟอร์มหรือไม่ เซิร์ฟเวอร์ที่รับข้อมูลที่ส่งโดยวิธี POST จะใส่ลงในอาร์เรย์ superglobal ชื่อ $ _POST ดังนั้นสคริปต์จึงต้องตรวจสอบว่ามีข้อมูลใด ๆ จากแบบฟอร์มในอาร์เรย์นี้หรือไม่ ผู้เยี่ยมชมอาจไม่ได้กรอกข้อมูลในฟิลด์ใด ๆ แต่ต้องมีตัวแปรที่ซ่อนอยู่ - เราจะตรวจสอบการมีอยู่:
if ($ _ POST ['act'] == "send") {
หากมีตัวแปรดังกล่าว บล็อกคำสั่งสคริปต์ถัดไปจะถูกดำเนินการ เพื่อความสะดวก ในตอนต้นของบล็อกนี้ ให้วางตัวแปรที่คุณสามารถแก้ไขได้ในภายหลัง:
$ email_length = 500;
นี่คือจำนวนอักขระสูงสุดที่อนุญาตในข้อความของผู้เยี่ยมชม
$ email_html = เท็จ;
หากผู้ใช้ป้อนแท็ก html ในข้อความ พวกเขาจะถูกตัดโดยสคริปต์ หากควรปล่อยไว้ ให้แทนที่ค่าเท็จของตัวแปรนี้ด้วยค่าจริง
$ email_recepient = "[email protected]";
นี่คือที่อยู่อีเมลของคุณที่สคริปต์ควรส่งข้อความจากผู้เยี่ยมชม
$ email_subject = "ข้อความจากผู้เยี่ยมชมเว็บไซต์";
ตัวแปรประกอบด้วยข้อความที่จะระบุไว้ในบรรทัดเรื่องของอีเมลที่ส่งถึงคุณ
$ 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,})) $ / ";
ตัวแปรนี้ไม่ควรเปลี่ยนแปลง - ประกอบด้วยรูปแบบนิพจน์ทั่วไปที่ใช้โดยสคริปต์เพื่อตรวจสอบรูปแบบของที่อยู่อีเมลที่ผู้เยี่ยมชมป้อนในฟิลด์อีเมล บรรทัดถัดไปจะมีการตรวจสอบนี้:
if ((! $ _ POST ['email']) || (! preg_match ($ email_regex, $ _POST ['email']))) $ msg. = "ระบุที่อยู่อีเมลที่ไม่ถูกต้อง";
หากผู้เข้าชมระบุที่อยู่สำหรับติดต่อผิดอย่างชัดเจน สคริปต์จะแสดงข้อความเกี่ยวกับเรื่องนี้ ข้อความดังกล่าวทั้งหมดถูกรวมไว้ในตัวแปร $ msg จนกระทั่งสิ้นสุดสคริปต์
กำลังตรวจสอบการมีอยู่ของข้อความเอง:
if (! $ _ POST ['mess']) $ msg. = "ไม่มีข้อความ";
หากผู้เยี่ยมชมเว้นช่องข้อความว่างไว้ ข้อความเกี่ยวกับสิ่งนี้จะถูกเพิ่มไปยังตัวแปร $ msg
หากในตัวแปร $ email_html คุณระบุการลบแท็ก html ออกจากข้อความ สคริปต์จะทำสิ่งนี้ในสองบรรทัดต่อไปนี้:
$ userMess = $ _POST ['ยุ่ง'];
ถ้า (! $ email_html) $ userMess = strip_tags ($ userMess);
และเมื่อสิ้นสุดการตรวจสอบทั้งหมด - ตรวจสอบความยาวของข้อความ:
if (strlen ($ userMess)> $ email_length) $ msg. = "ข้อความยาวกว่าความยาวที่อนุญาต ($ email_length อักขระ)
n ;
หากการตรวจสอบอย่างน้อยหนึ่งรายการล้มเหลว ตัวแปร $ msg จะไม่ว่างเปล่าอีกต่อไป จากนั้นคุณต้องกรอกข้อความแสดงข้อผิดพลาดทั้งหมดที่บันทึกไว้ - เพิ่มข้อความ "ข้อผิดพลาด" และตั้งค่าเฉดสีแดง:
if ($ msg) $ msg = "ข้อผิดพลาด: $ msg";
และหากผ่านการตรวจสอบแล้ว ให้เตรียมข้อมูลสำหรับส่งไปยังที่อยู่ของคุณ:
อื่นๆ {
$ userMess = "ชื่อ:" $ _ POST ['name']"
n ---
n ". $ userMess"
n
n ---
n ;
$ headers = "Content-Type: text / html; charset = windows-1251 / n";
$ headers. = "จาก: / nX-Mailer: siteMailer";
บรรทัดถัดไปเริ่มต้นจดหมายของเซิร์ฟเวอร์และส่งข้อความที่เตรียมไว้:
อีเมล ($ email_recepient, $ email_subject, $ userMess, $ ส่วนหัว);
ตอนนี้ยังคงเขียนข้อความสำหรับผู้เยี่ยมชมว่าข้อความของเขาถูกส่งไปแล้ว:
$ msg = ข้อความของคุณถูกส่งแล้ว ขอบคุณ!
n ;
}
}
?>
ขั้นตอนที่ 4
ขั้นตอนที่ 4: โฮสต์เพจบนเซิร์ฟเวอร์
บันทึกหน้า php ที่สร้างด้วยชื่อและนามสกุล php ที่คุณต้องการ แล้วอัปโหลดไปยังเซิร์ฟเวอร์ไปยังเว็บไซต์ของคุณ
แน่นอนว่านี่คือหน้า "เปล่า" คุณต้องออกแบบให้เหมือนกับหน้าที่เหลือในไซต์ของคุณ หรือใช้องค์ประกอบของหน้านี้และเพิ่มลงในหน้าที่มีอยู่ในเว็บไซต์