تفاوت متد GET و POST در PHP + مثال عملی

آیا تابه‌حال به تفاوت متد GET و POST در PHP فکر کرده‌اید؟ معمولا در اپلیکیشن‌های وبی که می‌نویسیم خیلی پیش می‌آید که بخواهیم اطلاعاتی را از سمت کاربر به سمت سرور بفرستیم. برای این نوع ارسال اطلاعات چند روش مختلف دارد که دور روش POST_$ و GET_$ از معروف‌ترین آن‌ها می‌باشد. این دو روش تفاوت‌هایی باهم دارند که در این مطلب به تفاوت‌های آن‌ها میپردازیم و یک مقایسه‌ای بین آن‌ها انجام می‌دهیم.تفاوت متد GET و POST در PHPاگر میخواهید تفاوت متد GET و POST در PHP را متوجه شوید، پیشنهاد میکنیم ویدئوی آموزشی زیر را مشاهده کنید https://www.aparat.com/v/z05F6 متد GET_$متدی است که شما هر اطلاعاتی را که بخواهید توسط آن به سمت سرور بفرستید را در قسمت آدرس‌بار مرورگر وارد میکند و از آن طریق به سمت سرور می‌فرستند.برای شما شما فرض کنید که فرمی دارید و میخواهید نام کاربری و کلمه عبور کاربران را از سمت کامپیوتر او به سمت سرور بفرستید، یک چیزی شبیه این کد :<form action="action.php" method="get"> <input type="text" name="username" placeholder="Username ..."><br><br> <input type="password" name="password" placeholder="Password ..."><br><br> <input type="submit" value="Login"> </form>این کد اطلاعات را از کاربر دریافت میکند و بلافاصله بعد از کلیک بر روی دکمه‌ی Login اطلاعات را به فایلی که در مقدار action در خط اول اشاره شده می‌فرستد. سپس می‌توانیم از فایل action.php به اطلاعاتی که از این فرم ارسال شده دسترسی داشته باشیم.تفاوت متد GET و POSTدقت کنید که در همان خط اول ما method را برابر get قرار دادیم و این به این معنا است که میخواهیم اطلاعات این فرم را از طریق متد get به صفحه‌ی action.php بفرستیم. حالا اگر username و password را وارد کنیم و روی دکمه‌ی Login کلیک کنیم به صفحه‌ی action.php منتقل میشویم.حالا اگر به قسمت آدرس‌بار مرورگرمان نگاه کنیم میبینیم که همان اطلاعاتی که در فرم نوشته بودیم در آدرس هم قرار دارد و برای ما نمایش داده میشود :از این میتوانیم متوجه شویم که متد get برای اطلاعاتی که بسیار طولانی هستند و یا اطلاعاتی که ارزش امنیتی دارند اصلا مناسب نمی‌باشد. مثل همین مثال که ما اصلا درست و منطقی نیست کلمه عبور کاربران را با متد get به سرور بفرستیم، زیرا اطلاعات آن‌ها به خطر میافتد.در همان فایل action.php می‌توانیم به این شکل به اطلاعاتی که از همان فرم فرستادیم دسترسی پیدا کنیم :<?php $username = $_GET["username"]; $password = $_GET["password"]; echo $username . ' ' . $password; ?>متد POST_$متد post روش امن تری برای ارسال اطلاعات است و دیگر اگر اطلاعات فرم را از طریق متد post به صفحه‌ی دیگری بفرستیم، آن اطلاعات به هیچ طریقی قابل دسترسی نخواهند بود و از امنیت خوبی بهره میبرند.برای ارسال اطلاعات یک فرم از طریق متد post کافیست هنگام تعریف یک فرم به این شکل عمل کنیم :<form action="action.php" method="post"> ... </form>و اگر بخواهیم اطلاعات را درون فایل action.php بخوانیم کافیست کدی که بالاتر گفتیم را به این شکل تغییر دهیم :$username = $_POST["username"]; $password = $_POST["password"]; echo $username . ' ' . $password;برای درک بهتر این مباحث پیشنهاد میکنم آموزش ویدئویی اول این مطلب را دانلود و تماشا کنید تا مطالب را بهتر و عمیق تر درک کنید. اگر به دنبال جزئیات خیلی بیشتر از تفاوت GET و POST هستید،‌ مطالعه‌ی این مقاله از سایت diffen میتواند بسیار مفید باشد.در این مقاله و فیلم آموزشی در یادیفای سعی کردیم بطور کامل تفاوت متد GET و POST را بررسی کنیم. در آموزش های آینده در مورد این دو متد ارسال و دریافت اطلاعات بیشتر صحبت میکنیم.منبع: یادیفای