(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 , تجربیات یک برنامه نویس

۷۰ مطلب با موضوع «php» ثبت شده است

ثبت همزمان چند ردیف در دیتابیس با استفاده از Transactions

Transactions در PDO :

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

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

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

عضویت در خبرنامه وبلاگ آموزشی phpkar.blog.ir

جهت دریافت آخرین مطالب وبلاگ در ایمیلتون در خبرنامه ما شرکت کنید

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

phpkar

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

متدهای مختلف PDO برای اجرای دستورات SQL و تفاوتشون

در صورتیکه تصمیم گرفتید از کلاس PDO برای ارتباط با بانک اطلاعاتی استفاده کنید پس به موارد زیر دقت نمائید :

همونطور که میدونید PDO جدیدترین کلاس php برای ارتباط با بانک اطلاعاتی میباشد که قابلیت اتصال به 12 نوع نرم افزار مدیریت بانک رو برای ما فراهم میکنه و تنها با تغییر یک پارامتر قابلیت سوئیچ به یک DBMS دیگر مهیا می شود.

برای ارتباط با دیتابیس در کلاس PDO سه گام اصلی وجود داره :

1 - اتصال به بانک

2 - ارسال رشته کوئری (به زبان SQL) برای DBMS (برنامه مدیریت بانک اطلاعاتی) جهت اجرای دستورات اس کیو ال در بانک

3 - قطع ارتباط با بانک (قطع ارتباط با برنامه مدیریت بانک اطلاعاتی یا همان DMBS که ما از MySql استفاده میکنیم)

 

حالا جزئیات پیاده سازی گام های بالا ، با استفاده از کلاس PDO و متدهای داخل این کلاس بصورت زیر میباشد :

1 - ساخت یک نمونه از کلاس PDO و قرار دادن شی ساخته شده درون یک متغیر 

2 - فراخوانی یکی از متدهای اجرای کوئری

3 - بستن 

ادامه در دست نگارش ...

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

دانلود فایل در php با استفاده از تغییر header

با دستور زیر می توانید یک فایل فشرده رو در php آماده دانلود کنید. با تغییر هدر صفحه قابلیت دانلود ایجاد می کنید.

// تعیین نوع محتوای صفحه و نوع ارسال و نمایش داده های صفحه به مرورگر
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename="example.zip"');
header('Content-Transfer-Encoding: binary');
readfile('example.zip');
۲۹ مرداد ۹۵ ، ۲۲:۴۳ ۰ نظر موافقین ۱ مخالفین ۰
مهدی حسامی

ارسال ایمیل انبوه با php با سرعت فوق العاده بالا

ارسال ایمیل با php

در این پست سرویسی رو بهتون معرفی میکنم که به تمام برنامه نویسان API هایی رو ارائه میده که براحتی با اتصال به وب سرویس شون ، می تونیم ایمیل های انبوه ارسال کنیم یا جهت ارسال مطالب برای اعضای سایتمون از این سرویس استفاده کنیم و دیگر متحمل هزینه های سنگین سرورهای ارائه دهنده سرویس ایمیل نشویم . امیدوارم مفید باشه براتون

این سایت تا 10 هزار ارسال در ماه رو به کاربرانش رایگان ارائه میده که گفتم شماهم ازش استفاده کنید .

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

www.mailgun.com

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

رفع خطای Warning: Cannot modify header information

 

<?php
ob_start();
?>
<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Test Page</title>
</head>
<body>
<?php  header("Location: panel.php");  ?>
</body>
</html>

برای رفع مشکل عدم ریدایرکت با تابع header این پست رو دنبال کنید و نگران نباشید

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

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

آشنایی با تابع header در php

در این پست تجربه ای رو از تابع header در اختیارتون قرار میدم :

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

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

چاپ ثابت ها درون یک رشته بدون الحاق

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

روش اول : استفاده از تابع sprintf 

این تابع از شما یک رشته میگیره که توی این رشته محل هایی که میخواهید مقداری از یک جایی خونده بشه رو بصورت علامت s% لابلای رشته مشخص میکنید بعد در پارامترهای بعدیش نام ثابت ها رو به ترتیب از چپ به راست مینویسید:

<?php

    define('Name1','Mehdi');
    define('Name2','Reza' );
    echo sprintf( ' %s and %s are students'  ,  Name1 , Name2) ;
    
?>

خروجی دستور بالا در زبان php بصورت زیر خواهد شد :

Mehdi and Reza are students

روش دوم : تبدیل ثابت به متغیر

<?php

    define( 'ANIMAL','monkey');
    $var1 = 'constant';
    echo "I like {$var1('ANIMAL')}";
?>

خروجی دستور بالا در زبان php بصورت زیر خواهد شد :

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

پشتیبان گیری خودکار روزانه از دیتابیس و نگهداری آن بر فضای امن ابری

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

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

روال کار این سایتها به این صورته که شما وارد این سایتها می شوید و بعد از ثبت نام از طریق پنلی که در اختیارتون قرار داده میشه می تونید آدرس و مشخصات سرور دیتابیس تون به همراه نام کاربری و رمز عبور دیتابیس تون رو وارد کنید و زمان مورد نظری که میخواهید سایت برایتان پشتیبانگیری خودکار انجام بده رو هم مشخص می کنید (مثلا هر روز صبح ساعت 9:00 یا هر روز 5 بار در فلان زمانها) سپس این سامانه تحت وب در زمانهای مشخص شده به دیتابیس شما وصل شده و از اون پشتیبانگیری خودکار انجام میده که در صورت خرابی کامپیوتر شرکت میزبان سایت شما و حتی نابودی کل شرکت هاستینگ هم شما براحتی می توانید از فایل پشتیبان ذخیره شده در هار دیسک های ابری این شرکتها رو دانلود کنید و به سرور جدیدتون وارد نمائید.

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

 

www.gobitcan.com

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

نظرات شما باعث دگرمی ما در ارائه مطالب و تجربیات بیشر خواهد شد.

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

ابزار بررسی سایت طراحی شده

اعتبارسنجی سایت

 

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

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

 

مشاهده ابزار بررسی سایت

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