مقالات در زمینه طراحی و ساخت سایت و همچنین دامنه و هاستینگ

 

دارکوب ضمن تبریک ماه مباک رمضان، ماه میهمانی خدا، خدمات ثبت دامنه، اختصاص هاستینگ و طراحی وب سایت خود را با 10 درصد تخفیف تا عید فطر ارائه می نماید. ماه رمضان برای دارکوب جزو پر برکت ترین ماه ها بوده و قویتر از همیشه در جهت ارائه بهترین خدمات با کمترین هزینه ممکن در خدمات مشتریان عزیز خود خواهد بود. دارکوب از سال 1381 تا کنون در زمینه خدمات طراحی وب سایت و هاستینگ فعالیت می نماید و در این سال ها تجربه فراوانی در امر راه اندازی سایت ها بدست آمده است و حاصل آن پیاده سازی 2000 وب سایت می باشد.

 

از اخبار دارکوب در این ماه عزیز آن است که دارکوب در صدد راه اندازی سایت اینترنتی خرید و فروش رایگان اینترنتی می باشد که دموی اولیه آن در آدرس http://freed.ir می باشد که هدف از راه اندازی این سایت پیاده سازی مکانی می باشد تا کاربران اینترنت ایران بتوانند کالا و اجناس خود را در این سایت به فروش رسانند و همچنین خریداران با توجه به جستجوی تخصصی مربوط به هر دسته بندی می توانند کالای مورد نظر خود را به راحتی بیابند و خریداری نمایید. در حقیقت دارکوب قصد راه اندازی ebay.com در ایران را دارد که راه اندازی این سایت کمک به کاهش قیمت ها در کشور می نماید و خریداران در اینترنت می توانند به راحتی کالای مورد نظر خود را با پایین ترین قیمت بیابند و فروشندگان نیز همچنین می توانند در بستری مناسب کالاهای خود را عرضه نمایند. این پروژه نیز تا پایان ماه مبارک رمضان به بهره برداری خواهد رسید و تا آن زمان کاربران می توانند دموی اولیه را در آدرس http://freed.ir مشاهده نمایند.

رمضان برای دارکوب ماه تلاش می باشد و ساعات کاری خود را در این ماه عزیز کم ننموده است تا خللی در کسب و کار مشتریان ایجاد نگردد.

جهت ثبت سفارش به http://sitedar.com مراجعه نمایید.

سورس:

خدمات طراحی وب سایت و هاستینگ در ماه مبارک رمضان تا عید فطر

+ نوشته شده در دوشنبه بیست و چهارم آذر 1393 ساعت 12:21 توسط طراحی سایت دارکوب یک نظر

برنامه نویسی درگاه پرداخت آنلاین بانک ملت در PHP

برنامه نویسی درگاه با توجه به نیاز به استفاده از توابع Soap در PHP کاری بسیار چالش برانگیز بوده، زیرا این تابع در نسخه های مختلف PHP رفتار متفاوتی را از خود نشان می دهد. شرکت پرداخت بانک ملت کد نمونه ای را جهت اتصال به سرور پرداخت آنلاین که با استفاده از کتابخانه NuSOAP ارائه نموده که در سرورهایی با نسخه PHP 5.3 به بالا به مشکل بر می خورد. در بخش زیر نحوه برنامه نویسی درگاه پرداخت آنلاین توسط تابع SoapClient که از توابع داخلی PHP بوده را برای شما بیان می نمایم. قبل از هر چیز دقت نمایید این تابع در تنظیمات PHP فعال شده باشد . در صورت عدم فعال سازی با سرور خود تماس حاصل فرمایید.

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

* دقت نمایید جهت پرداخت آنلاین از طریق بانک ملت می بایست قبل از ارسال کاربر به صفحه پرداخت درخواست خود را از طریق SOAP به سرور ارسال نموده و تایید درخواست خود را بگیرید. برای انجام این کار از کد SoapClient استفاده می نماییم:

try { 
$client = @new SoapClient(https://bpm.shaparak.ir/pgwchannel/services/pgw?wsdl);
} catch (Exception $e) { 
die($e->getMessage()); 
}

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

// دریافت اطلاعات از کاربر

$namespace=http://interfaces.core.sw.bps.com/;
$terminalId = $_POST[TerminalId];
$userName = $_POST[UserName];
$userPassword = $_POST[UserPassword];
$orderId = filter_var($_POST[PayOrderId], FILTER_SANITIZE_NUMBER_INT);
$amount = $_POST[PayAmount];
//$date = date("YYMMDD");
//$time = date("HHIISS");
$localDate = $_POST[PayDate];
$localTime = $_POST[PayTime];
$additionalData = $_POST[PayAdditionalData];
$callBackUrl = $_POST[PayCallBackUrl];
$payerId = $_POST[PayPayerId];

// قرار دادن پارامترها در یک آرای
$parameters = array(
erminalId => $terminalId,
userName => $userName,
userPassword => $userPassword,
orderId => $orderId,
amount => $amount,
localDate => $localDate,
localTime => $localTime,
additionalData => $additionalData,
callBackUrl => $callBackUrl,
payerId => $payerId);


// ارسال درخواست پرداخت به سرور بانک
$result = $client->bpPayRequest($parameters, $namespace);

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

$res = @explode (,,$resultStr);
if(is_array($res)){

echo "<script>alert(Pay Response is : " . $resultStr . ");</script>";
echo "Pay Response is : " . $resultStr;

$ResCode = $res[0];

if ($ResCode == "0") {
// Update table, Save RefId
echo "<script language=javascript type= ext/javascript>postRefId(\" . $res[1] . ");</script>";

else {
// log error in app
// Update table, log the error
// Show proper message to user
}
}

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

 

<script language="javascript" type="text/javascript"> 
function postRefId (refIdValue) {
var form = document.createElement("form");
form.setAttribute("method", "POST");
form.setAttribute("action", "https://bpm.shaparak.ir/pgwchannel/startpay.mellat"); 
form.setAttribute("target", "_self");
var hiddenField = document.createElement("input"); 
hiddenField.setAttribute("name", "RefId");
hiddenField.setAttribute("value", refIdValue);
form.appendChild(hiddenField);

document.body.appendChild(form); 
form.submit();
document.body.removeChild(form);
}
</script>

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

 

$RefId = $_POST[RefId];
$ResCode = $_POST[ResCode];
$saleOrderId = $_POST[SaleOrderId];
$SaleReferenceId = $_POST[SaleReferenceId];

در صورتی که مقدار متغیر ResCode عددی جز 0 باشد به این معناست که خطایی در پرداخت رخ داده و می توانید کار را ادامه ندهید. در صورتی که مقدار ResCode برابر با 0 باشد می بایست پرداخت را تایید نمایید.

 

if($ResCode==0){

try { 
$client = @new SoapClient(https://bpm.shaparak.ir/pgwchannel/services/pgw?wsdl);
} catch (Exception $e) { 
die($e->getMessage()); 


$namespace=http://interfaces.core.sw.bps.com/;

$terminalId = terminalid;
$userName = "username";
$userPassword = "password";


$parameters = array(
erminalId => $terminalId,
userName => $userName,
userPassword => $userPassword,
orderId => $saleOrderId,
saleOrderId => $saleOrderId,
saleReferenceId => $SaleReferenceId);
$result = $client->bpVerifyRequest($parameters, $namespace);

$resultStr = $result->return;
$res = @explode (,,$resultStr);
if(is_array($res)){

echo "<script>alert(Pay Response is : " . $resultStr . ");</script>";
//echo "Pay Response is : " . $resultStr;

$ResCode = $res[0];

if ($ResCode == "0") {
// Update table, Save RefId
$resultsettle = $client->bpSettleRequest($parameters, $namespace);
$resultStrsettle = $resultsettle->return;
$ressettle = @explode (,,$resultStrsettle);
$ResCodesettle = $ressettle[0];
if ($ResCodesettle == "0") {
$paymentdone="done";
}

else {
// log error in app
// Update table, log the error
// Show proper message to user
}
}

در کد بالا تابع bpVerifyRequest عملیات تایید پرداخت را انجام می دهد و در صورتی که خروجی آن نیز 0 باشد می توانید وجه را از حساب کاربر با دستور bpSettleRequest به حساب خود منتقل نمایید. متغیر paymentdone زمانی برابر با done قرار داده می شود که پرداخت به درستی انجام شده باشد و واریز وجه به حساب شما انجام شده باشد. دقت نمایید ممکن است عملیات واریز وجه به حساب شما چندین ساعت طول بکشد. در بخش پایین همچنین آموزشی شرکت به پرداخت ملت را برای شما ضمیمه کردم تا بتوانید توضیحات بیشتر را مطالعه نمایید. در صورت وجود مشکل و یا سوال لطفا موارد را در بخش نظرات اعلام نمایید.

لینک:

برنامه نویسی درگاه پرداخت آنلاین بانک ملت

+ نوشته شده در سه شنبه هجدهم آذر 1393 ساعت 12:55 توسط طراحی سایت دارکوب بدون نظر

در برنامه نویسی PHP مواقعی پیش می آید که نیاز دارید دو تاریخ را به یکدیگر مقایسه نمایید و فاصله زمانی بین دو تاریخ را پیدا کنید که در بخش زیر نحوه بدست آوردن آن را به صورت کامل برای شما شرح خواهم داد. تاریخ ها را نمی توانید به صورت عادی از هم منها نمایید و می بایست آنها را به مقدار عددی تبدیل نمایید. برای انجام این کار می توانید از تابع strtotime استفاده نمایید. این تابع تاریخ شما به صورت تاریخ UNIX تبدیل می نماید که این تاریخ فاصله زمان تاریخ شما به ثانیه از زمان یکم 1970 می باشد. در زیر نحوه انجام این کار را به شما نمایش می دهم:

$date1 = "2007-03-24 00:00:00";
$date2 = "2009-06-26 00:00:00";

$diff = abs(strtotime($date2) - strtotime($date1));

$years = floor($diff / (365*60*60*24));
$months = floor(($diff - $years * 365*60*60*24) / (30*60*60*24));
$days = floor(($diff - $years * 365*60*60*24 - $months*30*60*60*24)/ (60*60*24));

printf("%d years, %d months, %d days\n", $years, $months, $days);

در کد بالا تاریخ می توانید به صورت تاریخ و زمان نیز باشد. متغییر $diff دو تاریخ را به صورت عددی از یکدیگر منها می نماید و بنابراین $date2 می بایست زمان جدیدتر باشد. برای بدست آوردن تفاوت سالیانه دو تاریخ می بایست فاصله زمانی بدست آماده را به سال تبدیل نمایید و از تابع floor برای روند کردن آن استفاده نمایید. برای بدست آوردن تعداد ماه ابتدا می بایست تعداد سال ها به ثانیه را از تفاوت دو تاریخ به ثانیه کسر نموده و سپس آن را به ماه تبدیل نمایید و برای سایر واحدهای تاریخ نیز به همین ترتیب عمل نمایید. در صورتی که قصد دارید فاصله بین دو تاریخ را به ساعت و دقیقه و همچنین ثانیه بیان نمایید می توانید کدهای زیر را به کد اصلی خود اضافه نمایید.

$hour = floor(($diff - $years * 365*60*60*24 - $months*30*60*60*24 - $days*60*60*24)/ (60*24));

$min = floor(($diff - $years * 365*60*60*24 - $months*30*60*60*24 - $days*60*60*24 - $hour*60*60)/ (60));

البته می توانید فاصله زمانی بین دو تاریخ را فقط توسط المان های دیگر نظیر ساعت و دقیقه بیان نمایید که در زیر مثال آن را برای شما آورده ام:

$hour = floor($diff / (60*24));
$min = floor(($diff - $hour * 60*24) / (24));

لینک:

تفاوت بین دو تاریخ توسط PHP

+ نوشته شده در پنج شنبه سیزدهم آذر 1393 ساعت 12:31 توسط طراحی سایت دارکوب یک نظر

 

تبدیل کاربران و بازدید کنندگان وب سایت به مشتری و خریدار دغدغه تمامی مدیران سایت ها می باشد. فقط داشتن سایتی پر بازدید مهم نمی باشد و شما می بایست کاربران خود را به مشتریان خود تبدیل نمایید موردی که در صورتی که مهندسی نگردد تاثیر جدی بر کسب و کار سایت ها خواهد گذاشت. در حقیقت میزان خرید و سفارش مشتریان در سایت با کیفیت مطالب ارائه شده و خود سایت رابطه مستقیم دارد و بهتر است سایت به گونه ای طراحی گردد تا کاربر با حس اطمینان بیشتری خرید خود را انجام دهد. در زیر چند مورد را برای برقرای ارتباط بهتر با بازدید کنندگان وب سایت برای شما بیان می نمایم.

 

چند توصیه برای تبدیل بازدیدکنندگان وب سایت به مشتری

قرار دادن اطلاعات تماس در تمامی صفحات سایت

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

نمایش گواهینامه ها در تمامی صفحات سایت

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

استفاده از عناوین مناسب

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

پشتیبانی آنلاین مشتریان

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

اخذ گواهینامه های اینترنتی

فروشگاه های اینترنتی بهتر است گواهینامه هایی مانند نماد اعتماد الکترونیکی و اس اس ال(SSL) را حتما اخذ نمایند. انجام این کار باعث اعتبار بالاتر سایت می گردد و این مورد نیز باعث رشد مشتریان جدید سایت می گردد.

توضیحات کامل محصولات

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

استفاده از تصاویر مناسب

استفاده از تصاویر مناسب موضوع تاثیر بسیار بالایی در تاثیر بهتر مطلب خواهد داشت. زیرا کاربران معمولا قبل از خواندن عنوان مطلب تصاویر آن را رویت می نمایند و تصویر تاثیر گذار روند ارائه مطلب را بهتر خواهد نمود.

فرم های سفارش و عضویت کوتاه

سعی نمایید حتی المکان از فرم های عضویت و سفارش کوتاه استفاده نمایید تا زمان و وقت کاربر را در مرحله سفارش زیاد نگیرد. طراحی فرم های با فیلدهای کم بسیار مهم بوده و بنابراین سعی نمایید فیلدهای غیر لازم را حذف نمایید و فقط فیلدهایی را که مورد نیاز می باشد اجباری نمایید.

جهت بررسی وب سایت خود می توانید از این سه سایت استفاده نمایید.

جهت هر گونه مشاوره با کارشناسان دارکوب تماس حاصل فرمایید.

آدرس:

افزایش مشتریان وب سایت

+ نوشته شده در یکشنبه نهم آذر 1393 ساعت 12:33 توسط طراحی سایت دارکوب بدون نظر

در صورتی که بر روی سرور فایل فشرده در فرمت های zip ، gzip و سایر فرمت ها را دارید می توانید توسط PHP فایل را اکستراکت نمایید. برای انجام این کار می توانید از کد نمونه PHP زیر که توسط سایت رسمی PHP منتشر شده و در آدرس http://www.php.net/manual/en/ziparchive.extractto.php آمده استفاده نمایید.

 <?php
$zip = new ZipArchive;
if ($zip->open( est.zip) === TRUE) {
$zip->extractTo(/my/destination/dir/);
$zip->close();
echo ok;
} else {
echo failed;
}
?>

در صورتی که حجم فایل فشرده شما زیاد می باشد می بایست از تابع زیر برای افزایش زمان اجرای برنامه PHP استفاده نمایید.

ini_set(max_execution_time, 300);

برای انجام این کار کافی است تابع را در بالای کد کپی نمایید.

همچنین تابع آماده برای خارج سازی فایل ها از حالت فشرده در آدرس http://themergency.com/extract-zip-files-with-php/ وجود دارد که کافی است فایل unzip.php را بر روی سرور خود بارگذاری نموده و آدرس آن را در مرورگر رویت نمایید. فایل مورد نظر کلیه فایل های موجود در سرور را به شما نمایش می دهد و کافی است بر روی فایل فشرده خود کلیک نموده تا فایل اکستراکت گردد.

 آدرس:

اکستراکت نمودن فایل های فشرده توسط PHP

 

+ نوشته شده در چهارشنبه پنجم آذر 1393 ساعت 11:57 توسط طراحی سایت دارکوب یک نظر