אתה נמצא כאן מדריכים  >>  שליחת אי-מייל  >>  ניהול הסקריפט

ניהול הסקריפט

בסקריפט זה אנו צריכים להציג טופס לקבלת נתונים מהמשתמש על האי-מייל שהוא רוצה לשלוח. כאשר המשתמש שולח את הטופס, אנו צריכים לעבד את הנתונים שקיבלנו (לבדוק את השדות שהוזנו), ולהדפיס הודעות שגיאה במקרה הצורך. במקרה שיש שגיאה בטופס לא ננסה לשלוח את האי-מייל, אך נציג את הטופס שוב למשתמש (עם השדות שהכניס) כדי שיתקן את שגיאותיו. כאשר אין שגיאות בטופס, הסקריפט ינסה לשלוח את האי-מייל ליעד המבוקש, ויציג הודעה למשתמש באם האי-מייל נשלח בהצלחה.

את הסקריפט מנהל הקובץ הראשי של התוכנית, mail.php, שמבצע בדיוק את התוכנית שהוזכרה לעיל (כל התוכנית עוברת דרך הקובץ הנ"ל). הסקריפט עושה שימוש ב-2 קבצים נוספים: mail_form.inc (שמציג את הטופס), ו-mail_send.inc (שמעבד את הנתונים ושולח את האי-מייל).

file name: mail.php
<HTML>
<HEAD>
<META http-equiv="content-type" content="text/HTML; charset=windows-1255">
<META http-equiv="content-language" content="hw">
<META name="author" content="Eli Hen">
   <TITLE>שליחת אי-מייל</TITLE>
</HEAD>

<BODY>
<DIV align="right" dir="rtl">
<H2><U>שליחת אי-מייל</U></H2>

<?
  $mail_ok=false;
/*המשתנה $mail_ok הוא משתנה גלובלי,
שתפקידו לשמש אינדיקציה לבדיקת
הנתונים ולשליחת האי-מייל.
אם false: ארעה שגיאה כלשהי.
אם true: האי-מייל תקין.
מאתחלים אותו עם הערך false, ומניחים
בתחילה שעדיין לא שלחנו את הטופס.
*/

  
  if (isset($_POST["mail_button_send"]))
/*בטופס האי-מייל ניצור כפתור SUBMIT
עם השם mail_button_send, וכאשר שולחים
את הטופס ערכו של הכפתור גם נשלח.
לכן אם המשתנה שבודקים כאן מאותחל,
אז סימן ששלחנו את הטופס.
*/

     include "mail_send.inc";
/*מכלילים את הקובץ שמעבד את
נתוני הטופס ושולח את האי-מייל.
קובץ זה משתמש במשתנה הגלובלי
$mail_ok, ומשנה את ערכו בהתאם.
*/

  
  if ($mail_ok==false)
/*המשתנה $mail_ok מקבל את הערך false
כאשר לא נשלח שום טופס או כאשר הטופס
לא מולא בהתאם.
בשני המקרים צריך להציג שוב את הטופס.
*/

     include "mail_form.inc";
/*מציג את הטופס למשתמש
עם הנתונים ששלח.
*/

?>

</DIV>
</BODY>
</HTML>


תגובות בנושא

אי אפשר לעשות את זה יותר פשוט? 08-12-03 14:02
 מיכאל לטיצ'בסקי
#1070

האם אי אפשר לכתוב במקום לכתוב

if (isset($_POST["mail_button_send"]))

אפשר פשוט
if ($submit)
או
if ($mail_button_send)

מה ההבדל

לא רצוי 09-12-03 18:02
 אלי חן (מנהל)
#1122

מה שתיארת מסתמך על register_globals.. שהוכח כבר כבעיית אבטחה ולכן מכובה כברירת מחדל בקונפיגורציה של PHP עוד מגרסה 4.
השתמש במערכים הגלובליים.. זה יותר בטוח..

איך אני מונע שישלחו דרך המערכת שלי דואר זבל ? 02-12-06 13:01
 אבי חדד
#2655

דבר ראשון כל הכבוד על האתר ועל המערכת אני מאוד מרוצה וכל הכבוד על הקוד של שליחת האימייל , חפשתי בכל האנטרנט ומצאתי רק אצל איתן .
תמשיכו כך
ולשאלתי .
אני מקבל ביום בין 10-15 דואר זבל דרך הסקריפט מה לעשות ?


לדף הקודםהורדה -הקודם
לתחילת הדףלתחילת הדף
הבא- טופס האי-מייללדף הבא