ورود / ثبت نام سبد خرید 0
در حالت کلی دو روش وجود دارد تا یک کاربر بتواند داده های خودش را به سمت سرور با زبان php ارسال کند :
این به معنی این نیست که فقط این متدها ، متدهای ارسال داده ها هستند بلکه متد های دیگری هم وجود دارد ولی تمرکز ما روی GET و POST است که بیشترین کاربرد را دارند و اگر اینها را یاد بگیرید ، باقی موارد را به سادگی یاد خواهید گرفت.
قبل از اینکه مرورگر اطلاعات وارد شده توسط کاربر را به سمت سرور ارسال کند آنها را رمزنگاری میکند که به آن URL encoding گفته میشود .
در مثال زیر که مشاهده میکنید داده ها بصورت نام و مقدار جدا شده با علامت & از هم دیگر قرار دارند که به این شیوه داده ها ارسال میشود :
name1=value1&name2=value2&name3=value3
آموزش زبان برنامه نویسی php بصورت ویدیویی میتواند به راحتی این مفاهیم را به شما انتقال دهد.
در این روش ، داده ها به آخر آدرسی که اطلاعات را ارسال میکند میچسبند و با علامت ؟ از آدرس جدا میشوند و همانند مثال بالا متغیرها یا پارامتر های ارسالی با & از هم دیگر جدا میشوند و در آدرس بار مرورگر قابل مشاهده و تغییر هستند .
مثال :
http://www.test.com/index.htm?name1=value1&name2=value2
نکاتی درباره ی متد GET در php :
<?php if( $_GET["name"] || $_GET["age"] ) { echo "Welcome ". $_GET['name']. "<br />"; echo "You are ". $_GET['age']. " years old."; exit(); } ?> <html> <body> <form action = "<?php $_PHP_SELF ?>" method = "GET"> Name: <input type = "text" name = "name" /> Age: <input type = "text" name = "age" /> <input type = "submit" /> </form> </body> </html>
نتیجه ی خروجی کدهای بالا :
آموزش ویدیویی کار با متد GET در زبان برنامه نویسی php در دوره ی آموزش php استاد نیک زاد ارائه شده است.
در متد POST زبان php ، داده ها بصورت مخفی در header درون درخواست HTTP قرار میگیرند . داده ها همانطور که در بخش متد GET گفتیم رمزنگاری میشوند و در QUERY_STRING داخل header قرار میگیرند .
<?php if( $_POST["name"] || $_POST["age"] ) { if (preg_match("/[^A-Za-z'-]/",$_POST['name'] )) { die ("invalid name and name should be alpha"); } echo "Welcome ". $_POST['name']. "<br />"; echo "You are ". $_POST['age']. " years old."; exit(); } ?> <html> <body> <form action = "<?php $_PHP_SELF ?>" method = "POST"> Name: <input type = "text" name = "name" /> Age: <input type = "text" name = "age" /> <input type = "submit" /> </form> </body> </html>
نتیجه ی کدهای بالا :
متغیر $_REQUEST در php در بر دارنده ی تمام داده های ورودی بصورت GET و POST است در حقیقت کار $_GET و $_POST و حتی $_COOKIE را بصورت یکجا انجام میدهد .
برای روشن شدن مطلب یک مثال میزنیم :
<?php if( $_REQUEST["name"] || $_REQUEST["age"] ) { echo "Welcome ". $_REQUEST['name']. "<br />"; echo "You are ". $_REQUEST['age']. " years old."; exit(); } ?> <html> <body> <form action = "<?php $_PHP_SELF ?>" method = "POST"> Name: <input type = "text" name = "name" /> Age: <input type = "text" name = "age" /> <input type = "submit" /> </form> </body> </html>
نکته : در مثال بالا متغیر $_PHP_SELF به خود صفحه ی جاری اشاره میکند تا فرم بجای دیگری ارسال نشود .
خروجی کدهای بالا :
نکته مهم : اگر علاقه به یادگیری حرفه ای php دارید حتما بحث مهم MVC در زبان برنامه نویسی php در نظر بگیرید و بعد از یادگیری کامل پی اچ پی ، نوبت آموزش php mvc است.
اتمام درس
محصولات برگزیده مناسب شما