زنگ

کسانی هستند که این اخبار را قبل از شما می خوانند.
برای دریافت جدیدترین مقالات مشترک شوید.
پست الکترونیک
نام
نام خانوادگی
چگونه می خواهید زنگ را بخوانید
بدون هرزنامه

نقطه مشترک آنها این است که آنها به همان روش کار می کنند. هیچ تفاوتی فنی بین آنها وجود ندارد. اما اختلافات ایدئولوژیک وجود دارد.

من آنها را در متن PHP پوشش می دهم. لطفا توجه داشته باشید که پروتکل HTTP به طور غیر مستقیم با PHP مرتبط است زیرا برای تبادل صفحات html ایجاد شده است و PHP به راحتی قابلیت های هر دو را گسترش می دهد.

درخواست GET برای دریافت داده و POST برای ارسال استفاده می شود. (به یاد داشته باشید که آنها از نظر تکنیکی به یک شکل کار می کنند).

بنابراین ، در زمینه PHP ، بر اساس این ایدئولوژی ، آنها موارد زیر را انجام دادند:
1. آرایه های Superglobal ($ _GET ، $ _POST) به طور پیش فرض هر بار که PHP را شروع می کنید ایجاد می شوند.
2. اگر علامت سوال (؟) در رشته جستجو وجود دارد. سپس همه چیزهایی که بعد از او حساب می شوند مولفه های درخواست GET ، آنها در قالب "key" \u003d "مقدار" ارائه می شوند و کاراکتر ampersand (&) به عنوان جدا کننده استفاده می شود
مثال:
GET /index.php؟name\u003dAndrey&surname\u003dGalkin
این یک رشته پرس و جو است ، 2 پارامتر وجود دارد. این پارامترها به آرایه $ _GET ختم می شوند.
3. $ _POST به روش دیگری پر می شود. محتوای این آرایه از "عناوین درخواست" جمع شده است. یعنی از مکانی که به شکلی صریح از دید پنهان است. تمام کارهای معمول ایجاد چنین سرصفحه ای توسط مرورگر انجام می شود. اگرچه گاهی اوقات چیزی در عناوین به صورت دستی ویرایش می شود.

غالباً ، درخواست پست در فرم ها (برای ارسال داده ها) استفاده می شود.

به عنوان مثال ما یک فرم ورود به سیستم داریم 2 قسمت ورود و رمز عبور.

بیایید تصور کنیم از روش GET استفاده می کنیم. سپس ، هنگام ارسال فرم ، به آدرس زیر می رویم /login.php؟login\u003dAndrey&password\u003d123 موافقت می کنید که انتقال چنین اطلاعاتی از این طریق اصلاً ایمن نیست. هر کسی می تواند مرورگر شما را باز کند و با شروع به وارد کردن آدرس سایت ، می تواند رمزهای ورود و ورود شما را از تاریخ مشاهده کند.

اما اگر با استفاده از روش POST مشخص کرده باشیم ، درخواست زیر را دریافت می کنیم:
POST /login.php (ورود به سیستم \u003d اندرو و رمز عبور \u003d 123) آنچه در براکت ها پنهان می شود و در مرورگر ذخیره نمی شود.

به طور کلی ، به طور خلاصه:
GET بدست آوردن یک صفحه خاص به روشی خاص است (مرتب سازی ، صفحه وبلاگ فعلی ، رشته جستجو و غیره).
POST - برای ارسال داده هایی که تأثیری در نمایش صفحه ندارند ، به این معنا که این داده ها فقط در نتیجه اجرای اسکریپت (ورود به سیستم ، گذرواژه ، شماره کارت اعتباری ، پیام و غیره) تأثیر می گذارد.

و یک خبر خوب دیگر ، می توان آنها را ترکیب کرد ، به عنوان مثال
POST /index.php؟page\u003dlogin (ورود به سیستم \u003d آندری و گذرواژه \u003d 123) فکر می کنم قبلاً به اندازه کافی توضیح داده ام که چه چیزی از آن می آید و چه پارامترهایی در کدام آرایه قرار می گیرند.

استفاده از روشهای GET و POST در PHP بسیار دشوار است زیرا این روشها تقریباً در هر سایت یافت می شوند. قبل از مطالعه مطالب شرح داده شده در زیر ، به شما توصیه می کنم با برچسب html آشنا شوید

... بیایید جزئیات هر یک از این روش ها را بررسی کنیم.

روش GET

روش GET برای انتقال داده ها از یک رشته URL استفاده می کند. ممکن است به URL های طولانی و مبهم توجه کرده باشید. مثلا: function.php؟ login \u003d الکس و ایمیل \u003d dezyakin... در این حالت ، داده ها در function.php پردازش می شوند. بعد از علامت سوال "؟" شمارش پارامترهای ارسالی وجود دارد (پارامتر با علامت "&" از هم جدا می شود) با مقادیر: به پارامتر ورود مقدار Alex اختصاص داده می شود و متغیر ایمیل dezyakin است. داده ها در آرایه superglobal $ _GET ذخیره می شوند. نمونه ای از استفاده از روش GET در زیر ارائه شده است:

وارد شدن: پست الکترونیک: با استفاده از آرایه superglobal $ _GET ، مقادیر پذیرفته شده را نمایش می دهیم:* / echo "
login \u003d ". $ _GET [" login "]؛ echo"
email \u003d ". $ _GET [" email "]؛؟\u003e

توجه داشته باشید که چگونه مقادیر را از آرایه $ _GET superglobal می خوانیم: $ _GET ["نام_متغیر"]... در مثال ما ، نام متغیرها به شکل (name \u003d login و name \u003d email) اعلام شده اند.

مشاوره:
قبل از پردازش مقادیر بدست آمده ، به شما توصیه می کنم که وجود آنها را از طریق توابع بررسی کنید isset (نام_متغیر) یا خالی (نام متغیر) - این توابع در درس قبلی 2 مورد بررسی قرار گرفتند: متغیرها در PHP. مثلا:

بررسی وجود با Isset: if isset ($ _GET ["ورود به سیستم")] ( اپراتورها برای مدیریت ورود به سیستم ... } //یا وجود را با استفاده از خالی بررسی کنید: اگر خالی باشد ($ _GET ["ایمیل"]) ( اپراتورها برای پردازش ایمیل ... } ?>

در فرم می توانید نام فایلی را تعیین کنید که مقادیر عبور شده را پردازش می کند. این کار با استفاده از ویژگی عمل فرم انجام می شود که می توان آدرس این پرونده را به آن اختصاص داد. به طور پیش فرض ، این پرونده به پرونده فعلی اختصاص می یابد (یعنی در پرونده ای که فرم در آن قرار دارد پردازش می شود). در اینجا مثالی آورده شده است که در آن داده های یک فرم برای پردازش به پرونده srcipt.php ارسال می شود:

وارد شدن: پست الکترونیک:

پرونده script.php باید حاوی نوعی کنترل کننده اطلاعات باشد ، در غیر این صورت اطلاعات به خالی منتقل می شود.

روش GET معایب زیادی دارد:

  • کاربر مقادیر پارامترهای عبور داده شده را می بیند.
  • کاربر می تواند پارامترهای عبور کرده را جعلی کند.
  • انتقال ناخوشایند اطلاعات باینری (شما باید در قالب متن رمزگذاری کنید) ؛
  • مقدار داده منتقل شده محدود است - 8 کیلوبایت ؛

به دلیل معایب فوق ، از روش GET فقط در مواردی استفاده می شود که شما نیاز به انتقال مقدار کمی داده دارید و این داده ها به هیچ وجه طبقه بندی نمی شوند.

روش POST

روش POST از این نظر که داده ها به صورت بسته منتقل می شوند با GET متفاوت است. یک آرایه superglobal $ _POST وجود دارد که می توانید داده هایی از این قبیل را بخوانید: $ _POST ["نام_متغیر"]... مثلا:

وارد شدن: "\u003e ایمیل: ">
با استفاده از آرایه superglobal $ _POST ، مقادیر پذیرفته شده را چاپ کنید:* / echo "
login \u003d ". $ _POST [" login "]؛ echo"
email \u003d ". $ _POST [" email "]؛؟\u003e

نتیجه اجرای کد شرح داده شده در بالا در شکل زیر نشان داده شده است:

همانطور که مشاهده می کنید ، URL هیچ متن پیامی ندارد ، اما با این وجود داده ها دریافت و نمایش داده می شوند.

توجه داشته باشید:
1) حجم مقادیر منتقل شده توسط روش POST به طور پیش فرض محدود و برابر با 8 مگابایت است. برای افزایش این مقدار ، باید دستورالعمل post_max_size را در php.ini تغییر دهید.

2) در نسخه های قبلی PHP ، به جای نام کوتاه آرایه های ابر جهانی $ _GET و $ _POST ، نام های طولانی تری استفاده شده است: $ HTTP_GET_VARS و $ HTTP_POST_VARS. آنها به طور پیش فرض در php 5 غیرفعال هستند ، اما می توانید آنها را در پرونده پیکربندی php.ini با استفاده از پارامتر Register_long_arrays فعال کنید. در php 6 ، این نام های طولانی در دسترس نخواهند بود.

3) قبل از پردازش متغیرها از $ _POST ، من به شما توصیه می کنم که متغیرها را از نظر وجود آنها بررسی کنید ، دقیقاً مانند آنچه با روش GET انجام شده است.

برچسب زدن

- یکی از مهمترین اجزای هر سایت. این شامل تمام عناصر - زمینه ها ، دکمه ها ، کادرهای تأیید ، دکمه های رادیویی و سایر موارد است.

اقدام و روش

فرم دارای صفات بسیاری است ، اما ویژگی های اصلی و مورد نیاز آنها است و ... اگر این صفات وجود نداشته باشد ، فرم مقادیر وارد شده را نمی پذیرد.

صفت اکشن

- صفتی که پیوند کنترل کننده مقدار را مشخص می کند. یعنی عنصری که در آن مشخص شده است ، مقادیر فرم را پردازش می کند. اگر آن را مشخص نکنید ، همه مقادیر به مقدار اصلی باز می گردند و صفحه را تازه می کنند.

می توانید مسیر "form.html" را مشخص کنید ، اما بیشتر اوقات از برنامه هایی که به زبان "php (form.php)" نوشته شده اند استفاده می شود. ممکن است چنین گزینه ای وجود داشته باشد که صفحه ای که فرم در آن قرار دارد ، خودش مقادیر را پردازش کند و با php نوشته شود. در این حالت می توانید ویژگی را حذف کنید .

همچنین ، یک آدرس ایمیل می تواند به عنوان یک راهنما عمل کند. برای نوشتن آن در ویژگی action ، از کلید واژه mailto: استفاده می شود ، نام آدرس ایمیل را مشخص می کند.

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

ویژگی روش

- مسئول نحوه پردازش مقادیر است. وقتی فرم فعال شد ، روش مشخص شده به سرور منتقل می شود و سپس طبق آن پردازش می شود.

کل روشهای پردازش 2 - و آنها مقادیر صفت هستند.

هر یک از مقادیر را می توان با حروف بزرگ و کوچک وارد کرد. واقعاً مهم نیست.

روش GET

متداول ترین روش پروتکل HTTP است. تمام داده های فرم را می گیرد ، پردازش می کند و سپس در نوار آدرس نمایش می دهد.

این روش بسیار راحت است ، زیرا به شما امکان می دهد مقادیر دریافت شده را در رشته مرورگر تغییر دهید. همچنین می توان چندین بار به آن مراجعه کرد.


جنبه بد استفاده کاهش امنیت و مقدار محدود داده پردازش شده است. این تأثیر بدی روی امنیت دارد زیرا تمام مقادیر وارد شده در نوار آدرس نمایش داده می شوند.

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

روش POST

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

روش به شما امکان می دهد اطلاعات بیشتری نسبت به ... پرونده های متنی کوچک تا 4KB قابل انتقال هستند.

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

مقادیر پردازش شده یک بار ذخیره می شوند و سپس بدون تغییر می مانند. یعنی شما نمی توانید تعداد نامحدودی همان آدرس را هنگام استفاده از روش به همان آدرس مراجعه کنید .

نتیجه

در این مقاله ، با ویژگی های برچسب فرم و همچنین مقادیر بیشتر آشنا شدید و البته این همه اطلاعات مربوط به عملکرد آنها نیست. با یادگیری PHP می توانید در مورد کار آنها بیشتر بدانید.

با مطالعه اطلاعات اضافی می توانید این روش ها را به طور دقیق درک کنید. موفق باشید یاد بگیرید!

امروز کمی خواستم به چیزهای بدوی بپردازم و آنچه را می توان در شبکه جهانی وب یافت به تعداد زیاد و بدون مشکل زیاد شرح دهم. درخواستهای POST و GET عملاً در مورد مقدسات پروتکل HTTP خواهد بود.

بسیاری می پرسند چرا؟ من به طور مختصر و واضح پاسخ خواهم داد: همه نمی دانند که این چیست و چرا مورد نیاز است ، و کسانی که می خواهند در مورد آن بدانند (در حالی که در مورد آن کمی درک می کنند) اغلب نمی توانند آنچه را که در بسیاری از مقالات اختصاص داده شده به این موضوع می فهمند. سعی می کنم روی انگشتانم توضیح دهم که درخواست POST و GET چیست و با چه چیزهایی خورده می شوند.
بنابراین ، بیایید سفر خود را به یک افسانه آغاز کنیم ...
اگر این پیام را می خوانید ، حداقل می دانید اینترنت به چه صورت است و سایت اینترنتی چیست. با حذف تمام ظرایف شبکه جهانی وب ، ما با مفاهیمی مانند کاربر و سایت کار خواهیم کرد. هر کس ممکن است بگوید ، این دو موضوع باید به نحوی با یکدیگر تعامل داشته باشند. به عنوان مثال ، مردم از طریق حرکات ، احساسات و گفتار با یکدیگر ارتباط برقرار می کنند ، حیوانات صداهایی را ایجاد می کنند ، اما وقتی یک شخص و یک منبع اینترنتی "ارتباط برقرار می کنند" چه اتفاقی می افتد؟ در اینجا ما یک مورد تبادل اطلاعات داریم که می تواند به یک گفتگوی انسانی از طرح "سوال-پاسخ" منتقل شود. علاوه بر این ، هر دو کاربر و سایت می توانند س questionsال و جواب بپرسند. وقتی درباره یک سایت صحبت می کنیم ، قاعدتاً س questionsالات و پاسخ های آن همیشه در قالب یک صفحه وب با متن یا متن دیگر بیان می شود. وقتی صحبت از کاربر می شود ، همه چیز به لطف درخواست های GET و POST در اینجا اتفاق می افتد (البته نه تنها ، بلکه ما در مورد آنها صحبت می کنیم).

بنابراین ، فهمیدیم که اشیا of موضوع ما برای "ارتباط" با سایت ها لازم است. علاوه بر این ، از هر دو درخواست GET و POST می توان برای "پرسیدن س askال" از سایت و "پاسخ" استفاده کرد. اونها چجوری متفاوت هستن؟ خیلی ساده است. با این حال ، برای توضیح تفاوت ها ، باید مثالی را در نظر بگیریم که برای آن سایت طرح فروشگاه اینترنتی را در نظر می گیریم.
احتمالاً شما اغلب وقتی به دنبال چیزی در فروشگاههای آنلاین بودید ، توجه می کردید که با جستجوی فیلترها ، آدرس سایت از "http://magaazin.ru" زیبا به "http://magaazin.ru/" وحشتناک تبدیل شود؟ دسته \u003d کفش و اندازه \u003d 38 ". بنابراین ، هر آنچه بعد از شخصیت "؟" می آید درخواست GET شما از سایت است و به عبارت دقیق تر ، در این حالت ، شما از سایت می پرسید که در گروه "کفش" با اندازه "38" چه چیزی دارد ( این مثال از سر گرفته شده است ، در واقع ، همه چیز ممکن است خیلی واضح به نظر نرسد). در نتیجه ، ما می توانیم سوالات خود را با مشخص کردن آنها در نوار آدرس سایت بپرسیم. بدیهی است که این روش معایب مختلفی دارد. اولاً ، هر کسی که در کنار کاربر رایانه باشد می تواند به راحتی از همه داده ها جاسوسی کند ، بنابراین استفاده از این نوع درخواست برای انتقال رمز عبور بسیار نامطلوب است. ثانیا ، محدودیتی در طول رشته وجود دارد که می تواند از قسمت آدرس سایت منتقل شود ، به این معنی که برای انتقال داده های زیادی کار نخواهد کرد. با این حال ، مزیت بدون شک استفاده از درخواست های GET سهولت استفاده و توانایی پرسیدن سریع سایت است که به ویژه در هنگام توسعه بسیار مفید است ، اما این داستان دیگری است ...
حال بیایید در مورد درخواست های POST صحبت کنیم. خوانندگان تیزبین ممکن است متوجه شده باشند که تفاوت اصلی این درخواست با همتای آن مخفی بودن داده های ارسالی است. اگر یک فروشگاه آنلاین را در نظر بگیریم ، نمونه بارزی از مکان درخواست POST ثبت نام در سایت است. سایت اطلاعات شما را می خواهد ، شما این داده ها را پر می کنید و وقتی روی دکمه "ثبت نام" کلیک می کنید ، پاسخ خود را ارسال می کنید. علاوه بر این ، این داده ها به صورت خارجی نمایش داده نمی شوند. همچنین لازم به ذکر است که مقدار نسبتاً زیادی اطلاعات می تواند درخواست شود - و درخواست POST محدودیت قابل توجهی ندارد. خوب ، اگر منهای را لمس کنید ، نمی توان به سرعت چنین درخواستی را ایجاد کرد. بدون مهارت های خاص نمی توانید این کار را انجام دهید. اگرچه در واقعیت همه چیز خیلی دشوار نیست ، اما دوباره ، این داستان دیگری است.
بیایید خلاصه کنیم. درخواست های POST و GET برای "برقراری ارتباط" بین کاربر و سایت مورد نیاز است. آنها در اصل مخالف یکدیگر هستند. استفاده از انواع خاصی از سeriesالات به شرایط خاص بستگی دارد و استفاده از فقط یک نوع س quال بسیار ناخوشایند است.

شرح

مشخصه روش در مورد روش درخواست به سرور می گوید.

نحو

...

ارزش ها

مقدار ویژگی متد به بزرگ و کوچک حساس نیست. دو روش وجود دارد - دریافت و ارسال.

Get این روش یکی از متداول ترین هاست و برای بدست آوردن اطلاعات مورد نیاز و انتقال داده ها در نوار آدرس طراحی شده است. جفت "name \u003d value" در این حالت به آدرس بعد از علامت سوال اضافه می شود و توسط یک ampersand (نماد &) جدا می شود. راحتی استفاده از روش get این است که می توان از آدرس با تمام پارامترها به طور مکرر استفاده کرد ، آن را ذخیره کرد ، به عنوان مثال در نشانک های مرورگر ، و همچنین مقادیر پارامتر را مستقیماً در نوار آدرس تغییر داد. post روش پست در درخواست مرورگر داده را به سرور ارسال می کند. این اجازه می دهد داده های بیشتری نسبت به روش get ارسال شود ، زیرا دارای محدودیت 4K است. مقادیر زیادی از داده ها در انجمن ها ، خدمات پستی ، جمعیت پایگاه داده ، انتقال پرونده و غیره استفاده می شود.

ویژگی لازم

مقدار پیش فرض

HTML5 IE Cr Op Sa Fx

برچسب FORM ، ویژگی متد

زنگ

کسانی هستند که این اخبار را قبل از شما می خوانند.
برای دریافت جدیدترین مقالات مشترک شوید.
پست الکترونیک
نام
نام خانوادگی
چگونه می خواهید زنگ را بخوانید
بدون هرزنامه