-
September 24th, 2013, 17:18
#1
راهنمایی مهم فوری
سلام من دارم از یک شرکت وب سرویس پیامک میگیرم
که به فرمم بچسبونم که دگمه ارسال زده بشه یک اس ام اس هم بیاد واسه موبایل
حالا وب سروی ها یک کدی دارن که توش یک متغییر به نام $tesxt هست
که متن رو به موبایل sms میکنه
حالا من می خوام پیام این مسج حاوی فیلدهایی که در زمان پر شدن فرم تکمیل میشه ارسال بشه
چطور باید انجام بدم
مرسی
کد PHP:
<?php// turn off the WSDL cacheini_set("soap.wsdl_cache_enabled", "0"); try {$client = new SoapClient("http://www.YourSite.com/post/send.asmx?wsdl"); $parameters['username'] = "wsdemo"; $parameters['password'] = "wsdemo"; $parameters['from'] = "10000XXXXX"; $parameters['to'] = array("912YYYYYYYY"); $parameters['text'] =iconv($encoding, 'UTF-8//TRANSLIT',"ÊÓÊ"); $parameters['isflash'] = true; $parameters['udh'] = ""; $parameters['recId'] = array(0); $parameters['status'] = 0x0;echo $client->GetCredit(array("username"=>"wsdemo","password"=>"wsdemo"))->GetCreditResult;echo $client->SendSms($parameters)->SendSmsResult;echo $status; } catch (SoapFault $ex) { echo $ex->faultstring;}?>
-
-
September 24th, 2013 17:18
# ADS
-
September 24th, 2013, 17:32
#2
عضو انجمن
پاسخ : راهنمایی مهم فوری
این کد بالا چی هست؟
مگه می خواید از Soap استفاده کنید؟
-
-
September 24th, 2013, 19:40
#3
پاسخ : راهنمایی مهم فوری
نه این کدو به من اون سرویس دهنده داده بود
حالا من می خوام فرمی درست بشه فیل ها رو با خودش ارسال کنه به موبایل
Soap یعنی چی؟
-
-
September 24th, 2013, 22:22
#4
پاسخ : راهنمایی مهم فوری
باید ابتدا فایل و بخشی از کدهای PHP فورومتون رو بیابید که مقادیر فیلدها به اون فایل پست میشه، سپس اون قسمت از کدهای PHP فوروم باید بررسی بشه و مقادیر مورد نظر شما ازش استخراج بشه (مثلا نام کاربری-تاریخ تولد و...) سپس تمامی این مقادیر در قالب یک متن در متغیر $parameters['text'] قرار بگیره و با فراخوانی توابع اس ام اس، اینکار انجام بشه.در مجموع اگه اسکریپت فورمتون اینکریپت (رمزنگاری) نشده باشه، کار مشکلی نیست.
-
-
September 25th, 2013, 07:09
#5
عضو جدید
پاسخ : راهنمایی مهم فوری
سلام دوست عزیز،
ببینید شما نیاز دارید از وب سرویس شرکت ارائه دهنده ی پیامک استفاده کنید. php یک کلاس به نام SoapClinet داره که با استفاده از اون می تونید به وب سرویس متصل بشید و متدهای اون رو فراخوانی کنید. خب ما فرض می کنیم که شماره ی موبایل دریافت کننده در متغیر $mobile و پیام ارسال شده در متغیر $message ذخیره شده باشه. شما باید کدی شبیه به کد زیر داشته باشید تا کارتون رو راه بندازه. دقت کنید که کد دقیقا همونی هست که خودتون توی پستتون گذاشته بودید با این فرق که من خط 10 و 11 رو ادیت کردم.
کد PHP:
<?php
// turn off the WSDL cache
ini_set("soap.wsdl_cache_enabled", "0");
try {
$client = new SoapClient("http://www.YourSite.com/post/send.asmx?wsdl");
$parameters['username'] = "wsdemo";
$parameters['password'] = "wsdemo";
$parameters['from'] = "10000XXXXX";
$parameters['to'] = array("$mobile");
$parameters['text'] =iconv($encoding, 'UTF-8//TRANSLIT',"$message");
$parameters['isflash'] = true;
$parameters['udh'] = "";
$parameters['recId'] = array(0);
$parameters['status'] = 0x0;
echo $client->GetCredit(array("username"=>"wsdemo","password"=>"wsdemo"))->GetCreditResult;
echo $client->SendSms($parameters)->SendSmsResult;echo $status;
}
catch (SoapFault $ex) {
echo $ex->faultstring;
}
?>
-
-
September 25th, 2013, 17:20
#6
پاسخ : راهنمایی مهم فوری
الان اون شرکت 3 تا فایل php به من داد که گیجم کرد میشه واسم یک توضیح بدبن و اون چیری که من می خوام بگین توی کدام قیمت بزارم رکوردهایی که کاربر پرمیکنه اونه با موبایل اس ام اس کنه
کد PHP:
<?php// turn off the WSDL cache
ini_set("soap.wsdl_cache_enabled", "0");$sms_client = new SoapClient('http://www.webservicesms.parcsgreen.com/post/send.asmx?wsdl', array('encoding'=>'UTF-8'));
$parameters['username'] = "WST970"; // نام کاربری$parameters['password'] = "12345"; // رمز ورود$parameters['to'] = "912245....";$parameters['from'] = "10001391"; // شماره پیامک$parameters['text'] ="تست"; // متن$parameters['isflash'] =false;
echo $sms_client->SendSimpleSMS2($parameters)->SendSimpleSMS2Result;
?>
کد PHP:
<?php require_once('nusoap.php'); $client = new nusoap_client('http://www.webservicesms.parsgreen.com/post/send.asmx?wsdl');
$err = $client->getError();
if ($err) { echo 'Constructor error' . $err; }
$parameters['username'] = "WST1000"; // نام کاربری$parameters['password'] = "12345"; // رمز$parameters['to'] = "9122456346"; // موبایل$parameters['from'] = "10001391"; // شماره پیامک$parameters['text'] ="تست"; // متن پیامک$parameters['isflash'] =false; // پیامک عادی یا فلش
$result = $client->call('SendSimpleSMS2', $parameters); print_r($result);
?>
کد PHP:
<?php// turn off the WSDL cacheini_set("soap.wsdl_cache_enabled", "0"); try {$client = new SoapClient("http://www.webservicesms.parsgreen.com/post/send.asmx?wsdl"); $parameters['username'] = "pg1000"; // نام کاربری $parameters['password'] = "pars19"; // رمز ورود $parameters['from'] = "10002177746790"; // شماره پیامک $parameters['to'] = array("9122456346"); $parameters['text'] =iconv($encoding, 'UTF-8//TRANSLIT',"سلام"); // متن پیامک $parameters['isflash'] = true; // پیامک عادی یافلش $parameters['udh'] = ""; $parameters['recId'] = array(0); // کد رهیگیری $parameters['status'] = 0x0; // وضعیت ارسال//echo $client->GetCredit(array("username"=>"WST769","password"=>"12345"))->GetCreditResult;echo $client->SendSms($parameters)->SendSmsResult;echo $status; } catch (SoapFault $ex) { echo $ex->faultstring;}?>
-
-
September 25th, 2013, 18:39
#7
پاسخ : راهنمایی مهم فوری
پست من رو خوندی؟چیزی نباید داخل این کدها قرار بدی! بلکه این کدها رو باید داخل اسکریپت فورومت قرار بدی. اسکریپت فورومت چیه؟ وی بی یا phpbb یا...
-
-
September 25th, 2013, 19:47
#8
عضو جدید
پاسخ : راهنمایی مهم فوری
دوست عزیز سه تا قطعه کد بالا هم ارز همدیگه هستند و شما می تونید از هر کدوم که مایل باشید استفاده کنید. نمونه کد دوم از کتابخانه ی nusoap استفاده می کند که برای راه انداختن آن باید nusoap را به فایل هاتون اضافه کنید. با توجه به اینکه کاربرد شما خیلی محدوده فرقی بیت SOAP و nusoap نیست و بهتره از Soap استفاده کنید چون کلاسش داخل php موجوده.
من نمونه کد سوم رو به شما پیشنهاد می کنم چون ساختار بهتری داره و برای تشخیص رخداد خطاهای احتمالی هم راه حل پیش بینی کرده.
اگر لطف کنید دقیقا مورد کاربردتون رو توضیح بدید می تونم بیشتر راهنماییتون کنم.
-
-
September 25th, 2013, 19:53
#9
پاسخ : راهنمایی مهم فوری
ببخشید که مزاحم میشم ولی خیلی گیرم
ببین من با اچ تی ام ال یک فرم سفارش دارم می سارم که محتویات بره به ایمیل
حالا تا اینجا درست -حالا می خوام این محتویات وقتی فرم ارسال بشه هم یدونه بره به ایمیل هم محتویایت که کاربر فرم سفارشو پر میکنه که مثلا نام و...
را همون هم بره توی پیامک اگه ممکنه منو راهنمایی کینید ....
میشه؟ پس شما میگین که از حالات سوسی استفاده کنم هیچ مشکلی پیش نمیاید
-
-
September 25th, 2013, 20:09
#10
عضو جدید
پاسخ : راهنمایی مهم فوری
خب فرض می کنیم فرم شما دارای این پارامترها باشه:
- Name
- Mobile
- Product
خیلی ساده فرض کردیم ولی برای بررسی کافیه؛ شما همچین کدی نیاز خواهید داشت:
کد PHP:
<html>
<head>
</head>
<body>
<?php
// turn off the WSDL cache
if (isset($_POST['order']))
{
$name = $_POST['name'];
$mobile = $_POST['mobile'];
$product = $_POST['product'];
ini_set("soap.wsdl_cache_enabled", "0");
try {
$client = new SoapClient("http://www.webservicesms.parsgreen.com/post/send.asmx?wsdl");
$parameters['username'] = "pg1000"; // نام کاربری
$parameters['password'] = "pars19"; // رمز ورود
$parameters['from'] = "10002177746790"; // شماره پیامک
$parameters['to'] = array("$mobile");
$parameters['text'] =iconv($encoding, 'UTF-8//TRANSLIT',"$name:$product"); // متن پیامک
$parameters['isflash'] = true; // پیامک عادی یافلش
$parameters['udh'] = "";
$parameters['recId'] = array(0); // کد رهیگیری
$parameters['status'] = 0x0; // وضعیت ارسال//
echo $client->GetCredit(array("username"=>"WST769","password"=>"12345"))->GetCreditResult;
echo $client->SendSms($parameters)->SendSmsResult;echo $status;
}
catch (SoapFault $ex)
{
echo $ex->faultstring;
}
}
?>
<form method="POST">
<input type="text" name="name" />
<input type="text" name="mobile" />
<input type="text" name="product" />
<input type="submit" name="order" />
</form>
</body>
</html>
-