PHP عالمی متغیر - سوپرگلوبل متغیرات
- صفحه قبلی پی ایچ پی آرایهها ترتیبدهی
- صفحه بعدی PHP فرمها
سوپرگلوبل متغیرات کو PHP 4.1.0 میں شروع کیا گیا تھا، یہ وہ داخلی متغیرات ہیں جو تمام سائکسم میں دستیاب رہتی ہیں۔
PHP عالمی متغیر - سوپرگلوبل متغیرات
PHP میں کئی پیش تعریف شدہ متغیرات 'سوپرگلوبل' کے نام سے جانتے ہیں، یعنی وہ تمام اسکریپٹ کی سائکسم میں دستیاب ہوتی ہیں۔ فونکشن یا طریقوں میں ان کو استعمال کئے جاسکتا ہے، جب تک global $variable; نہیں چلایا جاتا۔
یہ سوپرگلوبل متغیرات یہ ہیں:
- $GLOBALS
- $_SERVER
- $_REQUEST
- $_POST
- $_GET
- $_FILES
- $_ENV
- $_COOKIE
- $_SESSION
یہ سیکشن چند سوپرگلوبل متغیرات کا معارف دے گا، اور بعد میں کچھ دیگر سوپرگلوبل متغیرات کا بھی معارف دے گا۔
$GLOBALS - عالمی سائکسم میں دستیاب تمام متغیرات کا حوالہ
$GLOBALS اس عالمی متغیر کو اسکریپٹ کی کسی بھی جگہ استعمال کئے جاسکتا ہے (کسی بھی فونکشن یا طریقے میں بھی)۔
PHP نے وہ تمام متغیرات کو $GLOBALS نام کے شمارش میں محفوظ کرتا ہے جس کا نام متغیر کا نام ہوتا ہے۔
یہ مثال دکھاتا ہے کہ کس طرح سوپرگلوبل متغیر $GLOBALS استعمال کئے جاتے ہیں:
مثال
<?php $x = 75; $y = 25; function addition() { $GLOBALS['z'] = $GLOBALS['x'] + $GLOBALS['y']; } addition(); echo $z; ?>
یہ مثال میں، ز اسکریپت کی کسی بھی جگہ استعمال کئے جاسکتا ہے، کیونکہ وہ $GLOBALS شمارش کی متغیر ہے۔
PHP $_SERVER
$_SERVER اس بہت بڑی متغیر کوئی سرور کی سرگرمی، راستے اور اسکریپٹ کی پوزیشن کی معلومات محفوظ کرتی ہے。
یہ مثال دکھاتا ہے کہ کس طرح $_SERVER میں کچھ عناصر استعمال کئے جاتے ہیں:
مثال
<?php echo $_SERVER['PHP_SELF']; echo "<br>"; echo $_SERVER['SERVER_NAME']; echo "<br>"; echo $_SERVER['HTTP_HOST']; echo "<br>"; echo $_SERVER['HTTP_REFERER']; echo "<br>"; echo $_SERVER['HTTP_USER_AGENT']; echo "<br>"; echo $_SERVER['SCRIPT_NAME']; ?>
درج ذیل جدول میں آپ کی $_SERVER میں دستیاب سب سے اہم عناصر کا جدول دیا گیا ہے:
عنصر/کد | وصف |
---|---|
$_SERVER['PHP_SELF'] | موجودہ اسکریپٹ کو چلنے والے فائل کا نام کو بازگرداند。 |
$_SERVER['GATEWAY_INTERFACE'] | سرور کے ذریعے استعمال کی CGI معیارات کی ورژن کو بازگرداند。 |
$_SERVER['SERVER_ADDR'] | موجودہ اسکریپٹ کو چلنے والے سرور کا آئی پی ایس آدرس کو بازگرداند。 |
$_SERVER['SERVER_NAME'] | موجودہ اسکریپٹ کو چلنے والے سرور کا میزبان نام کو بازگرداند (مثلاً www.codew3c.com)。 |
$_SERVER['SERVER_SOFTWARE'] | سرور کی علامت کو بازگرداند (مثلاً Apache/2.2.24)。 |
$_SERVER['SERVER_PROTOCOL'] | درخواست کے وقت کا مواصلاتی پروٹوکول کا نام اور ورژن کو بازگرداند (مثلاً “HTTP/1.0”)。 |
$_SERVER['REQUEST_METHOD'] | صفحہ کو درخواست کے ذریعے کا نام کو بازگرداند (مثلاً POST)。 |
$_SERVER['REQUEST_TIME'] | درخواست کی شروعات کے وقت کا میل-لیگن کو بازگرداند (مثلاً 1577687494)。 |
$_SERVER['QUERY_STRING'] | جستجو کی جملہ کو بازگرداند، اگر اس صفحہ کو جستجو کی جملے کے ذریعے دیکھا گیا ہے。 |
$_SERVER['HTTP_ACCEPT'] | موجودہ درخواست کی سرچنگ کو بازگرداند。 |
$_SERVER['HTTP_ACCEPT_CHARSET'] | موجودہ درخواست کی Accept_Charset سرچنگ کو بازگرداند (مثلاً utf-8, ISO-8859-1)。 |
$_SERVER['HTTP_HOST'] | موجودہ درخواست کی ہوسٹ سرچنگ کو بازگرداند。 |
$_SERVER['HTTP_REFERER'] | مکمل URL کی صفحہ جاری کو بازگرداند (اعتماد نہیں، کیونکہ تمام کاربروں کا نمائندہ نہیں اسپورٹ کرتا ہے)。 |
$_SERVER['HTTPS'] | کیا سیکور http پروٹوکول کے ذریعے اسکریپٹ کو جستجو کیا گیا ہے یا نہیں。 |
$_SERVER['REMOTE_ADDR'] | یوزر کی مکین کا آئی پی ایڈریس کو بازگرداند جس نے حالیہ پیج کو دیکھا ہے۔ |
$_SERVER['REMOTE_HOST'] | یوزر کی مکین کا میزبان نام کو بازگرداند جس نے حالیہ پیج کو دیکھا ہے۔ |
$_SERVER['REMOTE_PORT'] | یوزر کی مکین میں ووب سرور سے جڑنے کیلئے استعمال کی جانے والی پورٹ کو بازگرداند۔ |
$_SERVER['SCRIPT_FILENAME'] | حالیہ اسکریپٹ کا مکمل راستہ کو بازگرداند۔ |
$_SERVER['SERVER_ADMIN'] | یہ نمبر Apache سرور کانفیگ فائل میں SERVER_ADMIN پارامتر کی تعین کی گئی ہے۔ |
$_SERVER['SERVER_PORT'] | وеб سرور کا استعمال کی جانے والا پورٹ، فرضی نمبر '80' ہے۔ |
$_SERVER['SERVER_SIGNATURE'] | سرور کی ورژن اور ویرچوال میزبان کا نام کو بازگرداند۔ |
$_SERVER['PATH_TRANSLATED'] | اسکریپٹ کا بنیادی راستہ فائل سسٹم میں (غیر ڈاکومن رور ڈائریکٹری) میں، |
$_SERVER['SCRIPT_NAME'] | حالیہ اسکریپٹ کی راستہ کو بازگرداند۔ |
$_SERVER['SCRIPT_URI'] | حالیہ پیج کی URI کو بازگرداند۔ |
PHP $_REQUEST
PHP $_REQUEST استعمال کیا جاتا ہے تاکہ HTML فرم کو submit کے بعد کا فرم کا اعداد و شمار جمع کیا جائے:
یہ مثال ایک فرم کا نمونہ پیش کرتا ہے جس میں ورودی فیلڈ اور داخل کریئن کا بٹن شامل ہوتا ہے۔ جب یوزر داخل کریئن بٹن پر کلک کرتا ہے تاکہ فرم کا اعداد و شمار داخل کر سکے، فرم کا اعداد و شمار <form> تگ کی action خاصیت میں مذکور اسکریپٹ فائل کو ارسال کیا جاتا ہے۔ اس مثال میں، ہم فائل کی خود کو مذکور کیا ہوا ہے تاکہ فرم کا اعداد و شمار پروسیس کیا جائے۔ اگر آپ دیکھنا چاہئیں کہ دوسرے PHP فائل کو فرم کا اعداد و شمار پروسیس کئے جائیں، تو آپ کے منتخب فائل کا نام بدل دیں جس کو آپ چنا ہوا ہو، تو پھر آپ میں سوپر گلوبل وارئیبل $_REQUEST کا استعمال کرسکتے ہیں تاکہ input فیلڈ کا اعداد و شمار جمع کئے جائیں:
مثال
<html> <body> <form method="post" action="<?php echo $_SERVER['PHP_SELF'];?>"> نام: <input type="text" name="fname"> <input type="submit"> </form> <?php $name = $_REQUEST['fname']; echo $name; ?> </body> </html>
PHP $_POST
PHP $_POST وسیع طور پر استعمال کیا جاتا ہے تاکہ HTML فرم کو submit method="post" کے بعد کا فرم کا اعداد و شمار جمع کیا جائے اور متغیرات کو منتقل کیا جائے۔ $_POST کا استعمال بہت زیادہ متغیرات کو منتقل کیا جانے کیلئے بھی کیا جاتا ہے:
یہ مثال ایک فرم کا نمونہ پیش کرتا ہے جس میں ورودی فیلڈ اور داخل کریئن کا بٹن شامل ہوتا ہے۔ جب یوزر داخل کریئن بٹن پر کلک کرتا ہے تاکہ اعداد و شمار داخل کر سکے، فرم کا اعداد و شمار <form> تگ کی action خاصیت میں مذکور فائل کو ارسال کیا جاتا ہے۔ اس مثال میں، ہم فائل کی خود کو مذکور کیا ہوا ہے تاکہ فرم کا اعداد و شمار پروسیس کیا جائے۔ اگر آپ دیکھنا چاہئیں کہ دوسرے PHP پیج کو فرم کا اعداد و شمار پروسیس کئے جائیں، تو آپ کے منتخب فائل کا نام بدل دیں جس کو آپ چنا ہوا ہو، تو پھر آپ میں سوپر گلوبل وارئیبل $_POST کا استعمال کرسکتے ہیں تاکہ ورودی فیلڈ کا اعداد و شمار جمع کئے جائیں:
مثال
<html> <body> <form method="post" action="<?php echo $_SERVER['PHP_SELF'];?>"> نام: <input type="text" name="fname"> <input type="submit"> </form> <?php $name = $_POST['fname']; echo $name; ?> </body> </html>
PHP $_GET
PHP $_GET همچنین میتواند برای جمعآوری دادههای فرم (method="get") ارسالی استفاده شود.
$_GET همچنین میتواند دادههای ارسالی در URL را جمعآوری کند.
فرض کنید ما یک صفحه داریم که شامل لینکهای با پارامتر است:
<html> <body> <a href="test_get.php?subject=PHP&web=codew3c.com">تست $GET</a> </body> </html>
وقتی کاربر روی لینک "تست $GET" کلیک میکند، پارامترهای "subject" و "web" به "test_get.php" ارسال میشوند و سپس شما میتوانید این مقادیر را از طریق $_GET در "test_get.php" دسترسی پیدا کنید.
در مثال زیر کد از فایل "test_get.php" آمده است:
مثال
<html> <body> <?php echo "در " . $_GET['web'] . " یاد میگیرید " . $_GET['subject']; ?> </body> </html>
توضیح:شما در فرمهای PHP در این بخش بیشتر درباره $_POST و $_GET یاد میگیرید.
- صفحه قبلی پی ایچ پی آرایهها ترتیبدهی
- صفحه بعدی PHP فرمها