60% تخفیف ویژه دوره تخصصی وردپرس به مدت محدود مشاهده دوره

کار با فرم ها و نحوه دریافت اطلاعات فرم در php

کار با فرم ها در php

 

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

 

گرفتن ورودی از کاربر در php

گرفتن ورودی از کاربر در php به این صورت است که زمانی که یک کاربر یک فرم را تکمیل می کند با زدن دکمه ارسال، اطلاعات داخل فرم به یک فایل PHP با عنوان welcome_get.php اضافه می شود. در این فایل بر روی این داده ها پردازش های لازم انجام می شود.  اطلاعات ارسالی ابتدا در یک فرم یا صفحه دیگر دریافت می شود و سپس در مقصد قرار می گیرد. صفحه مقصد تمامی اطلاعات موردنیاز خود را از مرورگر دریافت می کند. این بدین معنی است که نیازی به کدنویسی مجزا برای این مرحله توسط کاربر، نیست. زیرا این مرورگر است که وظیفه ارسال کنترل های ورودی را دارد.  برای کار با فرم  در php ، شما به دانش html، و به طور خاص به طراحی فرم با استفاده از تگ <form> نیاز دارید.  تمامی کنترل های مربوط به انتقال اطلاعات و گرفتن ورودی از کاربر در php باید در این تگ قرار داده شود.

 

ارسال اطلاعات به PHP

ارسال اطلاعات به PHP از طریق فرم ها به این صورت است که هر فرم دارای دو ویژگی کلیدی است. یکd مقصد دریافت فرم است و دیگری نحوه ارسال اطلاعات را تعیین می کند. این دو ویژگی ACTION و METHOD نام دارد. در ادامه به تشریح عملکرد مولفه های ارسال اطلاعات در php می پردازیم:

  • ACTION : اکشن آدرس مقصد ما را مشخص می کند و از نوع URL است . اطلاعات فرم پس از ثبت توسط کاربر به این صفحه هدایت می شوند. مقدار اکشن نمی تواند خالی باشد و باید حتما مشخص شود چون در صورت خالی بودن ایجاد مشکل می کند. در صورتی که مقداری مشخص نکنیم اطلاعات فرم به آدرس پیشفرض form.html هدایت می شود.
  • METHOD : متد نحوه ارسال اطلاعات را مشخص می کند و دو حالت post و get برای آن وجود دارد. به لحاظ عملکرد این دو حالت مشابه یکدیگرند اما نحوه ارسال در آنها متفاوت است.

برای آشنایی کار با فرم ها در php شما نیاز دارید با این دو مولفه و نحوه عملکرد آنها به طور کامل آشنا باشید.

 

مقایسه GET و POST

هر دو این متدها برای ارسال اطلاعات یک آرایه ایجاد می کنند. مولفه های این آرایه ها، کلید و مقدار داده مربوط به کلید است. منظور از کلید نام کنترل های فرم و مقدار آن اطلاعات وارد شده برای هر فرم است. در متد GET آرایه ساخته شده از متغیرها به اسکریپت فعال URL ارسال می شود. در حالیکه در متد POST ، آرایه متغیرها، به اسکریپت فعال در متد HTTP POST ارسال می شود.

در متد GET اطلاعات ارسالی در این روش بصورت کد نشده منتقل می شود. در این روش اطلاعات به آدرس URL اضافه می شود و ارسال می شود. بدیهی است که این اطلاعات در قسمت address bar نیز قابل مشاهده است به همین خاطر برای ارسال اطلاعات حساس مانند پسوردها، نباید از این روش استفاده کرد. محدودیت دیگر در این روش این است که طول URL در برخی مرورگر ها می تواند حداکثر ۲۰۸۳ کاراکتر باشد و نمی توان داده های زیادی را انتقال داد. همچنین امکان آپلود فایل از این طریق وجود ندارد. در زیر نمونه ای از این روش را ملاحظه نمایید:

websoft3.com/submit.php? fname = Ali & age = 26

در متد POST  اطلاعات کد شده و بصورت مخفی ارسال می شوند. این روش برای ارسال اطلاعات حساس مناسب است.

 

 

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

در این قسمت قصد داریم یک فرم ساده برای آشنایی شما با کار با فرم ها در php ارائه دهیم. در این قطعه کد از متد POST استفاده می کند و دارای دو فیلد برای دریافت اطلاعات می باشد. مقصد این فرم، صفحه welcome.php است که پس از ثبت اطلاعات کاربر توسط دکمه submit، این داده ها در این صفحه برای پردازش های بعدی ارسال می شوند.

از دستور echo می توان برای نمایش متغیرهای ارسالی فرم استفاده کرد. بطور مثال :

خروجی این فایل بصورت زیر است:

 

در زمینه کار با فرم ها در php ، از تگ های مختلف استفاده کنیم و فرم های متنوعی طراحی کنیم. تگ های ورودی مختلفی وجود دارد که می توان از آنها استفاده کرد. از جمله کاربردی ترین این تگ ها تگ text (ساخت یک فیلد متنی تک خط) ، تگ checkbox (امکان انتخاب یک گزینه از میان گزینه ها) و تگ radio (انتخاب فقط یک گزینه) است. در مثال ارائه شده در بالا از ورودی text استفاده شده است. در زیر نمونه ای دیگر از طراحی فرم با استفاده از تگ checkbox را می بینیم:

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

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

 

نمایش خطا در فرم

یکی از مسائلی که در زمان کار با فرم ها در php باید به آن توجه کنیم، نمایش خطاها است. زمانی که شما یک فرم طراحی می کنید، کاربر باید تمام فیلدهای فرم را پر کرده و آن را ارسال کند. حال در نظر بگیرید که یکی از این فیلدها خالی باشد. در اینصورت باید با یک پیغام خطا به کاربر هشدار دهید. برای درک بهتر این مسئله یک مثال کاربردی ارائه می کنیم.

فرض کنید یک فرم با دو فیلد نام کاربری و رمز عبور داریم که پر کردن هر دو فیلد اجباری است. کدهای html فرم در این مثال بصورت زیر است:

این کد یک فرم با دو فیلد username و password می سازد. عبارت required در تعریف این دو فیلد، الزامی بودن آن ها را تعیین می کند. اطلاعات این دو فیلد با متد POST به دیتابیس ارسال می شود. حال برای قسمت php این فرم دستورات زیر را وارد می کنیم:

در این دستور اشرط if اولیه بررسی می کند که دکمه لاگین زده شده باشد. یعنی کاربر اطلاعات فرم را ارسال کرده باشد. شرط if دوم بررسی می کند که فیلدهای نام کاربری و پسورد خالی نباشد. در صورت خالی بودن این دو فیلد، شرط if برقرار است و در نتیجه متغیر $error تعریف می شود. این متغیر پیغام خطای ” لطفا هر دو فیلد را کامل کنید” را نمایش می دهد. کد کامل این فرم لاگین بصورت زیر است:

 

در این آموزش به بررسی مهم ترین مباحث مربوط به کار با فرم ها در php پرداختیم. در آموزش های بعدی با ما همراه باشید تا با سایر امکانات این زبان برنامه نویسی آشنا شویم.

1 دیدگاه دربارهٔ «کار با فرم ها و نحوه دریافت اطلاعات فرم در php»

کاوش گفت:

با سلام و و تشکر از مطالب ارایه شده،
سوالی که برایم مطرح هست اینه که بعد از دریافت اطلاعات از فرم ورود اطلاعات و پردازش آن ها ، اگر بخواهیم این نتایج(ممکنه ۱ یا چند مقدار باشه) را به فیلدهای مورد نظر در یک فرم خروجی که در یک صفحه وب دیگری (که ساخته ایم) ارسال کنیم چطور میشه اینکار رو کرد؟ ممنون

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد.