(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) })(window,document,'script','https://www.google-analytics.com/analytics.js','ga'); ga('create', 'UA-85215037-1', 'auto'); ga('send', 'pageview');

آموزش زبان برنامه نویسی php , html , css , تجربیات یک برنامه نویس

راه اندازی کانال تلگرامی وبلاگ phpkar

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

فقط کافیه در کانال آموزشی وبلاگ phpkar عضو بشید که برای این کار بر روی لینک باکس زیر کلیک کنید.

کانال تلگرامی آموزش php

۲۶ شهریور ۹۵ ، ۱۴:۳۰ ۲ نظر موافقین ۱ مخالفین ۰
مهدی حسامی

گرفتن تاریخ فعلی سیستم در سی شارپ

کار با تقویم ها در سی شارپ

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

DateTime dt = DateTime.Now;

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

ولی مسئله که وجود داره اینه که شاید شما در تنظیمات تاریخ ویندوز ، تقویم پیشفرض را به دلخواه تغییر دادید ، یعنی شما رفتید به کنترل پنل ویندوز و اونجا وارد قسمت Region شدید و تقویم پیشفرض را به عنوان مثال گذاشتید روی تقویم قمری ، بنابراین دستور بالا زمان فعلی را بر اساس تقویم پیشفرض سیستم شما بر میگرداند ، یعنی اگر تقویم شما هم اکنون قمری باشد این دستور نیز تاریخ فعلی را به قمری بر میگرداند و اگر تقویم پیشفرض ویندوز شما روی شمسی تنظیم شده باشد تاریخ فعلی را به شمسی بر میگرداند.

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

خوشبختانه سی شارپ برای این کار هم دستوری دارد که می توانید استفاده کنید. برای اینکار شما بعد از بدست آوردن زمان فعلی سیستم ، بایستی یک تقویم هم ایجاد کنید که این تقویم می تواند یکی از انواع تقویم ها باشد (شمسی ، میلادی ، قمری):

 

ساخت تقویم میلادی در سی شارپ :

System.Globalization.GregorianCalendar  miladi = new System.Globalization.GregorianCalendar();

 

ساخت تقویم شمسی در سی شارپ :

System.Globalization.PersianCalendar  shamsi = new System.Globalization.PersianCalendar();

 

ساخت تقویم قمری در سی شارپ :

System.Globalization.HijriCalendar    ghamari = new System.Globalization.HijriCalendar();

 

ساخت تقویم کره ای در سی شارپ :

System.Globalization.KoreanCalendar    korean = new System.Globalization.KoreanCalendar();

 

و تقویم های مختلف که در این فضای نام موجود هست.

حالا براحتی از تقویمی که ساختید بخواهید تا زمان رو به شما اعلام کنه که به تفکیک می تونید سال ، ماه ، روز ، ساعت ، دقیقه ، ثانیه ، میلی ثانیه را بگیرید :

 

String     Year        =       miladi.GetYear(dt);

String     Mounth    =       miladi.GetMonth(dt);

String     Day         =       miladi.GetDayOfMonth(dt);

String     Hours      =       miladi.GetHour(dt);

String     Minute     =       miladi.GetMinute(dt);

String     Secound   =       miladi.GetSecond(dt);

 

در دستورات بالا دقت کنید که متغییر dt را بایستی به تقویم بدید تا تاریخ فعلی را بر گرداند که حتی می توانید برای تبدیل تاریخ ها در سی شارپ نیز از این دو دستور ساده استفاده کنید و بجای dt  تاریخ مورد نظر را بدید تا در تقویم مورد نظر تبدیل شود . 

 

امیدوارم براتون مفید بوده باشه

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

 

۱۲ شهریور ۹۶ ، ۱۱:۴۰ ۱ نظر موافقین ۰ مخالفین ۰
مهدی حسامی

تولید و ذخیره تاریخ و زمان یکتا و ذخیره در دیتابیس

سلام و عرض احترام خدمت همه دوستان

یه آموزش خیلی کوتاه ولی کاربردی میزارم که شاید برای بعضی از شما عزیزان جای سئوال باشه
شاید شماهم نیاز داشته باشید که در پروژه های خودتون از یکتا بودن تاریخ و زمان اطمینان حاصل کنید تا زمان های یکتایی را در دیتابیس ذخیره کنید ، برای این کار از الگوریتم زیر استفاده کنید که به زبان سی شارپ نوشتم ولی میتونید در زبانهای مختلف هم به همین شکل استفاده کنید :

 

                                    oldDate = mydate;
                                    do
                                    {
                                        mydate = DateTime.Now;
                                    }
                                    while (mydate.CompareTo(oldDate) == 0);

امیدوارم براتون مفید بوده باشه
ارادتمند شما مهدی حسامی
09192421865
وبلاگ آموزشی phpkar.blog.ir

۰۵ شهریور ۹۶ ، ۱۲:۲۴ ۰ نظر موافقین ۰ مخالفین ۰
مهدی حسامی

پروژه ارتباط با وبسرویس پیامکی در vb6 از طریق rest

وبسرویس پیامکی در vb6

ضمن سلام و عرض ادب خدمت تمامی دوستان و بازدیدکنندگان وبلاگ phpkar.blog.ir

با توجه به اینکه اخیرا شرکت های پیامکی از ارائه کامپوننت ارسال پیامک برای ویژوال بیسیک 6 به جهت قدیمی شدن این زبان برنامه نویسی محبوب خودداری می کنند لذا برآن شدیم تا یک پروژه با ویژوال بیسیک 6 (vb6) برای ارتباط با وبسرویس های پیامکی بنویسیم تا آن دسته از عزیزانی که پروژه هایی با این زبان برنامه نویسی نوشته اند و قصد اضافه کردن امکان ارسال و دریافت پیامک درون برنامه های شان دارند بتوانند با کمک این پروژه به هدف شان برسند.

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

به جهت اینکه زمان زیادی برای پیاده سازی این پروژه صرف شده در حال حاضر به قیمت 25 هزار تومان برای شما عزیزان ارائه می شود.

این پروژه بر مبنای API های REST نوشته شده و شما با تهیه آن دیگر نیازی به درگیر شدن با کدهای پیچیده ارتباط با وبسریس ندارید 

از طریق این پروژه خواهید توانست براحتی و با تنظیم چند پارامتر که بستگی به شرکت ارائه دهنده شما داره ، با سرور پیامکی خود ارتباط بگیرید و از درون برنامه نوشته شده با ویژوال بیسیک 6 ، پیامک بفرستید.

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

به هر حال انتخاب با خودتون هست . برای تهیه این پروژه مبلغ 25 هزار تومان به حساب زیر واریز نمائید و سپس کد پیگیری پرداخت را اعلام کنید تا پروژه را برای شما ارسال کنیم.

البته معمولا خریدارانی که تماس میگیرن تمایل دارن کار ارتباط پروژه را هم ما براشون انجام بدیم که در صورتی که شماهم دوست داشتید تا ما براتون تمامی کانفیگ هاشو انجام بدیم مبلغ 25 هزار تومان نیز اضافه خواهد شد و جمعا 50 هزار تومان پرداخت خواهید کرد.

 

نمونه وبسرویسهایی که در این پروژه استفاده شده است در تصویر پائین قابل مشاهده است

کامپوننت ارسال پیامک در وی بی6

 

نام پروژه : ارسال پیامک (sms) در ویژوال بیسیک 6 (VB6) با استفاده  REST API به همراه توابع کار با Json

قابلیت های پروژه :  ارتباط با سرور به دو حالت متقارن و نامتقارن

قمیت پروژه : 25 هزار تومان

شماره کارت بانک تجارت :   5859831019153872

بنام مهدی حسامی

تلفن تماس :      09192421865

بعداز واریز ،کد پیگیری پرداخت را به همراه ایمیل خود به شماره بالا پیامک کنید تا پروژه براتون ارسال شود

 

با آرزوی موفقیت

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

توسعه دهنده وب و برنامه های موبایل و دسکتاپ

 

۲۴ خرداد ۹۶ ، ۱۳:۰۵ ۱ نظر موافقین ۱ مخالفین ۰
مهدی حسامی

مقابله با ویروس WannaCry

ویروس wannacry باج گیر است

سلام دوستان عزیز

اخیرا ویروسی تحت عنوان WannaCry منتشر شده که شاید بتوان گقت پر ماجراترین ویروس تا به امروز بوده است.

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

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

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

با توجه به اینکه مایکروسافت دیگر آپدیت هایی برای ویندوز ایکس پی ارائه نمیکرد ولی به لحاظ اهمیت موضوع اینبار پچی را برای این نسخه نیز عرضه نمود.

در فایل PDF پیوست شده همین پست از وبلاگ phpkar.blog.ir راهکارهایی ارائه شده است که میتوانید بواسطه آن ، از ورود این ویروس به سیستم عامل خود تا حد زیادی در امان بمانید.

دریافت
عنوان: ویروس wannacry
حجم: 784 کیلوبایت
توضیحات: پیشگری از ویروس wannacry
 

موفق و موید باشید

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

۲۵ ارديبهشت ۹۶ ، ۱۸:۳۴ ۲ نظر موافقین ۱ مخالفین ۰
مهدی حسامی

نحوه Sut Down کردن ویندوز بدون نصب آپدیت ها

 

shut down without updating

دوستان عزیز سلام

در ویندوز 10 وقتی قصد خاموش کردن سیستم رو دارید در صورتیکه آپدیت هایی برای سیستم وجود داشته باشه ، ویندوز از شما میخواد که در زمان خاموش کردن نصب آپدیت هارو انجام بدید ولی اینکار زمانبره و شاید بخواهید سریع سیستم عامل خودتون رو ریستارت یا خاموش کنید

ادامه مطلب...
۲۸ فروردين ۹۶ ، ۱۱:۰۶ ۱ نظر موافقین ۰ مخالفین ۰
مهدی حسامی

راهنمای تنظیم گواهینامه SSL بر روی سایت

ssl

سلام دوستان عزیز
در این پست قصد دارم شما رو با نحوه نصب SSL بر روی دامنه خودتون آشنا کنم .
شاید اطلاعاتی در خصوص SSL داشته باشید ولی من هم یک توضیح اجمالی خدمتتون میدم و میریم سراغ بحث اصلی مون یعنی نحوه نصب و کانفیگ SSL بر روی دامنه در Cpanel که یکی از بحث های داغ امروز وبمستران هست.
تعریف SSL :
نمیخوام منم مثل سایت های دیگه از اصطلاحات تخصصی حرف بزنم و خیلی کوتاه عرض میکنم که وقتی شما وبسایتی دارید که قرار هست یکسری اطلاعات برای مرورگر کاربر ارسال کنه و در قالب صفحات HTML به کاربر نشون بده و از طرفی هم قراره که یکسری اطلاعات رو از کاربر بگیره و در سمت سرور عملیات و یا پردازش هایی رو بر روی اونها انجام بده
در حالت معمولی صاحبان اکثر وبسایت ها برای ارتباط مرورگر کاربر با سرورشون از پروتکل HTTP بدلیل رایگان بودن استفاده میکنند که بصورت پیشفرض بر روی وبسریس ها کانفیگ شده است ولی این پروتکل هیچگونه رمزنگاری روی اطلاعات رد و بدل شده بین مرورگر و سرور شما رو انجام نمیده و اطلاعات به همان شکل اصلی ارسال و دریافت میشه که این مدل از ارتباط ناامن هست .
شاید بپرسید اصلا پروتکل چیه ؟ خوب در جواب باید بگم پروتکل یعنی پیمان و قرارداد و یه کلمه انگلیسی هست که نیاز نیست شما ازش بترسید.
در دنیای بین آدما یکسری قانون ها توسط خود آدما وضع شده، مثلا این یک قانون هست که وقتی دو تا آدم به هم میرسن ابتدا باید به همدیگه سلام بدن و بعد احوالپرسی و بعد هم صحبت های دیگه و مثلا قانون دیگه آدمها اینه که وقتی یک شخص فقیر در مقابل یک شخص پولدار قرار گرفت ابتدا باید دستهایش را بر روی سینه اش قرار دهد و به او در بهترین حالت احترام بگذارد

ادامه مطلب...
۰۷ فروردين ۹۶ ، ۱۱:۴۰ ۰ نظر موافقین ۱ مخالفین ۰
مهدی حسامی

توابع مهم کار با سشن ها در لاراول

سلام دوستان خوبم

در این پست از وبلاگ phpkar.blog.ir میخوام چند تابع مهم کار با سشن ها در لاراول رو خدمتتون معرفی کنم .

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

سشن در لاراول

ادامه مطلب...
۲۷ اسفند ۹۵ ، ۰۹:۴۰ ۱ نظر موافقین ۱ مخالفین ۰
مهدی حسامی

پروژه تقویم شمسی و قمری و میلادی با php به همراه مناسبت ها

ضمن سلام و عرض ادب خدمت شما دوستان عزیزم

یک پروژه تقویم جلالی ، قمری و شمسی با زبان برنامه نویسی php نوشته ام که تمامی مناسبت های مذهبی ، ملی و بین المللی رو بر روی تقویم داراست . تصویر این تقویم رو در پائین همین متن قرار داده ام

تقویم شمسی با php

تقویم php

تکنولوژی های بکار رفته در ساخت تقویم جلالی ، میلادی ، قمری و قابلیت های این تقویم :

# زبان اسکریپت نویسی php 

# فناوری ایجکس برای حرکت بین تاریخ ها

# قابلیت انتخاب ماه خاص

# قابلیت انتخاب سال دلخواه

# قابلیت نمایش تقویم ماه جاری

# قابلیت نمایش همزمان سه تقویم در یک صفحه

ادامه مطلب...
۱۲ اسفند ۹۵ ، ۱۱:۱۳ ۲ نظر موافقین ۲ مخالفین ۰
مهدی حسامی

کنسل کردن درخواست ایجکس

سلام دوستان 
یه آموزش خیلی کوچولو رو امروز براتون آماده کردم
شاید شما هم در پروژه های تحت وب خودتون از ایجکس استفاده کرده اید و درخواست هایی رو بوسیله Ajax به سرور ارسال می کنید و میخواهید یک دکمه کنسل هم در کنار دکمه ارسال قرار بدید که اگه کاربر بعد از کلیک کردن دکمه ارسال و در لحظه ارسال درخواست  به سمت سرور تمایل داشت تا درخواست رو لغو کنه ، از این دکمه کنسل استفاده کنه 
برای این کار لازمه که یک متغییر سراسری درون تگ script  در رویداد ready  مربوط به document ایجاد کنید و درخواست Ajax خودتون رو درون این متغییر بریزید ،  مثلا من اسم این متغییر رو به دلخواه xhr گذاشتم ، اکنون این متغییر یک شی محسوب میشه که میتونید خیلی راحت با استفاده از دستور زیر و با کمک متد abort این درخواست رو در هر حالتی که هست لغو کنید.
دستور لغو هم به این شکل نوشته خواهد شد:   

xhr.abort();  

مثال : 

var = xhr;
xhr =  $.ajax({url:'functions/register.php'});
xhr.abort();

امیدوارم براتون مفید واقع بشه
آرزوی بهترین ها براتون دارم
ارادتمند مهدی حسامی

۰۲ اسفند ۹۵ ، ۱۳:۵۸ ۰ نظر موافقین ۰ مخالفین ۰
مهدی حسامی

ارسال پیامک با مودم و ارتباط با ماژول های سازگار با AT-COMMAND

commands چیست ؟

دستوراتی هستند که برای کنترل مودم ها و برخی ماژول های سازگار با این دستورات ، استفاده می شود. AT Command ها در واقع برگرفته از Hayes Command ها هستند. همانطور که ما زبان خاص خودمون رو داریم ، هر دستگاه دیجیتالی هم زبان خاص خودش رو داره و برای اینکه ما بتونیم با اون دستگاه ارتباط برقرار کنیم مجبوریم زبان اون رو بدونیم و با زبان خودش خواسته هامون رو بهش بدیم تا برامون اجرا کنه و اگه لازم بود پاسخی هم بهمون برگردونه

ممکنه برایتان سئوال پیش بیاد که خوب این دستورات از طریق چه واسطی باید به مودم ارسال شود؟ خوب در پاسخ باید گفت که این دستورات را ما می توانیم بواسطه محیط های برنامه نویسی مثل ویژوال استودیو و با یک زبان برنامه نویسی خاصی مثل سی شارپ برای مودم ارسال کنیم که لازمه آن هم ارتباط داشتن کامپیوتر با مودم یا ماژول هست ولی اگر برای تست و یادگیری می خواهید دستورات AT را به یک دستگاه ارسال و پاسخ دستگاه رو ببینید ، میتونید از نرم افزارهایی مثل ATCommandTester.jar استفاده کنید که یک نرم افزار جاوا بیس هست و با محیط گرافیکی فوق العاده ای که در اختیارتون قرار میده ، براحتی می تونید به پورتی که دستگاه شما به آن متصل هست وصل شده و دستورات خودتون رو برای دستگاه بفرستید و  اجرا کنید و پاسخ دستگاه رو هم ببینید .

بطور کلی مودم ها و ماژول می توانند از طریق پورت های سریالی و یا موازی با کامپیوتر ارتباط برقرار کنند که انتخاب نوع ارتباط بستگی به نوع تکنولوژی ارتباطی این دستگاهها داره ، مثلا اکثر گوشی های امروزی که داخلشون هم یک مودم وجود داره می توانند از طریق تکنولوژی وای فای ، بلوتوث و کابل یو اس بی به کامپیوتر متصل شوند و در انواع قدیمی این دستگاهها معمولا از کابل های سریالی استفاده میشد که جز تکنولوژی های ارتباطی قدیمی محسوب میشه و سرعت رد و بدل کردن اطلاعات با این تکنولوژی به نسبت روش موازی پائین تر هست که ما در اینجا نمیخواهیم دو تکنولوژی را با هم مقایسه کنیم و فقط قصد داشتیم با دو تکنولوژی ارتباطی آشنا بشید و بدونید که مثلا USB  دارای سرعت بیشتری نسبت به پورت و کابل های سریالی هست و در این بحث برای ما چندان فرقی نداره که از کدوم نوع استفاده میکنیم و مهم این هست که ما بتونیم بین کامپیوتر و مودم یا ماژول مورد نظرمون که دستورات گفته شده را ساپورت میکنن ارتباط برقرار کنیم که برای هر کدوم از انواع روش های ارتباطی گفته شده ، دستورات مناسبش در زبانهای برنامه نویسی تعبیه شده که ما میتونیم دستورات این ارتباط رو بنویسیم . مثلا در زبان برنامه نویسی سی شارپ ، برای اینکه به یک دستگاهی که به پورت سریالی کامپیوتر ما متصل هست ، وصل بشیم دستورات و سینتکس خاص خودش رو داره و برای ارتباط با USB  هم دستورات مخصوص خودش که این هم برای ما چندا مهم نیست و شما می تونید با مراجعه به داکیومنت های زبان مورد نظرتون دستورات مورد نیاز برای برقراری ارتباط با انواع پورت ها (موازی و سریالی) رو بدست بیارید و این ارتباط رو برقرار کنید تا بتونید دستورات AT-COMMAND رو بهش ارسال کنید .

فرض ما بر این است که شما قصد نوشتن برنامه ای رو در کامپیوتر دارید که بتونه با یک مودمی که قابلیت شناسایی دستورات AT-COMMAND رو داره  ارتباط برقرار کنه و این دستگاه رو از طریق کامپیوتر کنترل کنیم ، خوب پس برای اینکار ما با استفاده از یکی از زبانهای برنامه نویسی این برنامه را خواهیم نوشت و 

پس از آماده شدن برنامه نوشته ، بایستی این نرم افزار را بر روی سیستم عامل نصب کنیم تا مثل سایر برنامه های کامپیوتر از امکاناتش استفاده کنیم.

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

ادامه مطلب...
۳۰ بهمن ۹۵ ، ۱۴:۵۸ ۰ نظر موافقین ۰ مخالفین ۰
مهدی حسامی