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

Incredible Poster



نماد کاربر
پست ها

3047

تشکر کرده: 0 مرتبه
تشکر شده: 28 مرتبه
تاريخ عضويت

جمعه 7 بهمن 1384 21:41

آرشيو سپاس: 408 مرتبه در 218 پست

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

توسط Farhad3614 » سه شنبه 25 مهر 1385 12:59

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

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

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

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

 لينکها براي کاربران مهمان قابل دسترسي نيست، براي مشاهده ي لينکها لطفا ثبت نام کرده و وارد شويد 

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

 لينکها براي کاربران مهمان قابل دسترسي نيست، براي مشاهده ي لينکها لطفا ثبت نام کرده و وارد شويد 

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

 لينکها براي کاربران مهمان قابل دسترسي نيست، براي مشاهده ي لينکها لطفا ثبت نام کرده و وارد شويد 

چنانچه مايل باشيد مي توانيد در فريمهاي 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 قرار دهيد.

 لينکها براي کاربران مهمان قابل دسترسي نيست، براي مشاهده ي لينکها لطفا ثبت نام کرده و وارد شويد 

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

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‌ ايجاد كنيد. در اين فريم يك جمله تشكر يا هر چيز ديگر بنويسيد . اين فريم پس از ارسال ايميل نمايش داده مي شود. به عنوان مثال من در اين فريم از ارسال ايميل كاربر تشكر كرده ام :

 لينکها براي کاربران مهمان قابل دسترسي نيست، براي مشاهده ي لينکها لطفا ثبت نام کرده و وارد شويد 


حالا بر روي فريم دوم كليد سمت راست ماوس را بفشاريد و گزينه 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



نماد کاربر
پست ها

1791

تشکر کرده: 0 مرتبه
تشکر شده: 30 مرتبه
تاريخ عضويت

يکشنبه 6 فروردین 1385 15:49

آرشيو سپاس: 260 مرتبه در 163 پست

توسط Saeid12345 » سه شنبه 25 مهر 1385 13:05

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

من يک ماه پيش يک کد php با يک فايل flash براي قسمت سفارش سايتم تهيه کردم و تست هم کردم و خوب هم کار کرد. ولي يک مشکلي بوجود آمد و اونم اينکه ايميل مشتري در قسمت فرستنده در inbox ديده نميشد و بجاش مينوشت nobody که کدها رو هم تغيير دادم ولي باز هم مشکل رفع نشد!
البته هم اکنون بجاي فرم فلش از فرم html استفاده ميکنم که مشکلم رفع شده است.

Incredible Poster

Incredible Poster



نماد کاربر
پست ها

3047

تشکر کرده: 0 مرتبه
تشکر شده: 28 مرتبه
تاريخ عضويت

جمعه 7 بهمن 1384 21:41

آرشيو سپاس: 408 مرتبه در 218 پست

توسط Farhad3614 » سه شنبه 25 مهر 1385 13:36

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

منظور شما اينه که وقتي طرف فرم سفارش رو پر ميکنه ايميلش براي شما فرستاده نميشه ؟ :-(

Captain

Captain



نماد کاربر
پست ها

1791

تشکر کرده: 0 مرتبه
تشکر شده: 30 مرتبه
تاريخ عضويت

يکشنبه 6 فروردین 1385 15:49

آرشيو سپاس: 260 مرتبه در 163 پست

توسط Saeid12345 » سه شنبه 25 مهر 1385 13:49

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

http://www.****.com/order.htm

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

:-(

New Member



no avatar
پست ها

1

تشکر کرده: 0 مرتبه
تشکر شده: 0 مرتبه
تاريخ عضويت

پنج شنبه 12 دی 1392 00:29

آرشيو سپاس: 0 مرتبه در 0 پست

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

توسط alireza1500 » پنج شنبه 12 دی 1392 00:36

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


 


  • موضوعات مشابه
    پاسخ ها
    بازديدها
    آخرين پست

چه کسي حاضر است ؟

کاربران حاضر در اين انجمن: بدون كاربران آنلاين و 3 مهمان