متغیرهای از پیش تعریف شده در PHP

متغیرهای از پیش تعریف شده در PHP

معرفی متغیرهای سراسری ( Superglobals ) در PHP :

    متغیرهای سراسری ( Superglobals ) ، متغیرهای پیش ساخته ای هستند که از ورژن ۴٫۰٫۱ به بعد در PHP معرفی شده و در تمام کدهای صفحات PHP قابل دسترسی و استفاده می باشند .
این متغیرها از پیش تعریف شده اند و شما بدون نیاز به انجام کار خاصی ، می توانید آنها را در هر تابع ، کلاس و … به آسانی به کار ببرید .

متغیرهای از پیش تعریف شده در PHP متغیرهای از پیش تعریف شده در php متغیرهای از پیش تعریف شده در PHP Predefined variables in PHP

متغیرهای از پیش تعریف شده در PHP

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

  • $GLOBALS
  • $_SERVER
  • $_REQUEST
  • $_POST
  • $_GET
  • $_FILES
  • $_ENV
  • $_COOKIE
  • $_SESSION

PHP شمار زیادی متغیر از پیش تعریف شده {predefined variable} برای هر script {پردازه} ای که اجرا می کند منحصراً می سازد.PHP همچنین مجموعه ای آرایه ی از پیش تعریف شده {predefined arrays} اضافه بر سازمان که شامل variable از محیط وِب سِرور و داده و ورودی کاربر {user input} می شود فراهم می سازد. این آرایه های جدید superglobal خوانده می شوند.

تمام variable های زیر در کلیه ی scope {محدوده و زمینه} ها حاضر و قابل دسترس هستند.

Variable {متغیر} 

Description {توصیف عملکرد} 

$GLOBALS

دربردارنده ی ارجاع {reference} به هر variable ای که هم اکنون در محدوده ی کلی script موجوداست، هست.اسم متغیرهای سراسری{name of the global variables} کلید های این {array} آرایه هستند.

$_SERVER

این آیتم آرایه ای هست دربردارنده ی اطلاعاتی از قبیل {هِدر}header ، مسیرها{path}ومکان پردازه ها{script location} .entry یا مدخل ها ی موجود در این آرایه توسط web server ساخته می شود.البته هیچ ضمانتی وجود ندارد که هر وِب سِروری تمام این موارد را برای شما فراهم کند.برای مشاهده ی فهرست تمام این SERVER ها به بخش بعدی مراجعه کنید.

$_GET

آرایه ای شرکت پذیر از متغیر ها{associative array of variables} که از طریق HTTP GET method به script یا پردازه ی جاری فرستاده می شود.

$_POST

آرایه ای شرکت پذیر از متغیر ها{associative array of variables} که از طریق HTTP  POST method به script یا پردازه ی جاری فرستاده می شود.

$_FILES

آرایه ای شرکت پذیر{associative array of items} از آیتم ها که از طریق HTTP  POST method به script یا پردازه ی جاری آپلود می شود.

$_REQUEST

آرایه ای شرکت پذیر{associative array} متشکل از محتوای{content} $_GET، $_POST، و$_COOKIE..

$_COOKIE

آرایه ای شرکت پذیر از متغیر ها{associative array of variables} که از طریق HTTP cookies. به script یا پردازه ی جاری فرستاده می شود.

$_SESSION

آرایه ای شرکت پذیر{associative array}  دربردارنده ی session variable های حاضر و آماده برای script یا پردازه ی جاری .

$_PHP_SELF

رشته{string} دربردارنده ی اسم فایل پردازه PHP {PHP script file name} ای که در آن فراخوانده و call می شود.

$php_errormsg

$php_errormsg یک متغیر{variable} است که متن یا text آخرین پبغام خطا {error message}  اعلام و ساخته شده توسط PHP را شامل می شود.

SERVER VARIABLES: $_SERVER 

این آیتم آرایه ای هست دربردارنده ی اطلاعاتی از قبیل {هِدر}header، مسیرها {path} و مکان پردازه ها {script location} . entry یا مدخل ها ی موجود در این آرایه توسط web server ساخته می شود.البته هیچ ضمانتی وجود ندارد که هر وِب سِروری تمام این موارد را برای شما فراهم کند.

Variable{متغیر}

Description{توصیف عملکرد}

$_SERVER[‘PHP_SELF‘]

Filename} {نام فایل پردازه {executing script} جاری و در حال اجرا می باشد،  که مربوط به document root است.

$_SERVER[‘argv‘]

آریه ای از آرگومان ها{array of arguments} که به script فرستاده می شود.هنگامی که script در خط فرمان {command line} فعال و اجرا می شود، این فرآیند به C-style اجازه ی دسترسی به پارامتر های خط فرمان{command line parameter} می دهد.هنگامی که از طریق GET method فراخوانده شود ، $_SERVER[‘argv’]دربردارنده ی query string خواهد بود.

$_SERVER[‘argc‘]

حاوی تعداد پارامتر های خط فرمان{command line parameter} فرستاده شده به script است.البته در صورتی در خط دستور اجرا و راه اندازی شود.

$_SERVER[‘GATEWAY_INTERFACE‘]

این که چه revision {نسخه ی اصلاح شده} از مجموعه مشخصات و ویژه گی ها CGI ، را server دارد به کار می برد.

$_SERVER[‘SERVER_ADDR‘]

IP address سِرور است که script تحت آن در حال فعالیت و اجرا کردن است.

$_SERVER[‘SERVER_NAME‘]

اسم سرویس دهنده ی میزبان {host erver} است که script تحت آن در حال فعالیت و اجرا کردن است.در صورتی که script بر روی سِرور مجازی فعال باشد، $_SERVER[‘SERVER_NAME’] ، value یا مقدار تعیین شده برای آن خواهد بود.

$_SERVER[‘SERVER_SOFTWARE‘]

Server identification string{ رشته شناسه سِرور}، که در header ها هنگام پاسخ دادن به درخواست ، به شما داده می شود.

$_SERVER[‘SERVER_PROTOCOL‘]

اسم و نسخه ی اصلاح شده{name و revision} پروتکل اطلاعات{information protocol} که از طریق آن صحفه درخواست شده بود، یعنی ‘HTTP/1.0’;

$_SERVER[‘REQUEST_METHOD‘]

اسم میزبان{host name} ای که کاربر هم اکنون دارد صحفه جاری را از آن مشاهده می کند.جستو وجوی معکوس dns {reverse dns lookup} بر اساس REMOTE_ADDR کاربر است.

$_SERVER[‘REMOTE_PORT‘]

پُرتی{port} که سیستم کاربر از آن برای برقراری ارتباط با سِرور وِب استفاده می کند.

$_SERVER[‘SCRIPT_FILENAME‘]

نام مسیر{pathname} مطلقِ پردازه{script} در حال اجرا.

$_SERVER[‘SERVER_ADMIN‘]

Value {مقدار} داده شده بهSERVER_ADMIN برای دایرکتوری (Appache) در web server configuration file{ فایل پیکربندی سِرور وِب } است.

$_SERVER[‘SERVER_PORT‘]

پُرت{port} دستگاه وِب سرور است که web server از آن برای برقراری ارتباط استفاده می کند. برای{default setup} نصب حالت پیش فرض این آیتم ۸۰ خواهد بود.

$_SERVER[‘SERVER_SIGNATURE‘]

String{رشته} حاوی web server version {ُنسخه ی سرور وِب} وvirtual host name{ اسم میزبان مجازی} که در صورت فعال شدن به صفحات ساخته شده توسط وِب اضافه می شود.

$_SERVER[‘PATH_TRANSLATED‘]

مسیر مبتنی بر  فایل سیستم{{ filesystem به پردازه ی جاری {script current} .

$_SERVER[‘SCRIPT_NAME‘]

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

$_SERVER[‘REQUEST_URI‘]

URL ای که برای دستیابی به این صحفه داده می شود برای مثال ‘/index.html’

$_SERVER[‘PHP_AUTH_DIGEST‘]

هنگامی که تحت Appache به عنوان module در حال انجام دادن عملیات Digest HTTP authentication {تصدیق Digest http} هستید این variable با {اختیار دهی}autorization’ ‘ header فرستاده شده توسط سرویس گیرنده{client} set می شود.

$_SERVER[‘PHP_AUTH_USER‘]

هنگامی که تحت Appache یا IIS (ISAPI on PHP 5) به عنوان module در حال انجام دادن عملیات HTTP authentication {تصدیق http} هستید، این variable با }اسم کاربر}username تولید شده توسط کاربر سِت{set} می شود.

$_SERVER[‘PHP_AUTH_PW‘]

هنگامی که تحت Appache یا IIS (ISAPI on PHP 5) به عنوان module در حال انجام دادن عملیات HTTP authentication {تصدیق http} هستید، این variable با رمزعبور{password} به دست آمده توسط کاربر set می شود.

$_SERVER[‘AUTH_TYPE‘]

هنگامی که تحت Appache به عنوان module در حال انجام دادن عملیات HTTP authentication {تصدیق http} هستید، این variable با authentication type تنظیم می گردد و قرار می گیرد.

متغیر GET_$

GET_$ یک متغیر یا آرایه از پیش تعریف شده است و مقادیر فرم HTMLی که خصوصیت method آن با مقدار “get” پر شده باشد، بصورت اتوماتیک در آن ذخیره می شوند.

  1. توجه داشته باشید حروف متغیر GET_$، حروف بزرگ است.
  2. اطلاعات فرستاده شده از یک فرم HTMLی که خصوصیت method آن با مقدار “get” پر شده باشد توسط هر شخصی قابل مشاهده است (اطلاعات در نوار آدرس مرورگر نمایش داده می شود)، این موضوع در ارسال اطلاعات محدودیت ایجاد می کند.

زمانی که کاربر روی دکمه “Submit” کلیک می کند، URL زیر به سرور فرستاده می شود و البته این آدرس توسط هر شخصی قابل مشاهده است:

http://www.w3schools.com/welcome.php?fname=Amir&age=28

فایل “welcome.php” حالا می تواند با استفاده از متغیر GET_$ اطلاعات فرم HTML را جمع آوری کند.

نکته: نام (name) هر فیلد در فرم HTML یکتا است. این نام در حقیقت ایندکس آرایه GET_$ خواهد بود، و با آن می توانیم به مقادیر فیلدها دسترسی داشته باشیم.

 

موارد استفاده از متد “get’ در php :

  1. زمانی که می خواهیم کلمه عبور یا اطلاعات حساس کاربر را ارسال کنیم، نباید ار متد get استفاده کرد.
  2. متد get برای ارسال متغیرهای با مقادیر بزرگ، مانند متن ها مناسب نیست.(نباید مقادیرمان بیشتر از ۲۰۰۰ کاراکتر باشد)
  3. به خاطر اینکه متغیرها و مقادیرشان در URL نمایش داده می شود، بنابراین می توان از آنها در صفحات دیگر پروژه استفاده کرد، در حقیقت از این طریق می توان متغیر ها را به صفحات دیگر پاس داد
آموزش PHP آموزش طراحی وب

دیدگاه خود را بیان کنید