نحوه ی اصولی دریافت داده ها از فرم در PHP

این پست را توجه به درخواست دوستان عزیز میزارم , در این پست می خوایم راجب اینکه چجوری داده های خودمون رو با php از فرم ها دریافت کنیم صحبت کنیم.

برای دریافت داده ها از فرم به صورت کلی ۳ مرحله وجود داره:

  1. بررسی اینکه فرم ارسال شده (روی دکمه ی ثبت یا ارسال فرم کلیک شده باشه)
  2. بررسی اینکه داده های ما (فیلدهای input مثلا) به سمت سرور ارسال شده
  3. دریافت داده ها از فرم با php

خب حالا یه فرم html ساده طراحی میکنیم با دوتا input از نوع Text و یک دکمه ی ارسال فرم (که از نوع submit هست) :

در فرم بالا دوتا مشخصه باید برای فرم تعیین کنیم , method که نحوه ی ارسال داده ها به سمت سرور رو مشخص میکنه , اگه برابر با post قرارش بدیم داده ها به صورت مخفی ارسال میشن اما اگه برابر با get قرار بگیره داده ها از طریق url (کوئری استرینگ) ارسال میشن. من در اینجا post قرار میدم.

برای فرم نیاز داریم یه چیز دیگه رو مشخص کنیم , اون action است , action ادرس صفحه یا محلی خواهد بود که وقتی کاربر روی دکمه ی ارسال فرم کلیک میکنه داده ها به اونجا ارسال میشن. اگه میخواید که داده ها به همین صفحه که توش قرار دارید ارسال بشن باید یا action رو خالی بزاری یا اینکه ادرس همین صفحه ای که توش هستید رو به action بدید. من مثال بالا با استفاده از PHP_SELF که بخشی از ارایه ی سرور هست ادرس همین صفحه کنونی رو Echo کردم. این ادرس رو درون htmlentities قرار دادم تا امنیتش بالاتر بره و یه موقع دستورات مخرب قاطی ادرس نشه!

مرحله اول : برای بررسی اینکه فرم ارسال شده یا نه میتونیم با استفاده از ارایه ی SERVER بیایم نوع REQUEST_METHOD یا نوع متد درخواستی رو بررسی کنیم. همینطور که میدونید ما نوع method فرم خودمون رو post قرار دادیم پس هروقت که روی دکمه ی ارسال فرم کلیک بشه یه درخواست از نوع post به ادرسی که در محل Action مشخص کردیم ارسال میشه. حالا به صورت زیر عمل میکنیم:

در دستورات بالا اومدیم و نوع درخواست رو با POST (حروف بزرگ باید باشه) مقایسه کردیم و اگه نوع درخواست برابر با POST باشه یعنی اینکه فرم ما توسط کاربر ارسال شده و باید داده های فرم رو دریافت کنیم.

مرحله ی دوم و سوم باهم : برای بررسی اینکه داده هایی توسط فرم ارسال شده یا نه میتونیم از تابع empty استفاده کنیم , این تابع بررسی میکنه که داده ارسال شده باشه و اینکه خالی نباشه! اگه خالی باشه یا ارسال نشده باشه مقدار false رو به ما میده! همچنین چون در اینجا متد فرم خودمون رو روی post قرار دادیم باید با استفاده از ارایه ی POST به همراه نامی که برای هر input مشخص کردیم به داده های فرم دستیابی داشته باشیم (نام هر input رو با name مشخص میکنن).

به مثال زیر دقت کنید:

در مثال بالا اومدیم و هر مقدار ارسالی توسط input ها رو ابتدا تست کردیم خالی نباشند و اگه خالی نبودن مقدارشون رو میریزم داخل یه متغیر , اگه خالی بودن نیز یه پیام نشون میدیم و به کاربر میگیم فرم رو پر کنه (قسمت ارسال پیام برای کاربر رو بسته به نیاز خودتون میتونید بزارید یا نزارید). هروقت که یکی از input ها پر نبود یه متغیر error رو برابر با ۱ میکنم که بعدا بررسی کنمش و بدونم تجزیه تحلیل نهایی رو انجام بدم یا ندم!  در اخر میتونیم داده هایی که دریافت کردیم و توی متغیر ها قرار دادیم رو تحلیل کنیم. مثلا من دوتا داده ای که دریافت کردیم رو به هم چسبوندم و نشون دادم به کاربر (چسبوندن یا الحاق متن توی php میتونه با نقطه . انجام بشه).

به همین راحتی 😀 از php لذت ببرید چون خیلی ماسته 🙂 کلش ماس ماس.

دوستانی که سوال دارند یا نظری دارند میتونن از پایین همین فرم بپرسند.

به اشتراک بگذارید:Email this to someoneShare on FacebookTweet about this on TwitterShare on Google+Digg thisShare on LinkedInPin on PinterestShare on StumbleUponFlattr the authorShare on RedditBuffer this pageShare on TumblrPrint this pageShare on YummlyShare on VK
  1. سلام درمورد seo هم آموزش بذارید نکات seo و اینکه چطور سایت seo داشته باشیم…..
    ممنون از سایت خوبتون

    • سلااااااااام. چشم در مورد سئو و مسائلی که باعث افزایش سئو میشه نیز مطالب آموزشی میزاریم به زودی

می‌خواهید دیدگاهتان را بیان کنید؟