1. مهمان گرامی، جهت ارسال پست، دانلود و سایر امکانات ویژه کاربران عضو، ثبت نام کنید.
    بستن اطلاعیه

آموزش PHP

شروع موضوع توسط hector2141 ‏12/9/12 در انجمن PHP

  1. کاربر ارشد

    تاریخ عضویت:
    ‏6/9/12
    ارسال ها:
    14,323
    تشکر شده:
    2,698
    امتیاز دستاورد:
    0
    حرفه:
    daneshjo
    پاسخ : آموزش PHP

    [h=2]آموزش PHP - تابع ( ) date[/h] تابع ( ) date در PHP :
    از تابع ( ) date در PHP ، برای نمایش و یا دستکاری ساعت و تاریخ استفاده می شود .
    از تابع ( ) date می توانید برای انجام اموری مثل نمایش تاریخ جاری سرور ، نمایش یک تاریخ خاص ، محاسبه زمان ، ایجاد یک برچسب زمانی و ... استفاده نمایید . این تابع یکی از توابع پیش ساخته و اصلی زبان PHP است .
    شکل کلی تعریف و استفاده از تابع ( ) date در PHP به صورت زیر است :
    [TABLE="class: ex"]
    [TR]
    [TD="class: prname"] Syntax [/TD]
    [TD="class: prdes, align: left"] < ? php
    date ( format ) ;
    ? > [/TD]
    [/TR]
    [/TABLE]

    [TABLE="class: ex"]
    [TR]
    [TD="class: header, colspan: 2"] syntax توضیح هر یک از موارد [/TD]
    [/TR]
    [TR]
    [TD="class: body, align: center"] توضیح [/TD]
    [TD="class: header"] پارامتر [/TD]
    [/TR]
    [TR]
    [TD="class: body, align: right"] پارامتر format تعیین کننده نحوه نمایش تاریخ توسط تابع ( ) date است . در این پارامتر کاراکترهای زیر را می توانید به کار ببرید :
    تعیین این پاامتر برای تابع اجباری است .
    • کاراکتر d : این کاراکتر ، نمایشگر شماره روز در تابع date بوده و عددی بین 01 تا 31 است .
    • کاراکتر m : این کاراکتر نمایشگر عدد ماه در تابع date بوده و عددی بین 01 تا 12 است .
    • کاراکتر Y : کاراکتر Y نمایشگر عدد سال در تابع date بوده و یک عدد چهار رقمی است .
    • کاراکترهای جدا کننده : از کاراکترهایی مثل " / " ، " - " ، " . " و ... می توان برای جدا نمودن عددهای سال و ماه و روز در تایع date است نمود.
    نحوه استفاده از این کاراکترها و خروجی آنها در حالت های مختلف را در مثال عملی زیر نمایش داده ایم : [/TD]
    [TD="class: header"] format [/TD]
    [/TR]
    [/TABLE]
    مثال عملی : در مثال زیر نحوه به کار بردن تابع date در نمایش تاریخ و حالت های مختلف پارامتر format در آن را نمایش داده ایم :
    [TABLE="class: ex"]
    [TR]
    [TD="class: header, colspan: 2"] Example [/TD]
    [/TR]
    [TR]
    [TD="class: body"] < ? php
    echo date("Y/m/d") . " < br / > ";
    echo date("Y.m.d") . " < br / >";
    echo date("Y-m-d");
    ? > [/TD]
    [TD="class: header"] کد [/TD]
    [/TR]
    [TR]
    [TD="class: body"] 2012/03/11
    2012.03.11
    2012-03-11 [/TD]
    [TD="class: header"] خروجی [/TD]
    [/TR]
    [/TABLE]

    [HR][/HR] توابع مهم و کاربردی زیر مجموعه تابع ( ) date :
    در لیست زیر برخی از توابع مهم و کاربردی مرتبط با تابع date را معرفی کرده ایم . این توابع امکانات مهم و سودمندی برای کار با زمان در اختیار ما قرار می دهند . برای دریافت اطلاعات لازم راجع به هر کدام بر روی نام آن کلیک نمایید :
    [TABLE="class: ex"]
    [TR]
    [TD="class: prname"] نام تابع [/TD]
    [TD="class: prdes"] کاربرد [/TD]
    [/TR]
    [TR]
    [TD="class: prname"] checkdate ( ) [/TD]
    [TD="class: prbody"] این تابع ، تاریخ داده شده به آن را طبق تقویم میلادی بررسی کرده و صحت آن را اعلام می کند . [/TD]
    [/TR]
    [TR]
    [TD="class: prname"] date_default_timezone_get ( ) [/TD]
    [TD="class: prbody"] این تابع زمان محلی ( timezone ) سرور را نمایش می دهد .
    [/TD]
    [/TR]
    [TR]
    [TD="class: prname"] date_default_timezone_set ( ) [/TD]
    [TD="class: prbody"] این تابع زمان محلی ( timezone ) سرور را بر طبق مقدار داده شده ، تنظیم می کند . [/TD]
    [/TR]
    [TR]
    [TD="class: prname"] date_sunrise ( ) [/TD]
    [TD="class: prbody"] این تابع زمان طلوع آفتاب در یک تاریخ خاص را ، بر حسب موقعیت جغرافیایی سرور نمایش می دهد . [/TD]
    [/TR]
    [TR]
    [TD="class: prname"] date_sunrset ( ) [/TD]
    [TD="class: prbody"] این تابع زمان غروب آفتاب در یک تاریخ خاص را ، بر حسب موقعیت جغرافیایی سرور نمایش می دهد . [/TD]
    [/TR]
    [TR]
    [TD="class: prname"] getdate ( ) [/TD]
    [TD="class: prbody"] این تابع زمان و تاریخ دقیق جاری سرور را در یک آرایه به کاربر نمایش می دهد . [/TD]
    [/TR]
    [TR]
    [TD="class: prname"] mktime ( ) [/TD]
    [TD="class: prbody"] این تابع برای تعیین تاریخ جاری و یا تعیین یک تاریخ در آینده به کار می رود . [/TD]
    [/TR]
    [/TABLE]
     
    یک شخص از این تشکر کرد.
  2. کاربر ارشد

    تاریخ عضویت:
    ‏6/9/12
    ارسال ها:
    14,323
    تشکر شده:
    2,698
    امتیاز دستاورد:
    0
    حرفه:
    daneshjo
    پاسخ : آموزش PHP

    [h=2]آموزش PHP - تابع ( ) time[/h] تابع ( ) time در PHP :
    تابع ( ) time در PHP ، میزان ثانیه سپری شده از تاریخ اولین ثانیه روز اول سال میلادی 1970 را بر می گرداند . این تاریخ در کار با زمان و تاریخ در PHP یک مقدار پیش فرض است .
    کاربرد تابع time در PHP ، بیشتر برای تعیین یا تنظیم زمان مورد در صفحات PHP است . برای مثال ، تعیین زمان برای اعتبار کوکی ها ( cookies ) در یک صفحه PHP است . به این صورت که در هنگام تعریف یک کوکی ، میزان ثانیه ای که کوکی باید اعتبار داشته باشد را به وسیله تابع time تعیین می کنیم . برای دریافت اطلاعات بیشتر راجع به استفاده از این تابع در تنظیم کوکی ها به بخش آموزش نحوه ایجاد کوکی cookie در PHP بروید .
    شکل کلی تعریف و استفاده از تابع ( ) date در PHP به صورت زیر است :
    [TABLE="class: ex"]
    [TR]
    [TD="class: prname"] Syntax [/TD]
    [TD="class: prdes, align: left"] < ? php
    time ( ) ;
    ? > [/TD]
    [/TR]
    [/TABLE]
    این تابع پارامتر خاصی ندارد و فقط تعداد ثانیه ها را به صورت یک مقدار عددی بر می گرداند . در مثال زیر نحوه استفاده از این تابع را در عمل به شما نمایش داده ایم :

    مثال عملی : در مثال عملی زیر تابع time را به کار برده و به وسیله آن مقدار ثانیه های گذشته از تاریخ 01/01/1970 را نمایش داده ایم . برای این منظور این مقدار را ابتدا در متغیر t$ ذخیره کرده و و سپس آن را در خروجی چاپ کرده ایم :
    [TABLE="class: ex"]
    [TR]
    [TD="class: header, colspan: 2"] Example [/TD]
    [/TR]
    [TR]
    [TD="class: body"] < ? php
    $ t = time ( ) ;
    echo ( $t . " ") ;
    echo date ( " Y / m / d " ) ;
    ? >
    [/TD]
    [TD="class: header"] کد [/TD]
    [/TR]
    [TR]
    [TD="class: body"] 1138618081
    02/03/2012
    توجه کنید که خروجی به صورت اکتیو توسط مرورگر تولید نشده است .​
    [/TD]
    [TD="class: header"] خروجی [/TD]
    [/TR]
    [/TABLE]
     
    یک شخص از این تشکر کرد.
  3. کاربر ارشد

    تاریخ عضویت:
    ‏6/9/12
    ارسال ها:
    14,323
    تشکر شده:
    2,698
    امتیاز دستاورد:
    0
    حرفه:
    daneshjo
    پاسخ : آموزش PHP

    [h=2]آموزش PHP - تابع ( ) include[/h] کار با تابع ( ) include در PHP :
    با استفاده از تابع ( ) include می توان محتویات یک فایل PHP را درون یک صفحه دیگر PHP ، وارد نمود . در این حالت سرور PHP در هنگام اجرای صفحه ، محتویات فایل اضافه شده را خوانده و آن را با صفحه اول ترکیب می کند . سپس خروجی را در قالب یک صفحه نمایش می دهد .
    از این ترفند معمولا برای ساخت صفحات مادر ( Master Page ) در PHP ، استفاده می شود . برای دریافت اطلاعات راجع به صفحات مادر در PHP به این بخش مراجعه نمایید :
    [​IMG] راهنمای ساخت صفحات Master Page در PHP
    شکل کلی استفاده از تابع ( ) include ، به صورت زیر است :
    [TABLE="class: ex"]
    [TR]
    [TD="class: prname"] Syntax [/TD]
    [TD="class: prdes, align: left"] < ? php
    include ( آدرس و نام فایل یا صفحه ای که می خواهید محتویات آن را در صفحه جاری وارد نمایید ) ;
    ? > [/TD]
    [/TR]
    [/TABLE]
    نکته مهم : اگر درهنگام اجرای دستور ( ) include ، مشکلی در اجرای فایل و خواندن محتویات آن به وجود آید ، سرور یک پیام هشدار صادر می کند ، ولی صفحه اجرا می شود ( با اشکال ) .

    [HR][/HR] یک مثال از کاربرد این تابع :
    فرض کنید که در صفحات سایتی که طراحی کرده اید ، در بالای هر صفحه یک بخش هدر قرار دارد . شما می توانید کد بخش هدر را در یک فایل PHP جدا تعریف کرده و ذخیره نمایید . سپس به جای قرار دادن کد هدر در صحفه ها ، با استفاده از دستور ( ) include و به کار بردن نام فایلی که کد در آن قرار دارد ، محتویات فایل هدر را در صفحات مورد نظر خودتان وارد نمایید . در ادامه با مثال و سورس کد ، مطلب مورد نظر را در عمل نمایش خواهیم داد .
    [HR][/HR] مثال های عملی :
    مثال 1 : در این مثال یک صفحه ساده PHP داریم . این صفحه دارای یک بخش هدر می باشد . اما کدر بخش هدر را در یک فایل به نام header.php ذخیره کرده ایم . سپس با استفاده از تابع ( ) include ، محتویات فایل هدر را در صفحه خود وارد نموده ایم . این صفحه در هنگام اجرا کد بخش هدر خود را از فایل header.php دریافت خواهد کرد .
    [TABLE="class: ex"]
    [TR]
    [TD="class: prname"] Example [/TD]
    [TD="class: prdes, align: left"] <html>
    <body>
    < ? php include ( "header.php" ) ; ? >
    < h1 > محتویات صفحه < /h1 >
    < p > محتویات صفحه < /p >
    < /body >
    < /html >
    [/TD]
    [/TR]
    [/TABLE]
     
    یک شخص از این تشکر کرد.
  4. کاربر ارشد

    تاریخ عضویت:
    ‏6/9/12
    ارسال ها:
    14,323
    تشکر شده:
    2,698
    امتیاز دستاورد:
    0
    حرفه:
    daneshjo
    پاسخ : آموزش PHP

    [h=2]آموزش PHP - کار با فایل ها در PHP[/h] مقدمه :
    به وسیله قابلیت های کار با فایل ها در PHP ، شما می توانید فایل های متنی و یا سایر فایل ها را باز کرده ، خوانده ، ویرایش نموده و یا جستجو نمایید .
    در این بخش قصد داریم تا متدها و توابعی که برای کار با فایل ها در PHP در نظر گرفته شده اند ، را تشریح نماییم .
    [HR][/HR] باز کردن یک فایل - متد ( ) fopen :
    به وسیله تابع ( ) fopen در PHP ، می توانید یک فایل را باز کنید .
    این تابع دو پارامتر اصلی دارد . پارامتر اول تعیین کننده نام و آدرس فایل و پارامتر دوم تعیین کننده نحوه باز کردن فایل است . در ادامه به توضیح این پارامترها خواهیم پرداخت .
    برای کار با این تابع ، باید خروجی آن را در یک متغیر ذخیره نمود و سپس آن متغیر را در سطح برنامه استفاده نمود .

    شکل کلی استفاده از این متد به صورت زیر است :
    [TABLE="class: ex"]
    [TR]
    [TD="class: prname"] Syntax [/TD]
    [TD="class: prdes, align: left"] < ? php
    $ نام یک متغیر دلخواه = fopen ( " نحوه باز کردن فایل " , " نام یا آدرس فایل مورد نظر " ) ;
    ? > ? >

    مثال :
    < ? php
    $My_File = fopen ( " Example.txt " , " r" ) ;
    ? > [/TD]
    [/TR]
    [/TABLE]
    گفتیم که پارامتر اول تعیین کننده نام و یا آدرس فایل مورد نظر است . اما پارامتر دوم تعیین کننده نحوه باز شدن فایل است . این پارامتر می تواند یکی از مقادیر جدول زیر را داشته باشد . ضمنا عمکلرد هر مقدار نیز توضیح داده شده است :
    [TABLE="class: pr"]
    [TR]
    [TD="class: header"] مقدار [/TD]
    [TD="class: header"] نحوه باز کردن فایل [/TD]
    [/TR]
    [TR]
    [TD="class: prbody, align: center"] r [/TD]
    [TD="class: prbody"] در این حالت فایل به صورت فقط خواندنی و از ابتدای آن باز می شود . در این حالت امکان تغییر فایل برای کاربر وجود ندارد . [/TD]
    [/TR]
    [TR]
    [TD="class: prbody, align: center"] +r [/TD]
    [TD="class: prbody"] در این حالت فایل به صورت خواندنی ، قابل ویرایش و از ابتدا باز می شود . در این حالت امکان تغییر فایل برای کاربر وجود دارد . [/TD]
    [/TR]
    [TR]
    [TD="class: prbody, align: center"] w [/TD]
    [TD="class: prbody"] در این حالت فایل به صورت فقط نوشتنی و قابل تغییر باز می شود . در این حالت چنان فایل از قبل وجود داشته باشد ، محتویات آن پاک می شود . و اگر وجود نداشته باشد ، یک فایل جدید ایجاد می شود . [/TD]
    [/TR]
    [TR]
    [TD="class: prbody, align: center"] +w [/TD]
    [TD="class: prbody"] در این حالت فایل به صورت خواندنی و نوشتنی و قابل تغییر باز می شود . در این حالت چنان فایل از قبل وجود داشته باشد ، محتویات آن پاک می شود . و اگر وجود نداشته باشد ، یک فایل جدید ایجاد می شود . [/TD]
    [/TR]
    [TR]
    [TD="class: prbody, align: center"] a [/TD]
    [TD="class: prbody"] در این حالت فایل باز شده و متن تعیین شده به انتهای آن اضافه می شود . [/TD]
    [/TR]
    [TR]
    [TD="class: prbody, align: center"] x [/TD]
    [TD="class: prbody"] در این حالت یک فایل جدید با نام تعیین شده ایجاد و به صورت فقط نوشتنی باز می شود . چنانچه فایل از قبل وجود داشته باشد ، برنامه پیام error صادر کرده و مقدار false را بر می گرداند . [/TD]
    [/TR]
    [TR]
    [TD="class: prbody, align: center"] +x [/TD]
    [TD="class: prbody"] در این حالت یک فایل جدید با نام تعیین شده ایجاد و به صورت خواندنی و نوشتنی باز می شود . چنانچه فایل از قبل وجود داشته باشد ، برنامه پیام error صادر کرده و مقدار false را بر می گرداند . [/TD]
    [/TR]
    [/TABLE]
    اگر سرور فایل را پیدا نکرده و یا وجود نداشت ، چه می شود :
    اگر فایلی که در تابع ( ) fopen تعیین کرده ایم ، وجود نداشت و یا سرور موفق نشد ، آن را پیدا کند ، برنامه یک پیام error صادر کرده و مقدار false یا 0 را بر می گرداند .
    اسکریپت زیر ، در صورتی که فایل وجود نداشته باشد ، یک پیام هشدار را به کاربر نمایش می دهد :
    [TABLE="class: ex"]
    [TR]
    [TD="class: prname"] Example [/TD]
    [TD="class: prdes, align: left"] < ? php
    $file = fopen ( " welcome.txt " , " r " ) or exit ( " Unable to open file ! " ) ;
    ? > [/TD]
    [/TR]
    [/TABLE]

    [HR][/HR] بستن یک فایل باز شده - متد ( ) fclose :
    پس از اینکه یک فایل را با دستور ( ) fopen باز کردیم ، می توانیم آن را با دستور ( ) fclose ببندیم .
    برای این منظور باید نام متغیری که در هنگام باز کردن فایل به کار بردیم و محتویات فایل را درون آن ذخیره نمودیم را در پرانتز مقابل تابع ( ) fclose قرار دهیم .
    شکل کلی استفاده از این متد به صورت زیر است :
    [TABLE="class: ex"]
    [TR]
    [TD="class: prname"] Syntax [/TD]
    [TD="class: prdes, align: left"] < ? php
    fclose ( " نام متغیری که فایل باز شده را در آن قرار داده بودیم" ) ;
    ? >

    مثال :
    < ? php
    $My_File = fopen ( " Example.txt " , " r" ) ; // یک فایل را با این دستور باز کرده ایم
    ..
    ..
    fclose ( $My_File ) ; // فایل باز شده را بسته ایم
    ? > [/TD]
    [/TR]
    [/TABLE]

    [HR][/HR] چک کردن اینکه به آخر فایل رسیده ایم یا خیر ؟ - متد ( ) feof :
    تابع ( ) feof ، چک می کند که آیا برنامه به آخر یک فایل رسیده است یا خیر .
    این تابع برای جستجو و یا خواندن فایل های داده ای با حجم نامشخص استفاده می شود . در این موارد ، برنامه هنگامی که به آخر فایل برسد ، باید جستجو یا عملیات خواندن را متوقف کند .
    نکته : از این تابع در زمانی که فایل را با حالت های w , a و x باز کرده اید ، نمی توانید استفاده نمایید .
    شکل کلی استفاده از این متد به صورت زیر است :
    [TABLE="class: ex"]
    [TR]
    [TD="class: prname"] Syntax [/TD]
    [TD="class: prdes, align: left"] < ? php
    feof ( نام فایل مورد نظر ) ;
    ? > [/TD]
    [/TR]
    [/TABLE]
    مثال : در مثال زیر یک اسکریپت طراحی شده است که فایل My_File$ را بررسی کرده و چنانچه برنامه به آخر آن رسیده باشد ، یک پیام صادر می کند :
    [TABLE="class: ex"]
    [TR]
    [TD="class: prname"] Example [/TD]
    [TD="class: prdes, align: left"] < ? php
    if ( feof ( $ My_File ) ) echo " End of file " ;
    ? > [/TD]
    [/TR]
    [/TABLE]

    [HR][/HR] خواندن یک فایل به صورت خط به خط :
    به وسیله تابع ( ) fgetc در PHP ، می توانید یک فایل متنی را باز کرده و به صورت خط به خط ، بخوانید . سپس در صورت نیاز در خروجی چاپ نمایید .
    این تابع فایل را به صورت خط به خط خوانده و پس از خواندن یک خط ، اشاره گر به ابتدای خط بعدی منتقل می شود .
    مثال : اسکریپت مثال زیر یک فایل متنی را به وسیله یک دستور حلقه ، به صورت خط به خط خوانده و سپس در خروجی چاپ می نماید :
    [TABLE="class: ex"]
    [TR]
    [TD="class: prname"] Example [/TD]
    [TD="class: prdes, align: left"] < ? php
    $file = fopen( "welcome.txt", "r" ) or exit ( "Unable to open file!" ) ;
    // حلقه زیر فایل را به صورت خط به خط تا رسیدن به آخر آن می خواند و در خروجی نمایش می دهد
    while ( !feof ( $file ) )
    {
    echo fgets ( $file ) . "< br />" ;
    }
    fclose( $file ) ;
    ? >
    [/TD]
    [/TR]
    [/TABLE]
     
    یک شخص از این تشکر کرد.
  5. کاربر ارشد

    تاریخ عضویت:
    ‏6/9/12
    ارسال ها:
    14,323
    تشکر شده:
    2,698
    امتیاز دستاورد:
    0
    حرفه:
    daneshjo
    پاسخ : آموزش PHP

    [h=2]آموزش ارسال ایمیل ( Email ) به وسیله PHP[/h] مقدمه :
    یکی از نیازهای اساسی کاربران در برنامه های تحت وب ، امکان ارسال ایمیل از طریق فرم ها یا صفحات وب است .
    برای مثال شما در سایت خود قصد دارید تا فرمی طراحی نمایید ، تا کاربران بتوانند نظرات و یا درخواست های خود در فرم مربوطه وارد کرده و سپس اطلاعات آن ها را به وسیله ایمیل برای شما ارسال نمایند . همانند آنچه شما می توانید در فرم های تماس با ما در سایت ما انجام دهید .
    زبان PHP به صورت کامل از ارسال ایمیل در صفحات وب پشتیبانی می نماید .
    تابع ( mail ، در PHP وظیفه ارسال ایمیل را بر عهده دارد . در این بخش قصد داریم تا به کمک تابع ( ) mail ، نحوه ارسال ایمیل را در PHP به شما آموزش دهیم .
    [HR][/HR] تابع ( ) mail :
    گفتیم که تابع ( ) mail در PHP ، وظیفه ارسال ایمیل را بر عهده دارد . اما این تابع چگونه کار می کند ؟
    تابع ( ) mail ، به وسیله پارامترهایی که برای آن تعریف شده است ، آدرس ایمیل گیرنده و فرستنده ، موضوع و متن پیام و سایر خصوصیات یک ایمیل را دریافت کرده و سپس آنها را به مقصد ارسال می کند .
    شکل کلی استفاده از این تابع به صورت زیر است :
    [TABLE="class: ex"]
    [TR]
    [TD="class: prname"] Syntax [/TD]
    [TD="class: prdes, align: left"] mail ( to , subject , message , headers ) ; [/TD]
    [/TR]
    [/TABLE]
    همانطور که در ساختار ارائه شده ، مشاهده می نمایید ، تابع ( ) mail ، دارای پارامترهای گوناگونی است که هر کدام یکی از موارد لازم یک ایمیل را دریافت می کنند . در جدول زیر به تشریح هر یک از پارامترهای فوق می پردازیم :
    [TABLE="class: ex"]
    [TR]
    [TD="class: header, colspan: 2"] syntax توضیح هر یک از موارد [/TD]
    [/TR]
    [TR]
    [TD="class: body, align: center"] توضیح [/TD]
    [TD="class: header"] پارامتر [/TD]
    [/TR]
    [TR]
    [TD="class: body, align: right"] این پارامتر آدرس ایمیل گیرنده یا گیرندگان نامه را دریافت می کند .
    استفاده از این پارامتر اجباری است . [/TD]
    [TD="class: header"] to [/TD]
    [/TR]
    [TR]
    [TD="class: body, align: right"] این پارامتر از نوع متن بوده و عنوان نامه را تعیین می نماید . این پارامتر نمی تواند بیش از یک خط باشد .
    استفاده از این پارامتر اجباری است . [/TD]
    [TD="class: header"] subject [/TD]
    [/TR]
    [TR]
    [TD="class: body, align: right"] این پارامتر از نوع متن بوده و متن نامه را تعیین می کند . هر خط در این متن باید با یک کاراکتر ( \n ) از خط قبلی و یا بعدی جدا شود . همچنین تعداد کاراکتر هر خط نباید از 70 کاراکتر بیشتر باشد .
    استفاده از این پارامتر اجباری است . [/TD]
    [TD="class: header"] massage [/TD]
    [/TR]
    [TR]
    [TD="class: body, align: right"] این پارامتر از نوع متن بوده و تعیین کننده خواصی مثل From و یا CC ( رونوشت ) است . هر خط در این متن باید با یک کاراکتر ( \r\n ) از خط قبلی و یا بعدی جدا شود .
    استفاده از این پارامتر اختیاری است . [/TD]
    [TD="class: header"] headers [/TD]
    [/TR]
    [/TABLE]
    پس از اینکه شما را با نحوه کار تابع ( ) mail و پارامترهای آن آشنا کردیم ، در چند مثال نحوه استفاده عملی از این تابع را به شما نشان می دهیم .
    [HR][/HR] ارسال یک ایمیل ساده به وسیله تابع ( ) mail :
    مثال 1 : در مثال زیر یک ایمیل ساده را به وسیله تابع ( ) mail ، ارسال کرده ایم . در این مثال هر کدام از خصوصیات ایمیل را به صورت از قبل تعیین شده در یک متغیر ذخیره کرده ایم . سپس متغیر ها را به عنوان پارامتر به تابع ( ) mail ارسال کرده ایم . این تابع نیز ایمیل را ارسال کرده و یک پیام تایید به کاربر نمایش می دهد .
    توجه داشته باشید که این مثال فقط برای نمایش نحوه عملکرد تابع ( ) mail است و اینگونه ایمیل فرستادن بعید به نظر میاد . در مثال بعدی نحوه ارسال یک ایمیل کامل به وسیله یک فرم HTML را نشان خواهیم داد .
    [TABLE="class: ex"]
    [TR]
    [TD="class: prname"] مثال [/TD]
    [TD="class: prdes, align: left"] < ? php
    $to = "someone@example.com";
    $subject = "Test mail";
    $message = "Hello! This is a simple email message.";
    $from = "someonelse@example.com";
    $headers = "From:" . $from
    mail ( $to , $subject , $message , $headers ) ;
    echo "Mail Sent.";
    ?> [/TD]
    [/TR]
    [/TABLE]
    [HR][/HR] ارسال یک ایمیل به وسیله یک فرم HTML :
    مثال 2 : در مثال زیر یک فرم HTML برای دریافت نظرات کاربران سایت طراحی کرده ایم . این فرم دارای تعدادی کادر متن است که مقادیر لازم را از کاربر دریافت کرده و سپس آنها را در یک متغیر تعیین شده ، ذخیره می نمایند . سپس این متغیرها را به عنوان پارامتر به تابع ( ) mail ارسال می کنند تا به ایمیل تعیین شده ارسال شوند :
    [TABLE="class: ex"]
    [TR]
    [TD="class: prname"] مثال [/TD]
    [TD="class: prdes, align: left"] <html>
    <body>
    <?php
    if (isset($_REQUEST['email']))
    // دستور بالا در صورتی که کادر ایمیل پر شده باشد ، ایمیل را ارسال می کند
    {
    // ارسال ایمیل
    $email = $_REQUEST['email'] ;
    $subject = $_REQUEST['subject'] ;
    $message = $_REQUEST['message'] ;
    mail ( "someone@example.com" , $subject , $message , "From:" . $email) ;
    echo "از ارسال ایمیل شما متشکریم";
    }
    else
    // اگر کادر ایمیل پر نشده باشد ، برنامه فرم زیرا را نمایش می دهد
    {
    echo " < form method='post' action='mailform.php' >
    Email : < input name='email' type='text' /> <br />
    Subject : < input name='subject' type='text' /> <br />
    Message : <br />
    < textarea name='message' rows='15' cols='40' >
    < /textarea > <br />
    < input type='submit' />
    < /form >";
    }
    ?>
    </body>
    </html>
    [/TD]
    [/TR]
    [/TABLE]
     
    یک شخص از این تشکر کرد.
  6. کاربر ارشد

    تاریخ عضویت:
    ‏6/9/12
    ارسال ها:
    14,323
    تشکر شده:
    2,698
    امتیاز دستاورد:
    0
    حرفه:
    daneshjo
    پاسخ : آموزش PHP

    [h=2]آموزش PHP - ایجاد و استفاده از کوکی ( cookie )[/h] کوکی چیست ؟
    کوکی یک قطعه اطلاعات است که سرور بر روی کامپیوتر کاربر ذخیره کرده و در مراجعات کاربر به همان سایت ، از آن اطلاعات برای شناسایی وی استفاده می کند . این اطلاعات معمولا راجع به شناسه کاربری ، رمز عبور ، تنظیمات یک کاربر بر روی سایت و ... می باشد .
    زمانی که کاربر به وسیله کامپیوتر خود همان سایت را باز می کند ، مرورگر اطلاعات کوکی ها را به سرور ارسال می کند . از کوکی برای بازیابی اطلاعات کاربری و یا سایر تنظیماتی که کاربر در یک سایت ایجاد کرده است ، در مراجعات بعدی به همان سایت استفاده می شود .
    برای مثال فرض کنید که در یک سایت فروم عضو شده و یک رمز عبور و شناسه کاربری را برای خود تعیین کرده اید . هنگامی که برای اولین بار اطلاعات کاربری خود را در مرورگر وارد می کنید ، این اطلاعات در یک کوکی بر روی مرورگر کامپیوتر شما ذخیره می شود . هنگامی که در مراجعه بعدی به همان سایت می روید ، متوجه می شوید که مرورگر اطلاعات کاربری شما را وارد نموده و شما log in شده اید ، بدون اینکه خودتان کاری انجام داده باشید . در واقع مرورگر از کوکی برای ایجاد ، ذخیره و ارسال مجدد این اطلاعات به سرور استفاده کرده است .
    مرورگر ها معمولا برای ایجاد و دخیره کوکی ها از کاربر سوال کرده و یا گزینه ای را جهت ایجاد آن قرار می دهند . پس از تایید کاربر اقدام به ایجاد و ذخیره کوکی ها می نمایند .
    توسط زبان PHP شما به راحتی می توانید کوکی های خود را ایجاد کرده و مجددا آنها را دریافت و ارسال نمایید . در این بخش قصد داریم تا شما را با نحوه ایجاد و خواندن کوکی ها در زیان PHP آشنا نماییم .
    [HR][/HR] ایجاد کوکی ( cookie ) در PHP :
    از تابع ( ) setcookie برای ایجاد و ذخیره یک کوکی در زبان PHP استفاده می شود . برای ایجاد یک کوکی تعیین چند چیز مهم است :

    1. نام
    2. مقدار
    3. مدت زمان اعتبار *
    * نکته : توجه داشته باشید که کوکی ها پس از یک مدت زمان تعیین شده ، اعتبار خود را از دست می دهند و باید دوباره فراخوانی شوند . در این حالت می گوییم ، کوکی expire شده است .
    برای مثال فرض کنید در یک سایت login کرده اید . سپس کامپیوتر و مرورگر خود را برای مدتی رها می کنید ( مرورگر و صفحه جاری را نمی بندید ) . پس از مراجعه دوباره متوجه می شوید ، که مرورگر شما را logout کرده است و دوباره باید وارد شوید . دلیل این مسئله پایان یافتن مدت زمان اعتبار یک کوکی است .
    شکل کلی تعریف و ایجاد یک کوکی به وسیله تابع ( ) setcookie در PHP به صورت زیر است :
    [TABLE="class: ex"]
    [TR]
    [TD="class: prname"] Syntax [/TD]
    [TD="class: prdes, align: left"] < ? php
    setcookie ( name , value , expire , path , domain ) ;
    ? > [/TD]
    [/TR]
    [/TABLE]

    [TABLE="class: ex"]
    [TR]
    [TD="class: header, colspan: 2"] syntax توضیح هر یک از موارد [/TD]
    [/TR]
    [TR]
    [TD="class: body, align: center"] توضیح [/TD]
    [TD="class: header"] پارامتر [/TD]
    [/TR]
    [TR]
    [TD="class: body, align: right"] پارامتر name تعیین کننده نام کوکی است . از این نام برای بازیابی و فراخوانی کوکی در سطح برنامه استفاده می شود . [/TD]
    [TD="class: header"] name [/TD]
    [/TR]
    [TR]
    [TD="class: body, align: right"] پارامتر value مقدار کوکی را تعیین می کند .این مقدار بر روی کامپیوتر ذخیره می شود . [/TD]
    [TD="class: header"] value [/TD]
    [/TR]
    [TR]
    [TD="class: body, align: right"] پارامتر expire تعیین کننده مدت زمان اعتبار کوکی ، بر حسب ثانیه است . پس از اتمام این مدت زمان ، کوکی از بین خواهد رفت .
    برای تعیین مدت زمان اعتبار کوکی ، معمولا از تابع ( ) time استفاده می شود . [/TD]
    [TD="class: header"] expire [/TD]
    [/TR]
    [TR]
    [TD="class: body, align: right"] این پارامتر تعیین کننده مسیری بر روی سرور سایت است که کوکی در آن ، قابل دریافت و ذخیره است .
    برای مثال اگر مقدار آن برابر با '/' تعیین شود ، در تمام سایت قابل دسترسی است . اما اگر روی مقدار /en/' تنظیم شود ، فقط در دایرکتوری en در سایت قابل دسترسی است .
    تعیین این پارامتر اختیاری است . [/TD]
    [TD="class: header"] path [/TD]
    [/TR]
    [TR]
    [TD="class: body, align: right"] پارامتر domain ، دامنه ای که کوکی بر روی آن قابل دسترس است را تعیین می کند .
    برای مثال اگر مقدار آن 'www.DeveloperStudio.ir' تنظیم شود ، فقط در این دامنه قابل دسترسی است .
    تعیین این پارامتر اختیاری است . [/TD]
    [TD="class: header"] domain [/TD]
    [/TR]
    [/TABLE]
    مثال های عملی :
    در مثال های زیر نحوه ایجاد چند کوکی را با پارامترهای مختلف به شما نمایش داده ایم :
    مثال 1 :در مثال زیر یک کوکی به نام info با مقدار Mehrdad را ایجاد کرده ایم ، که برای مدت یک ساعت ( 3600 ثانیه ) اعتبار دارد . به کد مثال دقت نمایید :
    [TABLE="class: ex"]
    [TR]
    [TD="class: prname"] Example [/TD]
    [TD="class: prdes, align: left"] < ? php
    setcookie ( " info ", " Mehrdad ", time( )+3600 ) ;
    ? > [/TD]
    [/TR]
    [/TABLE]
    مثال 2 : در مثال دوم یک کوکی دیگر ایجاد کرده ایم ، که برای مدت یک سال اعتبار داشته ، ولی فقط در دامنه آموزش برنامه نويسی - طراحی وب سایت - وبلاگ اعتبار دارد :
    [TABLE="class: ex"]
    [TR]
    [TD="class: prname"] Example [/TD]
    [TD="class: prdes, align: left"] < ? php
    $ expire = time( ) + 60 * 60 * 24 * 30 ;
    setcookie ( " info2 ", " Developer ", $expire , 'www.developerstudio.ir' ) ;
    ? >
    [/TD]
    [/TR]
    [/TABLE]
     
    یک شخص از این تشکر کرد.
  7. کاربر ارشد

    تاریخ عضویت:
    ‏6/9/12
    ارسال ها:
    14,323
    تشکر شده:
    2,698
    امتیاز دستاورد:
    0
    حرفه:
    daneshjo
    پاسخ : آموزش PHP

    [h=2]آموزش PHP - خواندن و حذف کوکی ( cookie )[/h] خواندن کوکی در PHP :
    در بخش قبل با نحوه تعریف و ایجاد یک کوکی در صفحات PHP آشنا شدید . در این قسمت می خواهیم نحوه خواندن و سپس حذف یک کوکی ایجاد شده را به شما آموزش دهیم .
    پس از اینکه یک کوکی در صفحه ایجاد و مقدار دهی شد ، مرورگر باید قادر باشد آن را خوانده و از اطلاعات آن استفاده نماید .
    توسط متغیر سراسری COOKIE_$ در PHP و به وسیله نام کوکی ، می توان آن کوکی را خوانده و اطلاعات آن را استفاده نمود .
    شکل کلی خواندن یک کوکی در PHP به صورت زیر است :
    [TABLE="class: ex"]
    [TR]
    [TD="class: prname"] Syntax [/TD]
    [TD="class: prdes, align: left"] < ? php
    $_COOKIE ( نام کوکی ) ;
    ? >
    Example : خواندن یک کوکی به نام user
    < ? php
    $_COOKIE ( user ) ;
    ? >
    [/TD]
    [/TR]
    [/TABLE]

    [HR][/HR] خواندن تمام کوکی های یک صفحه :
    توسط دستور زیر می توان تمام کوکی های موجود در یک صفحه را خوانده و سپس در خروجی نمایش داد :
    [TABLE="class: ex"]
    [TR]
    [TD="class: prname"] Syntax [/TD]
    [TD="class: prdes, align: left"] < ? php
    print_r ( $_COOKIE ) ;
    ? >
    [/TD]
    [/TR]
    [/TABLE]

    [HR][/HR] حذف یک کوکی :
    برای حذف یک کوکی از همان دستور setcookie که برای ایجاد آن استفاده کردیم ، استفاده می شود . با این تفاوت که برای حذف یک کوکی باید 2 کار را انجام داد :

    1. اول اینکه مقدار خالی به کوکی داده شود .
    2. دوم اینکه زمان اعتبار کوکی را به زمانی قبل از زمان جاری برد . برای مثال ، اعتبار آن را به یک ساعت قبل برد .
    برای مثال در کد زیر یک کوکی ایجاد شده به نام user را با دادن مقدار خالی و بردن اعتبار آن به زمان قبل ، از بین برده ایم :
    [TABLE="class: ex"]
    [TR]
    [TD="class: prname"] Syntax
    [/TD]
    [TD="class: prdes, align: left"] < ? php
    setcookie ( "user" , " " , time( )-3600 ) ;
    ? >
    [/TD]
    [/TR]
    [/TABLE]

    [HR][/HR] اگر مرورگر کوکی را پشتیبانی نکرد ، چه کنیم :
    اگر مرورگر کاربر به گونه ای باشد که از کوکی پشتیبانی نکند ، باید به وسیله فرم ها در PHP اطلاعات را بین صفحات منتقل کرد . استفاده از این روش یک مقدار سختر است . برای دریافت اطلاعات راجع فرم ها به بخش آموزش فرم در PHP بروید .
    البته این نکته را هم ذکر کنیم که تمام مرورگر های مطرح امروزی از کوکی ها به طور کامل پشتیبانی می کنند .
     
    یک شخص از این تشکر کرد.
  8. کاربر ارشد

    تاریخ عضویت:
    ‏6/9/12
    ارسال ها:
    14,323
    تشکر شده:
    2,698
    امتیاز دستاورد:
    0
    حرفه:
    daneshjo
    پاسخ : آموزش PHP

    [h=2]آموزش PHP -مفهوم و کاربرد Session در PHP[/h] مفهوم session :
    هنگامی که شما با یک نرم افزار در محیط ویندوز کار می کنید ، آن را باز کرده و تغییراتی درونش ایجاد نموده و سپس آن را می بندید . به این فرایند یک session یا به بیان فارسی ، جلسه می گویند .
    از ابتدای فرایند تا لحظه ای که آن را به اتمام می رسانید ، ویندوز شما را شناخته و می داند که چه کسی هستید .

    اما در دنیای وب و اینترنت اوضاع فرق دارد . وب سرور سایتی که در حال بازدید از آن هستید ، نمی داند که شما کی هستید . زیرا آدرس HTTP مرورگر به سرور راجع شما اطلاعاتی نمی دهد . بنابراین تمایز کاربران با یکدیگر غیر ممکن شده و سرور با این وضع برای سرویس دهی به آنها دچار مشکل می شود . بنابراین باید چه کرد ؟ راه حل کجاست ؟
    این مشکل در وب و در زبان PHP به وسیله session حل شده است .
    سرور سایتی که وارد آن می شوید ، اطلاعات شما مثل username , pass را در متغیرهایی به نام session ذخیره می کند . هر بار که صفحه جدیدی از همان سایت را باز می کنید ، سرور اطلاعات session شما را به همراه درخواست صفحه به مرورگر ارسال کرده و بنابراین دیگر نیازی ندارید در هر صفحه اطلاعات کاربری خود را مجددا وارد نمایید .
    این فرایند را تاکنون بارها تجربه کرده و باعث راحتی شما بوده است . اما session چگونه ایجاد و استفاده می شوند .
    نحوه تعریف session بر روی سرور :
    سرور سایت ، در لحظه ورود کاربر به سایت و وارد نمودن اطلاعات کاربری ، یک seesion با یک شناسه خاص ( unique ID - UID ) برای وی ساخته و اطلاعات وی را در آن session ذخیره می کند . این اطلاعات تا زمانی که کاربر در سایت است و یا اعتبار session از بین نرفته ، بر روی سرور ذخیره شده و در مرورگر به صورت کوکی تعریف شده اند .
    session ها موقتی هستند و پس از اینکه کاربر سایت را ترک کرد و یا مثلا برای مدتی ، صفحه جدیدی باز نکرد ، از بین می روند . بنابراین در مراجعه بعدی ، در صورت فعال نبودن کوکی برای آن سایت ، باید اطلاعات را مجددا وارد نمایید .
    معمولا عمر session را کوتاه تعریف می کنند تا امنیت اطلاعات کاربر بالا برود . تا حالا حتما به چنین موردی برخورد کرده اید . هنگامی که وارد یک سایت شده و اطلاعات خود را وارد نموده اید ، زمانی که صفحه سایت را در مرورگر به صورت باز رها کرده و پس از مدتی دوباره به سایت برگشته اید ، متوجه شده اید که اطلاعات شما از سرور پاک شده و باید مجددا وارد شوند . در این حالت می گوییم session ، منقضی یا expire شده است .
    اکنون پس از تعریف مفهوم seesion ، قصد داریم تا شما را با نحوه تعریف و استفاده از session در PHP ، آشنا نماییم .
    [HR][/HR] نحوه تعریف session در PHP :
    برای ایجاد session در یک صفحه PHP ، ابتدا باید تابع ( ) session_startup را قبل از تگ < head > در صفحه ، تعریف نمایید . به صورتی که در جدول زیر نمایش داده ایم :

    این کد session کاربر را در سرور ثبت کرده ، به شما اجازه می دهد که عملیات session را شروع نموده و یک UID برای شما ایجاد می کند .
    [TABLE="class: ex"]
    [TR]
    [TD="class: prname"] Syntax
    [/TD]
    [TD="class: prdes, align: left"] < ? php session_start( ) ; ? >
    < html >
    < head >
    < /head >
    < body >
    < /body >
    < /html > [/TD]
    [/TR]
    [/TABLE]
    پس از آماده نمودن مقدمات ، نحوه دستوری مقداردهی و سپس خواندن یک session در PHP را در جدول زیر در قالب یک مثال نمایش داده ایم . این روش روش استاندارد مقدار دهی و خواندن یک session در PHP است .
    در مثال زیر یک session به نام views ، ابتدا مقدار دهی شده و سپس در درون صفحه بازخوانی شده است :
    [TABLE="class: ex"]
    [TR]
    [TD="class: prname"] مثال [/TD]
    [TD="class: prdes, align: left"] < ? php
    session_start( ) ;
    // را مقدار دهی می کند session کد زیر یک
    $_SESSION [ 'views' ] = 1 ;
    ? >
    < html >
    < head >
    < /head >
    < body >
    < ?php
    // را می خواند session کد زیر مقدار
    echo " Pageviews = " . $_SESSION [ 'views' ] ;
    ? >
    < /body >
    < /html > [/TD]
    [/TR]
    [TR]
    [TD="class: prname"] خروجی مثال [/TD]
    [TD="class: prdes, align: left"] Pageviews = 1
    [/TD]
    [/TR]
    [/TABLE]

    مثال : در مثال دوم کدی طراحی شده است که به وسیله متغیر session به نام views ، تعداد دفعات مشاهده یک صفحه را نمایش می دهد . این دستود ابتدا مقدار این session را بررسی کرده و در صورتی که مقدار دهی نشده باشد ( یعنی کاربر اولین بار وارد صفحه شده است ) ، مقدار آن را برابر با 1 قرار می دهد . اما اگر از قبل مقدار دهی شده باشد ، یعنی کاربر قبلا به صفحه سر زده است . بنابراین یک واحد به مقدار آن اضافه می کند :
    [TABLE="class: ex"]
    [TR]
    [TD="class: header, colspan: 2"] Example
    [/TD]
    [/TR]
    [TR]
    [TD="class: body"] < ? php
    session_start( ) ;
    if ( isset ( $_SESSION [ 'views '] ) )
    $_SESSION [ 'views' ] = $_SESSION [ 'views' ] + 1 ;
    else
    $_SESSION [ 'views' ] = 1 ;
    echo "Views = " . $_SESSION [ 'views' ] ;
    ? >
    [/TD]
    [TD="class: header"] کد [/TD]
    [/TR]
    [TR]
    [TD="class: body, align: center"] مشاهده خروجی مثال [/TD]
    [TD="class: header"] خروجی [/TD]
    [/TR]
    [/TABLE]
     
  9. کاربر ارشد

    تاریخ عضویت:
    ‏6/9/12
    ارسال ها:
    14,323
    تشکر شده:
    2,698
    امتیاز دستاورد:
    0
    حرفه:
    daneshjo
    پاسخ : آموزش PHP

    [h=2]آموزش PHP - ساخت مستر پیج Master Page
    تابع های ( ) include و ( ) require[/h] مقدمه :
    به وسیله تابع های ( ) include و ( ) require ، می توانید محتویات یک صفحه را درون یک صفحه دیگر وارد نمایید . در این حالت سرور PHP ، در هنگام اجرای صفحه ، محتویات صفحه وارد شده را با صفحه اصلی ادغام کرده و به صورت یکجا نمایش می دهد .
    اما این کار چه فایده ای دارد ؟
    با یک مثال توضیح می دهیم . فرض کنید که یک سایت ساده دارید که طراحی هر صفحه آن به صورت زیر است :
    یک بخش ثابت هدر و یک بخش ثابت منو در سمت راست ، که در تمام صفحات تکرار می شوند . به علاوه یک بخش محتویات صفحه در وسط و سمت چپ صفحه ، که برای هر صفحه دارای محتویات متفاوتی است . تقریبا شبیه طراحی سایت خود ما !!
    در این حالت شما برای طراحی این سایت 2 راه حل دارید :

    1. کد هدر و منو را در هر صفحه با copy و paste کردن و به صورت تکراری در کنار سایر محتویات در هر صفحه قرار دهید .
    2. کدر هدر را در یک فایل PHP به نام هدر و کد منو را در یک فایل دیگر PHP به نام منو قرار دهید . همچنین محتویات هر صفحه را در خود آن صفحه قرار دهید . سپس محتویات هدر و منو را با به کار بردن تابع ( ) include و یا ( ) require و اشاره به نام فایل کد آنها ، در درون هر صفحه وارد نمایید . در این حالت سرور PHP در هنگام اجرای هر صفحه ، محتویات فایل های هدر و منو را با محتویات خود صفحه ترکیب کرده و خروجی را تولید می کند .
    این کار باعث صرفه جویی وقت و انرژی زیادی در هنگام طراحی صفحات وب می شود . زیرا دیگر نیازی ندارید کد بخش های تکراری را در درون هر صفحه قرار داده و فقط با یک دستور ساده ، آنها را فراخوانی می کنید .
    اما فایده دوم و بسیار مهم تر این ترفند ، که کار شما را برای به روز رسانی سایتتان فوق العاده ساده خواهد کرد .
    با استفاده از این راهکار هر زمان که بخواهید کد هدر و یا منوی سایت خود که اجزاء تکراری سایت محسوب می شدند ،را تغییر دهید ، به جای اینکه لازم باشد کد آنها را به صورت تک تک در هر صفحه تغییر دهید ، فقط یکبار کد فایل های منو یا هدر را تغییر داده و این تغییر در تمام صحفات سایت اعمال خواهند شد .
    به این شیوه در PHP و یا در ASP.Net ، ساخت مستر پیچ یا صفحات مادر گفته می شود . از صفحات مادر می توان برای طراحی سریع سایر صفحات استفاده نمود . در یک سایت شما می توانید به تعداد دلخواه و مورد نیاز و برای هر بخش ، یک صفحه مادر مخصوص طراحی نمایید .
    [​IMG]

    [HR][/HR] تفاوت تابع های ( ) include و ( ) require :
    گفتیم که از تابع های ( ) include و یا ( ) require برای ساخت مستر پیچ ها استفاده می شود . اما این دو تابع با هم چه تفاوتی دارند . این دو تابع در هر حالت با هم یکسان هستند ، به جز مورد زیر :

    • اگر در هنگام کار با تابع include مشکلی برای اجرای صفحه پیش آید ، سرور یک پیام هشدار معمولی صادر کرده ، ولی صفحه را لود و اجرا می کند .
    • اما چنانچه برای پردازش صفحه در هنگام کار با تابع ( ) require مشکلی پیش بیاید ، سرور پردازش را متوقف کرده و صفحه دیگر اجرا نمی شود .

    [HR][/HR] کار با تابع های ( ) include و ( ) require :

    [TABLE="width: 90%"]
    [TR]
    [TD] [​IMG] نحوه کار با تابع ( ) include [/TD]
    [TD] [​IMG] نحوه کار با تابع ( ) require [/TD]
    [/TR]
    [/TABLE]
     
    یک شخص از این تشکر کرد.
  10. کاربر ارشد

    تاریخ عضویت:
    ‏6/9/12
    ارسال ها:
    14,323
    تشکر شده:
    2,698
    امتیاز دستاورد:
    0
    حرفه:
    daneshjo
    پاسخ : آموزش PHP

    [h=2]اعتبار سنجی داده های ورودی در PHP :[/h] مقدمه :
    اعتبار سنجی داده های ورودی که کاربر یا برنامه در صفحات وب وارد می نمایند ، یکی از مهمترین مسائل در زمینه طراحی صفحات وب امن می باشد .
    برای روشن شدن مسئله به چند مثال اشاره می کنم .
    فرض کنید که شما یک فرم ثبت نام در سایت خود ایجاد کرده اید . کاربر در زمان ثبت نام باید یکسری اطلاعات خواسته شده را در فرم وارد نماید . مسلما اطلاعات ورودی باید با شرایط و معیارهای مورد نظر شما ، تطابق داشته باشد .
    برای مثال نام ورودی کاربر بایستی حداکثر 15 کاراکتر باشد . یا مثلا رمز عبور در دو کادر به صورت یکسان بوده و یا در نهایت باید ایمیلی که توسط وی وارد می شود ،، فرمت یک ایمیل واقعی را داشته باشد و ... .
    یک طراح وب باید این قابلیت و توانایی را داشته باشد که بتواند داده های ورودی را با معیارهای مورد نظر خود سنجیده و سپس در صورت صحیح بودن آنها ، اطلاعات را به سرور ارسال نماید . به این کار در PHP ، اعتبار سنجی اطلاعات یا فیلتر کردن می گویند .
    در این بخش قصد داریم تا شما را نحوه انجام این عملیات آشنا سازیم .
    [HR][/HR] چه اطلاعاتی را باید اعتبار سنجی نمود :
    کلیه اطلاعاتی که از سوی کاربر یا برنامه به سرور ارسال می شوند ، بایستی اعتبار سنجی شوند . سپس در صورت صحیح بودن مورد استفاده قرار بگیرند .
    در لیست زیر ، انواع داده های ورودی به یک صفحه وب را بررسی کرده ایم . عموما شما باید این اطلاعات را اعتبار سنجی نمایید :

    • داده های که کاربر در فرم های وب وارد می نماید .
    • کوکی هایی که مرورگر می فرستد .
    • داده های سرویس های وب .
    • نتایج جستجو در پایگاه داده های سرور ( Query Results ) .

    [HR][/HR] معرفی تابع های اصلی در عملیات اعتبار سنجی در PHP :
    در لیست زیر چهار تابع اصلی ، در عملیات اعتبار سنجی متغیر ها و کادر های ورود اطلاعات در PHP را به شما معرفی کرده ایم . این تابع ها دارای بیشترین کاربرد در عملیات اعتبار سنجی هستند . در ادامه به توضیح کامل این توابع خواهیم پرداخت :

    • تابع ( ) filter_var : این تابع یک متغیر را با یک فیلتر اعتبار سنج خاص ، اعتبار سنجی می کند .
    • تابع ( ) filter_var_array : این تابع آرایه ای از متغیرها را با یک یا چند فیلتر اعتبار سنج خاص ، اعتبار سنجی می کند .
    • تابع ( ) filter_input-Get : این تابع مقدار یک کادر دریافت داده را با یک فیلتر اعتبار سنج خاص ، اعتبار سنجی می کند .
    • تابع ( ) filter_input_array : این تابع مقدار چندین کادر دریافت داده را با یک یا چند فیلتر اعتبار سنج خاص ، اعتبار سنجی می کند .

    [HR][/HR] یک مثال ساده و ابتدایی از اعتبار سنجی داده :
    مثال : در مثال ساده زیر یک عملیات اعتبار سنجی ساده را انجام داده ایم . این مثال برای آشنایی کلی و ابتدایی شما با نحوه اعتبار سنجی داده در PHP است و در بخش های بعد ، مثال های کامل تری را به شما نشان خواهیم داد .
    در این مثال ابتدا یک متغیر معمولی تعریف شده است . سپس توسط یک دستور با استفاده از تابع "FILTER_VALIDATE_INT" که یکی از تابع های اعتبار سنج پیش فرض در PHP است ، این مسئله بررسی شده است که آیا متغیر تعریف شده ، عدد است یا خیر . در صورت عدد بودن آن عبارت "Integer is valid" و در صورت عدد نبودن آن عبارت "Integer is not valid" در خروجی چاپ خواهد شد :
    [TABLE="class: ex"]
    [TR]
    [TD="class: prname"] مثال [/TD]
    [TD="class: prdes, align: left"] < ? php
    $int = 123;

    if ( filter_var ( $int , FILTER_VALIDATE_INT ) )
    {
    echo ( " Integer is not valid " ) ;
    }
    else
    {
    echo ( " Integer is valid " ) ;
    }
    ?>
    [/TD]
    [/TR]
    [/TABLE]

    [HR][/HR] [HR][/HR]
     
    یک شخص از این تشکر کرد.