آموزش برنامه نویسی ، پایگاه داده sql server
آموزشگاه برنامه نویسی تحلیل داده : دوره های آموزشی برنامه نویسی و طراحی وب ASP.Net , C# , HTML , CSS , SQL Server


آموزشگاه برنامه نویسی مجتمع فنی تهران میرداماد : دوره های آموزشی برنامه نویسی و طراحی وب ASP.Net , C# , HTML , CSS , SQL Server

آموزش PHP   >   راهکارهای موثر در PHP > راهکار های کار با فرم ها در PHP
بخش اول : طراحی و مدیریت فرم های ساده HTML در PHP

مقدمه :

در این راهکار قصد داریم تا شما را با نحوه ایجاد و مدیریت فرم های HTML در PHP و سپس ارسال اطلاعات آنها ، به صفحه مقصد جهت پردازش آشنا نماییم .
برای طراحی فرم ها ، از زبان و کنترل های HTML استفاده کرده و سپس برای دریافت و پردازش اطلاعات ارسالی از فرم ، از برنامه نویسی PHP بهره می گیریم .
در زبان PHP ، متغیرهای سراسری GET_$ و POST_$ ، همانطور که در این راهکار خواهید دید ، برای دریافت اطلاعات ارسالی از فرم ها در صفحه استفاده می شوند .

نمونه یک فرم ساده HTML :

کد زیر ، یک فرم ساده HTML ، شامل دو کنترل input برای دریافت مقادیر و یک کنترل sunmit برای ارسال اطلاعات فرم است . به کد آن دقت نمایید :

کد <html>
<body>

  <form action="welcome.php" method="post" >
       Name: <input type="text" name="name"><br>
       E-mail: <input type="text" name="email"><br>
      <input type="submit">
 
</form>

</body>
</html>
خروجی Name:
E-mail:

توصیح کد مثال : هنگامی که کاربر ، اطلاعات لازم ( شامل نام و آدرس ایمیل خود را در فرم بالا ، وارد کرده و دکمه submit را کلیک می کند ، اطلاعات موجود در فرم به صفحه تعیین شده در خاصیت action یعنی welcome.php ، برای پردازش ارسال می شود . این اطلاعات ، همانطور که توسط خاصیت method فرم تعیین شده است ، از طریق روش POST ) به صورت پشت پرده ) به مقصد ارسال می شوند .
در صفحه مقصد ، بایستی توسط متغیرهای مناسب ، مقادیر ارسالی را دریافت کرده و آن را نمایش داده یا پردازش کنید . برای مثال ، از کدی همانند زیر می توانید برای نمایش اطلاعات دریافتی بهره بگیرید . این صفحه اطلاعات وارد شده در صفحه قبل را در یک قالب جدید نمایش می دهد ::

کد <html>
<body>

Welcome <?php echo $_POST["name"]; ?><br>
Your email address is: <?php echo $_POST["email"]; ?>

</body>
</html>
خروجی مشاهده خروجی کد

توضیح کد فوق : کد فوق دو داده ارسالی از فرم صفحه قبل را توسط دو متغیر سراسری POST_$ به نام های name و email دریافت کرده و در خروجی به صورت زیر نمایش می دهد :

خروجی Welcome Mehrdad
Your email address is john.doe@example.com

نکته : فرم بالا را توسط متد GET ، به صورت زیر نیز می توانید بنویسید :

کد <html>
<body>

  <form   action="welcome_get.php" method="get" >
        Name: <input type="text" name="name"><br>
        E-mail: <input type="text" name="email"><br>
       <input type="submit">
 
</form>

</body>
</html>
خروجی
Name:
E-mail:

کد فایل مقصد : در فایل Welcome_get.php که فایل مقصد برای دریافت و پردازش اطلاعات است ، فقط متغیرهای دریافت کننده مقادیر ، همانند کد زیر از نوع POST به GET تغییر می کنند :

کد <html>
<body>

Welcome <?php echo $_POST["name"]; ?><br>
Your email address is: <?php echo $_POST["email"]; ?>

</body>
</html>
خروجی مشاهده خروجی کد

نکته : کد مثال های فوق بسیار ساده و ابتدایی بوده و هیچ گونه عملیات اعتبار سنجی بر روی داده ها ، انجام نمی دهند . برای مثال ، کاربر می تواند در فیلد ایمیل یک شماره تلفن یا نام خالی را درون آن وارد نموده ، بدون اینکه برنامه از وی ایراد بگیرد .
در راهکار بعدی ، با نحوه اعتبار سنجی داده های ورودی در فرم های PHP آشنا خواهید شد .

تفاوت متد POST و GET :

هر دو متد GET و POST ، در هنگام ارسال اطلاعات فرم ها به صفحه مقصد ، آنها را به صورت یک آرایه دو بعدی جفت / مقدار به صورت ( Key1 => Value 1 , Key2 => Value2 و ... ) در می آورند ، که در آن Key نام کنترل داده ورودی و Value مقدار داده است .
هر دو متد از متغیرهای سراسری مخصوص به خود که عبارتند از GET_$ و POST_& استفاده می کنند . این متغیرهای سراسری یا ( Superglobals ) هستند ، یعنی اینکه در تمام بخش ها و کدهای اسکریپت قابل دسترس بوده و محدودیتی ندارند . برای تعریف و استفاده از آنها نیز ، نیاز به کار خاصی نبوده و در PHP به صورت درون ساخته آماده استفاده می باشند .
اطلاعات در متد GET از طریق اضافه شدن به آدرص صفحه و در متد POST از طریق Session ها و به صورت مخفی به مقصد ارسال می شوند .

چه زمانی از کدام متد استفاده نماییم ؟

اطلاعاتی که توسط متد GET ارسال می شوند ، به انتهای آدرس صفحه در نوار ابزار مرورگر اضافه شده و توسط تمامی کاربران قابل مشاهده هستند . لذا دارای امنیت بسیار پایینی بوده و هم حجم اطلاعاتی که از این طریق می توانید جا به جا کنید ، حداکثر 2000 کارکتر است .
از طرف دیگر ، به علت مشخص بودن اطلاعات ، می توانید صفحه و آدرس آن را Bookmark نمایید .
نکته مهم : متد GET را نبایستی برای انتقال اطلاعات حساس مثل رمز عبور و ... استفاده نمود .
اما اطلاعات ارسالی از طریق متد POST ، از نظر کاربر مخفی بوده ( زیرا به درخواست HTTP صفحه متصل شده و به صورت پشت پرده منتقل می شوند ) و هیچ محدودیتی در حجم اطلاعات ارسالی ندارند .
اما به علت مخفی بودن اطلاعات ، قادر به Bookmark کردن صفحه نخواهید بود و همچنین امنیت اطلاعات در این روش بسیار بالاتر است . اکثر برنامه نویسان از متد POST برای ارسال اطلاعات خود استفاده می کنند .
در راهکارهای بعدی ، با نحوه اعتبار سنجی اطلاعات ورودی در فرم های و نحوه پردازش آنها ، آشنا می شوید .



راجع این مطلب سوال یا اشکالی دارید ؟! آن را در انجمن سایت مطرح نمایید ...         >>>>>  ورود به انجمن تخصصی


نطر خودتان درباره این صفحه  :

آیا مطالب این صفحه برای شما مناسب و مفید بوده است :

نام :                 
آدرس Email :    
 
نظر شما :        
سوال امنیتی : جمع سه + پنج چنده ؟