رفتن به مطلب

پست های پیشنهاد شده

درود بر شما

ضمن تبریک سال نو و آروزی سالی پر برکت و خوش برای تک تک جومینایی های عزیز و هموطنان گل

چند وقتی به خاطر مشکلات شخصی تو تالار نبودم و گفتم حالا که مجدد اومدم خدمت دوستان یک آموزش که همیشه درخواست زیادی هم داره رو به عنوان هدیه سال نو من به جومینا و کاربران گل آن بدهم.

امیدوارم که مفید واقع شود

بدون مقدمه آموزش را شروع می کنیم.
بخش اول :
اول شما به یک پنل پیامک نیاز دارید.می توانید از صفحه اصلی سایت پیامک ایرانیان پنل ها و تعرفه ها را مشاهده و اقدام به خرید کنید.

توجه کنید این آموزش ربطی به پنل خاصی از شرکت خاصی ندارد و هر کسی می تواند هر پنلی از هر شرکتی که دارد برای این کار استفاده کند.
در قدم بعد شما نیاز به یک وب سرویس(API) دارید.
به عنوان مثال وب سرویس پیامک ایرانیان را می توانید از اینجا مشاهده کنید.
در قدم آخر از بخش اول باید کامپوننت RSform را بر روی جوملا خود نصب کنید.
بخش دوم :
وارد کامپوننت RSForm شوید.
بر روی منوی "مدیریت فرم ها" کلیک و گزینه جدید را بزنید.

تصویر1

مراحل ایجاد یک فرم را انجام داده تا وارد صفحه ویرایش فرم شوید.
یک فرم بسیار ساده بسازید.به فرض مثال یک فیلد "متنی" به علاوه یک "دکمه ارسال" که بتوانیم هم در ادامه از مقدار این فیلد در متن پیامک استفاده کنیم و هم وقت زیادی روی ساخت فرم نگذاریم.بعد از ساختن روی گزینه "خواص" کلیک کنید.

تصویر2

سپس روی گزینه ی "اسکریپت ها" کلیک کنید.

تصویر3

RSForm بطور پیشفرض قابلیت های زیادی را به کاربران می دهد.یکی از آن قابلیت ها اجرا کدهای اضافی و خاص در هنگام پردازش فرم و بعد از پردازش فرم را به ما می دهد.در حقیقت همین قابلیت است که می توانیم به پنل اس ام اس متصل کنیم.
برای این که متوجه شویم چگونه باید این کار را بکنیم لطفا دقیق به چند خط توضیح پایین توجه کنید.
وقتی روی منوی "اسکریپت ها" کلیک کردید 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 مراجعه کنید.

 

لطفا در هنگام کپی برداری از آموزش نام منبع را ذکر کنید
سپاس گذاریم

ویرایش شده توسط محمدحسین میری

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

با سلام و عرض تشكر خدمت جناب ميري

ميخواستم بدونم نمونه كدهاي زير رو كه براتون گذاشتم و مربوط به پنل پيامك من هستش رو چطور بايد جايگزين بشه

هر كاري كردم نشد

لطفا راهنماييم كنيد

ممنون

<?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";
?>

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

درود بر شما

 

هر پنلی برای خود یک سری api هایی داره

بنده از api پیامک شما اطلاع چندانی ندارم.اما باید از شرکتی که خدمات می گیرید باید بخواهید به شما وب سرویس ارسال پیامک یا همان کد  sample ارسال پیامک رو بهتون بدن

بعد طبق آموزش عمل کنید

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

درود بر شما

 

هر پنلی برای خود یک سری api هایی داره

بنده از api پیامک شما اطلاع چندانی ندارم.اما باید از شرکتی که خدمات می گیرید باید بخواهید به شما وب سرویس ارسال پیامک یا همان کد  sample ارسال پیامک رو بهتون بدن

بعد طبق آموزش عمل کنید

اين درست همون كدي sample هستش كه سرويس پيامكم در اختيارم گذاشته

نميدونم چطور بايد جايگزينش كنم

ممنون ميشم راهنماييم كنيد

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

درود بر شما

 

تمامی کدها را باید در یکی از ان کادر ها قرار بدید.

متغییر هایی که باید مقدار دهی شوند را مقدار کنید و بقیه کارها را خود وب سرویس انجام می دهد.

بنده اطلاعی از وب سرویس شما ندارم که به چه صورتی است.از سایت خدمات دهنده باید جویا شوید

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

من برای وب سرویس اقدام کردم.کدهایی که از سرویس دهنده گرفتم به طوری است که داخل کد به یک فایل لینک داده شده است و سرویس دهنده گفته که این فایل و داخل همون مسیر اپلود کنید.
کد تست به شرح زیر است


<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

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

به گفتگو بپیوندید

هم اکنون می توانید ارسال داشته باشید و بعد ثبت نام خود را در سایت کامل نمایید. اگر حساب کاربری در سایت دارید، جهت ارسال با حساب کاربری خود هم اکنون وارد سایت شوید

مهمان
ارسال پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.


×
×
  • افزودن...