טופס משוב הוא מאפיין חובה של כל אתר שנוצר כדי לפתור בעיות חמורות. אחת הדרכים הפשוטות ביותר לארגן דוא ל ממבקר באתר לבעליו היא להשתמש בפקודת הדואר של PHP. להלן הוראות מפורטות כיצד לעשות זאת.
זה הכרחי
ידע בסיסי בשפות PHP ו- HTML
הוראות
שלב 1
שלב 1: צור מסמך php חדש.
בכל עורך טקסטים (למשל, בפנקס רשימות רגיל) צרו מסמך חדש. הזן בו מיד את מסגרת קוד ה- HTML של הדף, אותו תוסיף במהלך יצירת המנגנון לשליחת הודעות דואר אלקטרוני:
שליחת הודעת דואר אלקטרוני
שלב 2
שלב 2: הוסף טופס HTML למסמך שלך.
כעת עליך להוסיף בין תגי ה- html והוראות לדפדפן כדי להציג טופס עבור המבקר להזנת נתונים ולשלוחם לשרת. ראשית, תג הפתיחה של הטופס:
תכונת השיטה מציינת כיצד הדפדפן צריך לשלוח מידע לשרת.
כאן עליך להוסיף הוראה ב- php - היא תציג הודעה למבקר לאחר שהוא שולח את הנתונים לשרת והם מעובדים על ידי התסריט:
השורה הבאה תהווה שדה שבו על המבקר להזין את שמו:
השם שלך:
כאן המאפיין type מציין את סוג רכיב הטופס הזה - תיבת טקסט פשוטה. ותכונת השם היא שם המשתנה בו יועבר הזן בשדה זה לשרת - שם. תָג
- "החזרת כרכרה".
לאחר מכן, עליך לתת למבקר את ההזדמנות לציין את כתובת הדוא ל שלו כדי ליצור איתו קשר:
אימייל:
הכל כאן דומה לשורה הקודמת. שם המשתנה בו תישלח כתובת הדוא"ל של המבקר לשרת הוא דוא"ל.
כעת עלינו להוסיף שדה טקסט מרובה עמודים (תג textarea) כדי להזין את טקסט ההודעה:
הוֹדָעָה:
מאפייני השורות וה- cols מציינים את גודל השדה הזה - שורות מציין את מספר השורות, ו- cols מציין את מספר התווים בכל שורה. הטקסט שהוזן יישלח במשתנה בשם בלגן.
אחרי כל השדות, הוסף כפתור לשליחת הודעה:
תכונת הערך של תג זה מכילה את הטקסט של התווית בכפתור ("שלח").
כדי ש- script php יעבוד, יהיה צורך במשתנה אחד נוסף, אותו יש לשלוח יחד עם הנתונים מהטופס. מקם אותו באלמנט טופס מוסתר מהמבקר:
שמו של משתנה זה הוא "מעשה" והערך שעבר הוא "שלח".
הדבר היחיד שנותר לעשות הוא להוסיף את תג הטופס הסוגר:
שלב 3
שלב 3: הוסף קוד php לעיבוד נתונים מהטופס.
בלחיצה על הכפתור שכותרתו "שלח", המבקר ישלח את המידע שהוזן על ידו. מכיוון שאין בתג הטופס מאפיין פעולה שעליו לציין את כתובת האינטרנט של הסקריפט לשליחת הנתונים, הם יישלחו לכתובת של אותו דף. לכן, עליך להוסיף הוראות php לקוד ה- HTML של דף זה כדי לקבל, לאמת ולשלוח נתונים מהטופס לכתובת הדוא"ל שלך.
עליהם להתחיל בתג php הפותח:
<? php
בשורה הבאה, ציין משתנה שיכיל את ההודעה עבור המבקר. כשהוא ריק:
$ msg = ;
כעת על הסקריפט לבדוק אם הנתונים נשלחו מהטופס. השרת, המקבל נתונים שנשלחו בשיטת POST, מכניס אותם למערך סופר-גלובלי בשם $ _ POST. אז הסקריפט צריך לבדוק אם יש מידע מהטופס במערך זה. המבקר אולי לא מילא אף אחד מהשדות, אך המשתנה הנסתר עדיין חייב להיות קיים - אנו נבדוק את נוכחותו:
אם ($ _ POST ['act'] == "שלח") {
אם יש משתנה כזה, הבלוק הבא של הוראות הסקריפט יבוצע. מטעמי נוחות, בתחילת בלוק זה, הצב משתנים שתוכל לשנות בהמשך:
$ email_length = 500;
זהו המספר המרבי של תווים המותר בהודעת המבקר.
$ email_html = false;
אם המשתמש מזין תגי HTML בהודעה, הם ייחתכו על ידי התסריט. אם יש להשאיר אותם, החלף את הערך השקרי של משתנה זה ב- true.
$ 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 characters).
n ;
אם לפחות אחד מהבדיקות נכשל, המשתנה $ msg כבר לא ריק. אז אתה צריך להשלים את כל הודעות השגיאה שנרשמו בו - להוסיף את הטקסט "שגיאה" ולהגדיר את הגוון האדום:
if ($ msg) $ msg = "שגיאה: $ msg";
ואם הצ'קים הועברו, אז הכינו את הנתונים למשלוח לכתובתכם:
אחר {
$ userMess = "שם:". $ _ POST ['שם']."
n ---
n ". $ userMess."
n
n ---
n ;
$ headers = "סוג תוכן: text / html; charset = windows-1251 / n";
$ headers. = "מאת: / nX-Mailer: siteMailer";
השורה הבאה מפעילה את הדיוור של השרת שלך ושולחת את ההודעה שהוכנה:
דואר ($ email_recepient, $ email_subject, $ userMess, $ headers);
כעת נותר לחבר הודעה למבקר שההודעה שלו נשלחה:
$ msg = ההודעה שלך נשלחה. תודה!
n ;
}
}
?>
שלב 4
שלב 4: מארח את הדף בשרת.
שמור את דף ה- php שנוצר עם השם והסיומת php הדרושים לך והעלה אותו לשרת לאתר שלך.
כמובן שמדובר בדף "עירום", עליכם לעצב אותו באותו אופן כמו שאר הדפים באתר שלכם. או קח את האלמנטים של דף זה והוסף אותם לדף קיים באתר.