ارسال ايميل در فلش با استفاده از PHP

در اين بخش مي‌توانيد در مورد تمامي مسائل و موضوعات مرتبط با طراحي صفحات اينترنتي به بحث بپردازيد

مدیران انجمن: Mahdi Mahdavi, شوراي نظارت

ارسال پست
Incredible Poster
Incredible Poster
نمایه کاربر
پست: 3047
تاریخ عضویت: جمعه ۷ بهمن ۱۳۸۴, ۹:۴۱ ب.ظ
سپاس‌های ارسالی: 58 بار
سپاس‌های دریافتی: 384 بار
تماس:

ارسال ايميل در فلش با استفاده از PHP

پست توسط Farhad3614 »

در اين آموزش قصد دارم طريقه ارسال يك ايميل از درون فايلهاي فلش را برايتان توضيح بدهم. بايد توجه داشته باشيد كه سروري كه شما بر روي آن قصد داريد اين كار را انجام دهيد از زبان برنامه نويسي PHP را بايد پشتيباني كند، و همچنين شما نياز به يك ايميل POP3 داريد كه بايد از طريق آن ايميل خود را ارسال كنيد.

اين قسمت فقط جنبه آموزشي دارد و بصورت ساده بيان شده است اگر هنگام ارسال ايميل خود نياز به امكانات بيشتري داريد مي توانيد از دستورات مربوطه استفاده كنيد ولي روند كلي كار به اين شكلي است كه در زير توضيح داده مي شود.

براي شروع كار برنامه Flash‌را اجرا كنيد. (توجه داشته باشيد اين آموزش بر حسب Flash MX و PHP 3 توضيح داده شده است.)

در ابتدا با انتخاب ابزار Text Tool‌سه متن با عناوين Subject ، Message ، Email ايجاد مي كنيد.

[External Link Removed for Guests]

سپس گزينه New Symbol را از منوي Insert انتخاب كنيد (و يا كليد Ctrl+F8 را بفشاريد) و سپس يك Button با نام Send‌ايجاد كنيد.

[External Link Removed for Guests]

در صفحه اي كه باز مي شود بايد يك كليد ايجاد نماييد. براي اينكار در فريم Up با ابزار Rectangle Tool‌يك مربع ايجاد نماييدو درون آن متن خود را مثلا Send را وارد نماييد.

[External Link Removed for Guests]

چنانچه مايل باشيد مي توانيد در فريمهاي Over و Down هم فريم خود را ايجاد نمايد. پس از ايجاد كليد به Stage اصلي باز گرديد (كليد Ctrl+E را بفشاريد) در اينجا پنل Library را نمايان كنيد (با استفاده از كليد Ctrl+L) سپس سيمبل كليدي را كه ساخته ايد را در صفحه قرار دهيد.

سپس دوباره با استفاده از ابزار Text Tool يك تكست باكس ايجاد نماييد. براي اين كار ابزار متن را انتخاب كنيد و بعد در صفحه با استفاده از همين ابزار يك مربع بكشيد و در پنل Properties قسمت Static Text را به Input Text تغيير دهيد. سپس كليد Show Border around Text را فعال نماييد. سپس كليد Character را بفشاريد. سپس گزينه All Character را براي Embed font outlines for انتخاب كنيد. براي متغير var مقدار subject را وارد كنيد. مقدار Maximum Character را 30 قرار دهيد.

[External Link Removed for Guests]

سپس دو تكست باكس ديگر به همين روش ايجاد نماييد. پس تكست باكسهاي ما به شرح زير خواهد بود:

Var : Subject , Single Line , Max. Char. : 30 , Embed Fnt Outlines For : All Character .

Var : Message , Multi Line , Max. Char. : 500 , Embed Fnt Outlines For : All Character .

Var : From , Single Line , Max. Char. : 50 , Embed Fnt Outlines For : All Character .

خب حالا كه تكست باكسها و كليد ما ايجاد شدند ما شروع به برنامه نويسي آن ميكنيم.

بايد توجه داشته باشيد كه براي اين كار شما بايد ابتدا يك برنامه نويسي Action Script براي فلش بكنيد و بعد يك برنامه بصورت PHP بنويسيد كه هنگامي كه كليد Send‌را مي فشاريد مقادير وارد شده در فرم شما به فايل PHP ارسال شود و در آنجا Process شود. براي اين كار ابتدا اكشن اسكريپت آن را مي نويسيم.

بر روي فريم اول در Stage‌ اصلي right click كنيد و گزينه Actions را از منويي كه باز ميشود انتخاب كنيد. سپس در اديتور اكشن اسكريپت كد زير را قرار دهيد:

stop();
function lineAdapt() {
message_send = message;
while (msg_count msg_count = msg_count+1;
if ((substring(message_send, msg_count, 2)) eq "\r") {
message_send = (substring(message_send, 1, msg_count-2)) add "\n" add (substring(message_send, msg_count+2, (length(message_send))-msg_count+2));
}
}
message = message_send;
delete msg_count;
delete message_send;
}

حال بر روي كليد Send كليك كنيد و كليد سمت راست ماوس را بفشاريد و از منويي كه باز ميشود گزينه Actions‌ را انتخاب نماييد. و در اديتور آن كد زير را وارد نماييد:

on (release) {
if (subject eq "" or message eq "" or from eq "") {
stop();
} else {
lineAdapt();
loadVariablesNum("mail.php3", 0, "POST");
gotoAndStop(2);
}
}

سپس به فريم دوم رفته و در آنجا با فشردن كليد F7‌يك Blank Key Frame‌ ايجاد كنيد. در اين فريم يك جمله تشكر يا هر چيز ديگر بنويسيد . اين فريم پس از ارسال ايميل نمايش داده مي شود. به عنوان مثال من در اين فريم از ارسال ايميل كاربر تشكر كرده ام :

[External Link Removed for Guests]


حالا بر روي فريم دوم كليد سمت راست ماوس را بفشاريد و گزينه Actions را ازمنويي كه باز ميشود انتخاب كنيد. در قسمت اديتور اكشن اسكريپ كد زير را وارد كنيد :

stop ()

حالا برنامه نويسي اكشن اسكريپتهاي فايل فلش شما تمام شد و حالا بايد فايل PHP‌خودمان را ايجاد كنيم.

همانطوري هم كه در اكشن اسكريپتي كه براي كليد تعريف كرديم گفتيم كه از فايل mail.php3‌ هنگام ارسال فرم استفاده كند. پس ما بايد اسم اين فايل PHP‌خودمان را mail.php3 بگذاريم تا هنگام ارسال درخواست به مشكل بر نخوريم.

خب كافي هستش شما برنامه notepad رو اجرا كنيد و كد زير را در آن قرار دهيد:

mail("ايميلي كه به آن ارسال ميشود", $subject, $message, "From: PHPMailer\nReply-To: $from\nX-Mailer: PHP/" . phpversion());
?>

بعد فايل را به نام mail.php3‌ذخيره كنيد. حالا در مورد دستوارت به كار رفته در اين كد به مختصر توضيح مي دهم:

دستور mail از دستورات تعريف شده زبان برنامه نويسي php مي باشد (براي اطلاعات بيشتر به سايت php‌مراجعه كنيد)

در قسمتي كه نوشته شده است ايميلي كه به آن ارسال مي شود، محلي است كه شما بايد ايميل خود را وارد كنيد. (مشا ميتوانيد با تغيير در اين قسمت محل ارسال نامه را توسط كاربر معين كنيد )

قسمتهايي كه با $subject و $message مشخص شده اند مربوط به مقاديري هستند كه شما در فايل فلشتون از كاربر دريافت كرده ايد.

خب حالا برنامه شما تكميل شد و وقتي كاربر فرم فلش رو پر ميكنه و بر روي كليد Send‌ميزنه ايميل ارسال ميشود


[url=http://farhad3614.persiangig.com/Program/Script/Form2Maill.zip]سورس اين آموزش رو بصورت ZIP شده در سايت قرار داده ام تا علاقه مندان آنرا دريافت نمايند و از آن جهت كارهاي خودشون استفاده كنند.

[/url]
Captain
Captain
نمایه کاربر
پست: 1790
تاریخ عضویت: یک‌شنبه ۶ فروردین ۱۳۸۵, ۳:۴۹ ب.ظ
سپاس‌های ارسالی: 8 بار
سپاس‌های دریافتی: 258 بار

پست توسط Saeid12345 »

آقا فرهاد دستتان درد نکند واقعا عالي بود. :smile:

من يک ماه پيش يک کد php با يک فايل flash براي قسمت سفارش سايتم تهيه کردم و تست هم کردم و خوب هم کار کرد. ولي يک مشکلي بوجود آمد و اونم اينکه ايميل مشتري در قسمت فرستنده در inbox ديده نميشد و بجاش مينوشت nobody که کدها رو هم تغيير دادم ولي باز هم مشکل رفع نشد!
البته هم اکنون بجاي فرم فلش از فرم html استفاده ميکنم که مشکلم رفع شده است.
Incredible Poster
Incredible Poster
نمایه کاربر
پست: 3047
تاریخ عضویت: جمعه ۷ بهمن ۱۳۸۴, ۹:۴۱ ب.ظ
سپاس‌های ارسالی: 58 بار
سپاس‌های دریافتی: 384 بار
تماس:

پست توسط Farhad3614 »

Saeid12345 خواهش ميکنم دوست عزيز.

منظور شما اينه که وقتي طرف فرم سفارش رو پر ميکنه ايميلش براي شما فرستاده نميشه ؟ :-(
Captain
Captain
نمایه کاربر
پست: 1790
تاریخ عضویت: یک‌شنبه ۶ فروردین ۱۳۸۵, ۳:۴۹ ب.ظ
سپاس‌های ارسالی: 8 بار
سپاس‌های دریافتی: 258 بار

پست توسط Saeid12345 »

شما سري به آدرس زير بزن :

[External Link Removed for Guests]

خوب شما فرم سفارش را مشاهده ميکنيد که قبلا يعني چند هفته قبل از نوع فلش بود.
اصولا بايد وقتي در قسمت ايميل ، مشتري ايميلش را وارد ميکند ، بايد اين ايميل به عنوان ايميل فرستنده در نظر گرفته شود که گرفته نميشد!
تمام کدها هم صحيح بود و بقيه گزينه ها کاملا صحيح کار ميکردن ولي قسمت ايميل کار نميکرد!
مثلا وقتي ايميل a@a.com وارد شود بايد در email inbox و در قسمت from نوشته شود a@a.com که نوشته ميشد nobody بعدش هم يک error مينوشت!

:-(
New Member
پست: 1
تاریخ عضویت: پنج‌شنبه ۱۲ دی ۱۳۹۲, ۱۲:۲۹ ق.ظ

Re: ارسال ايميل در فلش با استفاده از PHP

پست توسط alireza1500 »

سلام.ممنونم
من یه مشکلی با این کد داشتم ودارم:
من اموزشو خوندم وفایلیو که برای دانلود گذاشته بودی رو دانلودش کردم واز همون استفاده کردم.
ولی وقتی اجراش میکنم همه خوب کار میکنن ولی به ایمیلم چیزی ارسال نمیشه.بارها تستش هم کردم
ممنون میشم راهنماییم کنین.
ارسال پست

بازگشت به “طراحي صفحات اينترنتي”