saharrahin

آموزش PHP > راهکارهای موثر در PHP > راهکار های کار با فرم ها در PHP

3 پست در این موضوع قرار دارد

در این راهکار قصد داریم تا شما را با نحوه ایجاد و مدیریت فرم های 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 برای ارسال اطلاعات خود استفاده می کنند .

در راهکارهای بعدی ، با نحوه اعتبار سنجی اطلاعات ورودی در فرم های و نحوه پردازش آنها ، آشنا می شوید .

1

به اشتراک گذاری این پست


لینک به پست

با تشکر از شما دوست عزیز،

لطفاً منبع آموزش رو نیز ذکر کنید + کدها رو در تگ کد قرار بدید.

موفق باشید.

2

به اشتراک گذاری این پست


لینک به پست

فکر کنم منبع اینجا باشه:


http://developer1.ir/php/SW_Form_Basic.aspx

1

به اشتراک گذاری این پست


لینک به پست
مهمان
این موضوع برای عدم ارسال قفل گردیده است.