محمدحسین میری 3,094 ارسال شده در فروردین 93 (ویرایش شده) درود بر شماضمن تبریک سال نو و آروزی سالی پر برکت و خوش برای تک تک جومینایی های عزیز و هموطنان گلچند وقتی به خاطر مشکلات شخصی تو تالار نبودم و گفتم حالا که مجدد اومدم خدمت دوستان یک آموزش که همیشه درخواست زیادی هم داره رو به عنوان هدیه سال نو من به جومینا و کاربران گل آن بدهم.امیدوارم که مفید واقع شودبدون مقدمه آموزش را شروع می کنیم.بخش اول :اول شما به یک پنل پیامک نیاز دارید.می توانید از صفحه اصلی سایت پیامک ایرانیان پنل ها و تعرفه ها را مشاهده و اقدام به خرید کنید.توجه کنید این آموزش ربطی به پنل خاصی از شرکت خاصی ندارد و هر کسی می تواند هر پنلی از هر شرکتی که دارد برای این کار استفاده کند.در قدم بعد شما نیاز به یک وب سرویس(API) دارید.به عنوان مثال وب سرویس پیامک ایرانیان را می توانید از اینجا مشاهده کنید.در قدم آخر از بخش اول باید کامپوننت RSform را بر روی جوملا خود نصب کنید.بخش دوم :وارد کامپوننت RSForm شوید.بر روی منوی "مدیریت فرم ها" کلیک و گزینه جدید را بزنید.تصویر1مراحل ایجاد یک فرم را انجام داده تا وارد صفحه ویرایش فرم شوید.یک فرم بسیار ساده بسازید.به فرض مثال یک فیلد "متنی" به علاوه یک "دکمه ارسال" که بتوانیم هم در ادامه از مقدار این فیلد در متن پیامک استفاده کنیم و هم وقت زیادی روی ساخت فرم نگذاریم.بعد از ساختن روی گزینه "خواص" کلیک کنید.تصویر2سپس روی گزینه ی "اسکریپت ها" کلیک کنید.تصویر3RSForm بطور پیشفرض قابلیت های زیادی را به کاربران می دهد.یکی از آن قابلیت ها اجرا کدهای اضافی و خاص در هنگام پردازش فرم و بعد از پردازش فرم را به ما می دهد.در حقیقت همین قابلیت است که می توانیم به پنل اس ام اس متصل کنیم.برای این که متوجه شویم چگونه باید این کار را بکنیم لطفا دقیق به چند خط توضیح پایین توجه کنید.وقتی روی منوی "اسکریپت ها" کلیک کردید 3 کادر بزرگ مشاهده می کنید.1 : فراخوانی اسکریپت هنگام نمایش فرم2 : نمایش اسکریپت هنگام پردازش فرم3 : فراخوانی اسکریپت پس از اتمام پردازش موفقبه ترتیب توضیح خواهم داد.اولی برای آن است که هر کدی که در این کادر قرار دهید زمانی که کاربر وارد صفحه تکمیل فرم می شود این کد اجرا می شود.دوم برای آن است که هر کدی که در این کادر قرار دهید زمانی که کاربر دکمه ارسال اطلاعات را بزند کد اجرا می شود.سوم برای آن است هر کدی که در این کادر قرار دهید زمانی که فرم بصورت موفق پردازش و در بانک اطلاعاتی ذخیره شد کد اجرا خواهد شد.این مورد برای فرم هایی که به درگاه بانکی متصل هستند و برای پردازش موفق به کد تراکنش بانک نیاز دارند بسیار کار آمد خواهد بود.گزینه دوم فقط جهت تکمیل فرم ارسال می شود و کاری به کد تراکنش بانکی ندارد.خب حالا در نظر بگیرید ما وب سرویس (API) ارسال پیامک را درون یکی از دو قسمت دوم یا سوم قرار دهیم.چه اتفاقی خواهد افتاد؟(بخش اول مد نظر ما نیست)اتفاقی که می افتد یک پیامک به مقادیر پر شده توسط ما ارسال می شود. و فقط زمانی ارسال می شود که فرم تکمیل و یا کد تراکنش بانک به منظور پرداخت موفق به کامپوننت داده شود.به مثال زیر توجه کنید.بنده الان کد وب سرویس پیامک ایرانیان را در کادر سوم قرار می دهم و به متتغیر های آن مقدار های لازم را می دهم.(اینجا منظور اطلاعات پنلی است که در پیامک ایرانیان وجود دارد)تصویر4 خب الان بنده به متغییر های آن اطلاعاتی که باید داده شود تا با پنل من در پیامک ایرانیان ارتباط برقرار کند می دهم. $phone="09121111111"; به متغیر بالا شماره تلفن همراهی که باید پیامک به آن ارسال شود را داده ام.اگر چند شماره می باشد می توانید با کاما انها را از هم جدا کنید.پیامک به همه ی آنها ارسال می شود. $msg="matn-payamak"; مقداری که به متغیر بالا بدهید متن پیامکی است که به شماره ها ارسال می شود. $user="user1"; متغیر بالا نام کاربری شما در پنل پیامک ایرانیان می باشد.به فرض مثال ما در اینجا user1 قرار داده ایم. $pass="123456"; متغیر بالا شامل کلمه عبور پنل شما در پیامک ایرانیان می باشد. $from="30001222282222"; متغیر بالا شامل شماره خط اختصاصی شما می شود.این را شما بصورت اختصاصی خریداری کرده و ان را در این متغیر وارد می کنید.در آخر بصورت زیر می شود : $phone = '9121111111'; $msg = 'matn-payamak'; $user = 'user1'; $pass = '123456'; $from = 30001222282222; $url = 'http://ir-payamak.com/sendsms.php'; $fields = array( 'programmer'=>"5", 'username'=>"$user", 'password'=>"$pass", 'from'=>"$from", 'to'=>"$phone", 'text'=>("$msg"), 'isflash'=>"", 'udh'=>"" ); foreach($fields as $key=>$value) { $fields_string .= $key.'='.$value.'&'; } rtrim($fields_string,'&'); //open connection $ch = curl_init(); //set the url, number of POST vars, POST data curl_setopt($ch,CURLOPT_URL,$url); curl_setopt($ch,CURLOPT_POST,count($fields)); curl_setopt($ch,CURLOPT_POSTFIELDS,$fields_string); //execute post $result = curl_exec($ch); //close connection curl_close($ch); زمانی که فرم ما ارسال شود یک پیامک از شماره ی 30001222282222 به شماره ی 09121111111 با متن "matn-payamak" ارسال می شود.(دقت کنید نام کاربری و کلمه عبور پنل تان را بدرستی وارد کنید)حال شاید برای بعضی از دوستان پیش بیاید که بخواهند پیامک به شماره ی همراه کاربر که در فیلد فرم وارد کرده است ارسال شود.برای این کار باید کمی به زبان php آشنایی داشته باشید.در هنگام ساخت فرم یک فیلد برای شماره همراه کاربر قرار می دهید تا کاربر شماره همراه خود را در ان فیلد وارد کند.دقیقا مانند تصویر زیر. در قیمت نام شما باید نام عنصر را به لاتین وارد کنید.ما در اینجا کلمه ی cellphone را وارد کرده ایم.تصویر5خب برای گرفتن شماره تلفن همراه کاربر بعد از تکمیل و ارسال فرم که در این فیلد وارد کرده از کد زیر در همان بخش "اسکریپت ها" که کد API را قرار داده ایم استفاده می کنیم.کد زیر را به اول کادر "اسکریپت ها" قرار دهید. $phone = $_POST['form']['cellphone']; $phone همان متغیری است که در بالا ما یک شماره به آن داده بودیم.اما اینجا ما با کمک $_POST توانستیم شماره همراه کاربر که در هنگام تکمیل فرم پر کرده است را بگیریم.دقت کنید که در کد بالا کلمه ی cellphone همان نام عنصر ما می باشد و هر چه شما در انجا قرار بدهید باید اینجا ویرایش کنید.کد ویرایش شده بصورت زیر می شود : $phone = $_POST['form']['cellphone']; $msg = 'matn-payamak'; $user = 'user1'; $pass = '123456'; $from = 30001222282222; $url = 'http://ir-payamak.com/sendsms.php'; $fields = array( 'programmer'=>"5", 'username'=>"$user", 'password'=>"$pass", 'from'=>"$from", 'to'=>"$phone", 'text'=>("$msg"), 'isflash'=>"", 'udh'=>"" ); foreach($fields as $key=>$value) { $fields_string .= $key.'='.$value.'&'; } rtrim($fields_string,'&'); //open connection $ch = curl_init(); //set the url, number of POST vars, POST data curl_setopt($ch,CURLOPT_URL,$url); curl_setopt($ch,CURLOPT_POST,count($fields)); curl_setopt($ch,CURLOPT_POSTFIELDS,$fields_string); //execute post $result = curl_exec($ch); //close connection curl_close($ch); مشاهده می کنید که این پیامک بعد از پردازش فرم به کار ارسال می شود. چون شماره ان را گرفتیم و به متغیر $phone دادیم.بقیه کارها را خود سیستم انجام می دهد.با این روش شما می توانید هر مقداری را از هر عنصری در فرم تان بگیرید و به کاربر یا خودتان یا هر کسی که بخواهید آن را پیامک کنید.امیدوارم این آموزش به طراحان وب کشورمان کمکی کرده باشد.این تاپیک فقط جنبه ی آموزشی داشته و برای سوالات متفرقه به سایت پیامک ایرانیان به نشانی http://ir-payamak.com مراجعه کنید. لطفا در هنگام کپی برداری از آموزش نام منبع را ذکر کنیدسپاس گذاریم ویرایش شده فروردین 93 توسط محمدحسین میری 5 واکنش ها : alikarimi8، MyroxSoft، مصطفی صفرعلی و 2 نفر دیگر نقل قول به اشتراک گذاری این ارسال لینک به ارسال به اشتراک گذاری در سایت های دیگر
mk21 56 ارسال شده در فروردین 93 با سلام و عرض تشكر خدمت جناب ميري ميخواستم بدونم نمونه كدهاي زير رو كه براتون گذاشتم و مربوط به پنل پيامك من هستش رو چطور بايد جايگزين بشه هر كاري كردم نشد لطفا راهنماييم كنيد ممنون <?php require_once('lib/nusoap.php'); $url="http://192.168.128.90/ws/sms.asmx?WSDL"; $client=new nusoap_client($url, 'wsdl'); $client->soap_defencoding = 'UTF-8'; $client->decode_utf8 = true; $param=array('requestData'=> '<xmsrequest> <userid>?????</userid> <password>??????</password> <action>smssend</action> <body> <type>oto</type> <recipient mobile="9121000000" originator="500021" doerid="8" >Test</recipient> </body> </xmsrequest>'); $result = $client->call('XmsRequest', $param); echo $result["XmsRequestResult"]; if ($client->fault) { echo '<h2>Fault</h2><pre>'; print_r($result); echo '</pre>'; } else { // Check for errors $err = $client->getError(); if ($err) { // Display the error echo '<h2>Error</h2><pre>' . $err . '</pre>'; } else { // Display the result echo '<h2>Result</h2><pre>'; print_r($result); echo '</pre>'; } } echo '<h2>Request</h2><pre>' . htmlspecialchars($client->request, ENT_QUOTES) . '</pre>'; echo '<h2>Response</h2><pre>' . htmlspecialchars($client->response, ENT_QUOTES) . '</pre>'; echo '<h2>Debug</h2><pre>' . htmlspecialchars($client->debug_str, ENT_QUOTES) . '</pre>'; echo "\n"; ?> نقل قول به اشتراک گذاری این ارسال لینک به ارسال به اشتراک گذاری در سایت های دیگر
محمدحسین میری 3,094 ارسال شده در فروردین 93 درود بر شما هر پنلی برای خود یک سری api هایی داره بنده از api پیامک شما اطلاع چندانی ندارم.اما باید از شرکتی که خدمات می گیرید باید بخواهید به شما وب سرویس ارسال پیامک یا همان کد sample ارسال پیامک رو بهتون بدن بعد طبق آموزش عمل کنید نقل قول به اشتراک گذاری این ارسال لینک به ارسال به اشتراک گذاری در سایت های دیگر
mk21 56 ارسال شده در فروردین 93 درود بر شما هر پنلی برای خود یک سری api هایی داره بنده از api پیامک شما اطلاع چندانی ندارم.اما باید از شرکتی که خدمات می گیرید باید بخواهید به شما وب سرویس ارسال پیامک یا همان کد sample ارسال پیامک رو بهتون بدن بعد طبق آموزش عمل کنید اين درست همون كدي sample هستش كه سرويس پيامكم در اختيارم گذاشته نميدونم چطور بايد جايگزينش كنم ممنون ميشم راهنماييم كنيد نقل قول به اشتراک گذاری این ارسال لینک به ارسال به اشتراک گذاری در سایت های دیگر
محمدحسین میری 3,094 ارسال شده در فروردین 93 درود بر شما تمامی کدها را باید در یکی از ان کادر ها قرار بدید. متغییر هایی که باید مقدار دهی شوند را مقدار کنید و بقیه کارها را خود وب سرویس انجام می دهد. بنده اطلاعی از وب سرویس شما ندارم که به چه صورتی است.از سایت خدمات دهنده باید جویا شوید نقل قول به اشتراک گذاری این ارسال لینک به ارسال به اشتراک گذاری در سایت های دیگر
rivalboy 105 ارسال شده در فروردین 93 من برای وب سرویس اقدام کردم.کدهایی که از سرویس دهنده گرفتم به طوری است که داخل کد به یک فایل لینک داده شده است و سرویس دهنده گفته که این فایل و داخل همون مسیر اپلود کنید.کد تست به شرح زیر است <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Untitled Document</title> </head> <body> <?php $user='**********'; $pass='******'; $sender='*************'; require_once('nusoap.php'); $client = new soapclient("http://webservice.smsline.ir/index.php"); $err = $client->getError(); if (!$err) { $text="salam"; $reciver="9123423605"; $send = $client->call('SendSMS', array($user,$pass,$reciver,$text,$sender,"1") ); $err = $client->getError(); if ($err) print_r ($err); else { print_r($send); } } ?> </body> فایل هم که دادن به صورت در پیوست قرار میدم لطفا راهنمایی کنید چیکار باید کنم؟ http://www.uplooder.net/cgi-bin/dl.cgi?key=517621d8316de757e0b825de85ad1cb2 نقل قول به اشتراک گذاری این ارسال لینک به ارسال به اشتراک گذاری در سایت های دیگر