آموزش روش های  GET & POST در PHP

3 سال پیش
آموزش روش های  GET & POST در PHP

آموزش روش های  GET & POST در PHP

در این درس از مجموعه آموزش برنامه نویسی سایت سورس باران، به آموزش روش های  GET & POST در PHP خواهیم پرداخت.

دو راه وجود دارد که سرویس گیرنده مرورگر می تواند اطلاعات را به وب سرور ارسال کند.

  • روش GET
  • روش POST

قبل از اینکه مرورگر اطلاعات را ارسال کند ، آنها را با استفاده از طرحی به نام رمزگذاری URL کدگذاری می کند. در این طرح ، جفت نام / مقدار با علائم برابر به هم پیوند می خورند و جفت های مختلف توسط شن و ماسه جدا می شوند.

name1 = value1 & name2 = value2 & name3 = value3

 

فضاها حذف می شوند و با حرف + جایگزین می شوند و سایر شخصیت های غیر عددی با مقادیر هگزادسیمال جایگزین می شوند. پس از رمزگذاری اطلاعات ، به سرور ارسال می شود.

روش GET

روش GET اطلاعات کاربری رمزگذاری شده به درخواست صفحه را ارسال می کند. صفحه و اطلاعات رمزگذاری شده توسط ؟ جدا می شوند.

http://www.test.com/index.htm؟name1=value1&name2=value2

 

  • روش GET یک رشته طولانی را ایجاد می کند که در سیاهههای مربوط به سرور شما ، در جعبه Location: مرورگر ظاهر می شود.
  • روش GET فقط برای ارسال حداکثر ۱۰۲۴ نویسه محدود شده است.
  • اگر رمز عبور یا سایر اطلاعات حساس برای ارسال به سرور دارید ، هرگز از روش GET استفاده نکنید.
  • از GET نمی توان برای ارسال داده های باینری مانند تصاویر یا اسناد word به سرور استفاده کرد.
  • داده های ارسال شده توسط روش GET با استفاده از متغیر محیط QUERY_STRING قابل دسترسی است.
  • PHP آرایه انجمنی $ _GET را برای دسترسی به کلیه اطلاعات ارسال شده با استفاده از روش GET فراهم می کند.

مثال زیر را با قرار دادن کد منبع در اسکریپت test.php امتحان کنید.

<?php
   if( $_GET["name"] || $_GET["age"] ) {
      echo "Welcome ". $_GET['name']. "<br />";
      echo "You are ". $_GET['age']. " years old.";
      
      exit();
   }
?>
<html>
   <body>
   
      <form action = "<?php $_PHP_SELF ?>" method = "GET">
         Name: <input type = "text" name = "name" />
         Age: <input type = "text" name = "age" />
         <input type = "submit" />
      </form>
      
   </body>
</html>

 

این نتیجه زیر را ایجاد می کند –

Forms

روش POST

روش POST اطلاعات را از طریق هدرهای HTTP منتقل می کند. اطلاعات به روشی که در مورد روش GET توضیح داده شده رمزگذاری می شود و در سرصفحه ای به نام QUERY_STRING قرار می گیرد.

  • روش POST هیچ محدودیتی در اندازه داده برای ارسال ندارد.
  • از روش POST می توان برای ارسال ASCII و همچنین داده های باینری استفاده کرد.
  • داده های ارسال شده توسط روش POST از طریق سرآیند HTTP عبور می کند بنابراین امنیت به پروتکل HTTP بستگی دارد. با استفاده از Secure HTTP می توانید از ایمن بودن اطلاعات خود اطمینان حاصل کنید.
  • PHP آرایه انجمنی $ _POST را برای دسترسی به کلیه اطلاعات ارسالی با استفاده از روش POST فراهم می کند.

مثال زیر را با قرار دادن کد منبع در اسکریپت test.php امتحان کنید.

<?php
   if( $_POST["name"] || $_POST["age"] ) {
      if (preg_match("/[^A-Za-z'-]/",$_POST['name'] )) {
         die ("invalid name and name should be alpha");
      }
      echo "Welcome ". $_POST['name']. "<br />";
      echo "You are ". $_POST['age']. " years old.";
      
      exit();
   }
?>
<html>
   <body>
   
      <form action = "<?php $_PHP_SELF ?>" method = "POST">
         Name: <input type = "text" name = "name" />
         Age: <input type = "text" name = "age" />
         <input type = "submit" />
      </form>
   
   </body>
</html>

 

این نتیجه زیر را ایجاد می کند –

Forms

متغیر  REQUEST_$

متغیر PHP $ _REQUEST شامل محتویات $ _GET ، $ _POST و $ _COOKIE است. وقتی در مورد کوکی ها توضیح خواهیم داد ، درباره متغیر COOKIE-$ بحث خواهیم کرد.

از متغیر PHP $ _REQUEST می توان برای بدست آوردن نتیجه از داده های فرم ارسال شده با دو روش GET و POST استفاده کرد.

مثال زیر را با قرار دادن کد منبع در اسکریپت test.php امتحان کنید.

<?php
   if( $_REQUEST["name"] || $_REQUEST["age"] ) {
      echo "Welcome ". $_REQUEST['name']. "<br />";
      echo "You are ". $_REQUEST['age']. " years old.";
      exit();
   }
?>
<html>
   <body>
      
      <form action = "<?php $_PHP_SELF ?>" method = "POST">
         Name: <input type = "text" name = "name" />
         Age: <input type = "text" name = "age" />
         <input type = "submit" />
      </form>
      
   </body>
</html>

 

در اینجا متغیر $ _PHP_SELF حاوی نام اسکریپت شخصی است که در آن فراخوانی می شود.

این نتیجه زیر را ایجاد می کند –

Forms

 

منبع.

 

لیست جلسات قبل آموزش PHP

  1. آموزش PHP
  2. معرفی PHP
  3. آموزش تنظیمات محیط PHP
  4. آموزش نحو PHP
  5. آموزش انواع متغیر در PHP
  6. آموزش انواع ثابت ها در PHP
  7. آموزش انواع عملگرها در PHP
  8. آموزش تصمیم گیری در PHP
  9. آموزش انواع حلقه در PHP
  10. آموزش آرایه ها در PHP
  11. آموزش رشته ها در PHP
  12. آموزش مفاهیم وب در PHP
0
برچسب ها :
نویسنده مطلب erfan molaei

دیدگاه شما

بدون دیدگاه