در این بخش می خواهیم با استفاده از دستورات php اطلاعات وارد شده در فرم را پردازش کرده و مورد استفاده قرار دهیم . در آموزش های دیگر سایت با تگ های HTML برای طراحی فرم های ورود اطلاعات آشنا شدید،
مثال برای فرم HTML
مثال زیر یک صفحه rect.htmlدارای دو جعبه متن دریافت طول و عرض یک مستطیل و یک دکمه برای ارسال فرم میباشد:
صفحه rect.htm
<html>
<body>
<form action="rect.php" method="get">
Tool: <input type="text" name=”tool” />
Arz : <input type="text" name="arz" />
<input type="submit" value=”Submit” />
</form>
</body>
</html>
هر وقت کاربر صفحه فوق را با اتصال به سرور باز کند، یک فرم دارای دو جعبه متن و یک دکمه ارسال خواهد دید، کاربر پس از پر کردن فرم ، روی دکمه Submit کلیک می کند و اطلاعات فرم به فایل PHP با نام rect.phpروی سرور ارسال خواهد شد. اطلاعات ارسال شده با متد get بصورت زیر به ادامه URL اضافه شده و به سرویس دهنده ارسال می شوند:
اطلاعات دریافت شده با روش GET روی سرویس دهنده، تحویل برنامه (rect.php ) می شود و در این برنامه می توان با استفاده از آرایه $_GET به آنها دسترسی پیدا کرد.
آرایه های انجمنی$_GET و POST_$ برای بازیابی اطلاعات از فرم های فرستاده شده با متدهای GETو POST استفاده می شوند. کلید های(اندیس ها) این آرایه ها همان نام ورودی های فرم و مقادیر آنها همان مقادیر وارد شده در فرم می باشند.
اطلاعات دریافت شده با روش GET روی سرویس دهنده، تحویل برنامه (rect.php ) می شود و در این برنامه می توان با استفاده از آرایه $_GET به آنها دسترسی پیدا کرد.
آرایه های انجمنی$_GET و POST_$ برای بازیابی اطلاعات از فرم های فرستاده شده با متدهای GETو POST استفاده می شوند. کلید های(اندیس ها) این آرایه ها همان نام ورودی های فرم و مقادیر آنها همان مقادیر وارد شده در فرم می باشند.
فایل rect.php می تواند بصورت زیر نوشته شود:
<?php
$t = $_GET[‘tool’];
$a = $_GET[‘arz’];
$mo = ( $t +$a ) * 2 ;
$ms = $t * $a ;
<h2>Mohit: <?php echo $mo; ?></h2>
<h2>Masahat: <؟php echo $ms; ?></h2>
که خروجی زیر به مرورگر برگردانده خواهد شد :
Mohit: 100
Masahat : 600
?در نوشتن نام آرایه $_GET به بزرگی حروف و خط زیر ابتدای آنها توجه داشته باشید. PHP دارای مجموعه ای از آرایه های پیش ساخته است که تمام آنها با خط زیر شروع شده و حروف بزرگ نوشته می شوند. به مرور با مهمترین آنها آشنا خواهید شد.
مقایسه متدهای GET و POST
اطلاعات ارسال شده از فرم با متد GET ، در نوار آدرس مرورگر نشان داده می شوند و برای هر کسی قابل رویت هستندو طول اطلاعات ارسالی محدود است (حداکثر 100 کاراکتر).وقتی روی دکمه ارسال کلیک شود URL بصورت زیر به سرویس دهنده فرستاده خواهد شد(متغیرهای فرم در ادامه آدرس صفحه قرار خواهند گرفت):
http://localhost/site2/rect.php?tool=30&arz=20
وقتی از متد GET در فرم های HTML استفاده می کنیم همه متغیرها و مقادیر آنها در URL نمایش داده می شود پساین متد نمی تواند برای اطلاعات حساسی مثل کلمه عبور استفاده شود.با وجود این چون اطلاعات در نوار آدرس نشان داده می شود می تواند در علامت گذاری صفحات و مرور آنها استفاده شود.
متدGET نمی تواند برای ارسال اطلاعات بلند استفاده شود و طول اطلاعات نباید از 100 کاراکتر تجاوز کند.
اطلاعات ارسال شده از فرم با متد POST بصورت مخفی ارسال شده و می توانند دارای طول نامحدود باشند. طول داده های ارسال شده با متد POST حداکثر 8 مگابایت است ولی با تنظیم متغیر post_max_size در فایل پیکربندی php.ini قابل تغییر است.
مثال
وقتی کاربر روی دکمه submit کلید کند URL زیر درخواست می شود:
http://localhost/site2/rect.php
فایل rect.php می تواند از آرایه POST_$ برای جمع آوری اطلاعات فرم استفاده کند (نام فیلدهای فرم بصورت خودکار تبدیل به کلیدهای آرایه POST_$ خواهند شد):
$t = $_POST[‘tool’];
$a = $_POST[‘arz’];
اطلاعاتی که نباید به دیگران نشان داده شده و یا دارای طول زیادی هستند با این شیوه ارسال می شوند.
با وجود این چون متغیرها در URL نشان داده نمی شوند برای تشخیص و علامتگذاری صفحات مناسب نخواهد بود. برای ارسال فایلها باید از این روش استفاده کرد.
آرایه پیش ساخته REQUEST_$ شامل محتوای هر POST_$ و$_GET می باشد.
آرایه REQUEST_$ نیز می تواند برای جمع آوری اطلاعات ارسال شده با متدهای GET و POST استفاده شود.
مثال:
$t=$_REQUEST["tool"];
$a=$_REQUEST["arz"];