آموزش php (وبلاگ یک پی اچ پی کار)

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

۱۸ مطلب در مرداد ۱۳۹۵ ثبت شده است

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

Transactions در PDO :

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

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

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

تگ pre برای چیست ؟

تگ pre برای نمایش بهتر یک آرایه در زمان چاپ آن میباشد.

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

<?php

    $user= array(
      'Name'=>'mehdi',
      'Family'=>'hesami',
      'Country'=>'iran',
    );

    echo "<pre>";
    var_dump ($user);
    echo "</pre>";

?>

که خروجی در مرورگر بشکل زیر میباشد :

array (size=3)
  'Name' => string 'mehdi' (length=5)
  'Family' => string 'hesami' (length=6)
  'Country' => string 'iran' (length=4)

 

 

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

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

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