HTML <form> method ਪੈਰਾਮੀਟਰ
ਵਿਆਖਿਆ ਅਤੇ ਵਰਤੋਂ
method
ਪੈਰਾਮੀਟਰ ਫਾਰਮ ਡਾਟਾ ਕਿਵੇਂ ਭੇਜਿਆ ਜਾਵੇਗਾ ਦਿੰਦਾ ਹੈ (ਫਾਰਮ ਡਾਟਾ action ਪੈਰਾਮੀਟਰ ਵਿੱਚ ਭੇਜਿਆ ਜਾਵੇਗਾ)
ਫਾਰਮ ਡਾਟਾ ਨੂੰ URL ਵਾਰੀਅਬਲ (method="get") ਜਾਂ HTTP POST ਟ੍ਰਾਂਜੈਕਸ਼ਨ (method="post") ਵਜੋਂ ਭੇਜਿਆ ਜਾ ਸਕਦਾ ਹੈ
GET ਬਾਰੇ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ:
- ਫਾਰਮ ਡਾਟਾ ਨੂੰ ਨਾਮ/ਮੁੱਲ ਜੋੜਨ ਵਜੋਂ URL ਵਿੱਚ ਜੋੜੋ
- URL ਦੀ ਲੰਬਾਈ ਸੀਮਾ ਹੈ (ਲਗਭਗ 3000 ਅੱਕਸ਼ਰ)
- ਸੰਵੇਦਨਸ਼ੀਲ ਡਾਟਾ ਭੇਜਣ ਲਈ GET ਨਾ ਵਰਤੋਂ ਕਰੋ! (ਇਹ URL ਵਿੱਚ ਦੇਖਿਆ ਜਾਵੇਗਾ)
- ਉਪਯੋਗਕਰਤਾ ਨੂੰ ਨਤੀਜੇ ਨੂੰ ਬੁੱਕਮਾਰਕ ਵਜੋਂ ਜੋੜਨ ਲਈ ਫਾਰਮ ਸੰਮੇਲਨ ਲਈ ਬਹੁਤ ਲਾਭਦਾਇਕ ਹੈ
- GET 更适合非安全数据,例如 Google 中的查询字符串
پوسٹ کے بارے میں بتائیں:
- فرم کی اعداد و شمار کو HTTP درخواست کے متن میں جوڑ دیا جاتا ہے (یہ اعداد و شمار یو آر ایل میں نہیں دکھائی جاتی ہیں)。
- حجم کا کوئی محدودیت نہیں ہے۔
- پوسٹ کے ذریعے جمع کردہ فرم کو بک مارک نہیں کیا جاسکتا۔
مثال
مثال 1
فرم کو گیت میٹھد کے ذریعے جمع کیا جاتا ہے:
<فرم ایکشن="/action_page.php" میٹھد="گیٹ"> <لبل فور="fname">نام:</لبل> <اینپٹ تیپ="ٹیکسٹ" ایڈ"fname" نیم="fname"><br><br> <لبل فور="lname">نام:</لبل> <اینپٹ تیپ="ٹیکسٹ" ایڈ"lname" نیم="lname"><br><br> <اینپٹ تیپ="سابمٹ" ویلو="سابمٹ"> </فرم>
مثال 2
فرم کو پوسٹ میٹھد کے ذریعے جمع کیا جاتا ہے:
<فرم ایکشن="/action_page.php" میٹھد="پوسٹ"> <لبل فور="fname">نام:</لبل> <اینپٹ تیپ="ٹیکسٹ" ایڈ"fname" نیم="fname"><br><br> <لبل فور="lname">نام:</لبل> <اینپٹ تیپ="ٹیکسٹ" ایڈ"lname" نیم="lname"><br><br> <اینپٹ تیپ="سابمٹ" ویلو="سابمٹ"> </فرم>
قواعد
<فرم میٹھد="گیٹ|پوسٹ">
ویژگی کا مقدار
مقدار | وصف |
---|---|
گیٹ | مجبور، فرم کی اعداد و شمار کو یو آر ایل میں نام/مقدار کی شکل میں جوڑ دیا جاتا ہے: یو آر ایل?نام=مقدار&نام=مقدار。 |
پوسٹ | فرم کی اعداد و شمار کو HTTP پوسٹ معاملے کے طور پر بھیج دیا جاتا ہے。 |
میٹھد اٹری بیوٹ کی تفصیلات
براوزر فرم کی اعداد و شمار کو سرور کو فرم میں کا مکمل کرسکتا ہے، اس کا میٹھد اٹری بیوٹ استعمال کیا جاتا ہے۔ دو طرح کے میٹھد موجود ہیں: POST میٹھد اور GET میٹھد。
جب POST میٹھد استعمال کیا جاتا ہے تو، براوزر یہ دو قدموں کے مطابق اعداد و شمار بھیجتا ہے۔ ابتدا میں، براوزر فرم کی ایکشن اٹری بیوٹ میں مذکور فرم ہینڈلنگ سرور کا کنکشن قائم کرتا ہے، جب کنکشن قائم ہو جاتا ہے تو، براوزر اعداد و شمار کو سرور کو بلاک نقل و حمل کے طریقے سے بھیجتا ہے。
سرور کی جانب سے، جب بلاک سٹائل کا ایپلی کیشن شروع ہوتا ہے تو، پارامتر کو ایک نشان سے پڑھنا چاہئے، جب پارامتر کو پڑھا جاتا ہے تو، اس کے پارامتر کو فرم کی اعداد و شمار کو استعمال کرسکتے پہلے، اس کا ڈکوڈنگ کرنا چاہئے۔ استعمال کنندہ کا سرور واضح طور پر اس کے بارے میں کیا کرنا چاہئے، اس کا پارامتر کو اس کے بارے میں واضح طور پر کیا کرنا چاہئے。
ایک دوسرا حالت یہ ہے کہ GET میٹھد استعمال کیا جاتا ہے، اس وقت براوزر فرم ہینڈلنگ سرور کا کنکشن قائم کرتا ہے، فیر تمام فرم کے اعداد و شمار کو ایک ہی نقل و حمل کے قدم میں بھیجتا ہے: براوزر یہ اعداد و شمار فرم کی ایکشن یو آر ایل کے بعد براہ راست جوڑتا ہے۔ یہ دونوں کے درمیان سوال مارکر استعمال کیا جاتا ہے。
一般浏览器通过上述任何一种方法都可以传输表单信息,而有些服务器只接受其中一种方法提供的数据。可以在
POST 还是 GET?
如果表单处理服务器既支持 POST 方法又支持 GET 方法,那么你该选择哪种方法呢?下面是有关这方面的一些规律:
- 如果希望获得最佳表单传输性能,可以采用 GET 方法发送只有少数简短字的小表单。
- 一些服务器操作系统在处理可以立即传递给应用程序的命令行参数时,会限制其数目和长度,在这种情况下,对那些有许多字或是很长的文本域的表单来说,就应该采用 POST 方法来发送。
- 如果你在编写服务器端的表单处理应用程序方面经验不足,应该选择 GET 方法。如果采用 POST 方法,就要在读取和解码方法做些额外的工作,也许这并不很难,但是也许你不太愿意去处理这些问题。
- ਜੇਕਰ ਸੁਰੱਖਿਆ ਇੱਕ ਮੁੱਦਾ ਹੈ ਤਾਂ ਅਸੀਂ ਪੋਸਟ ਮੈਥਡ ਦੀ ਵਰਤੋਂ ਕਰਨ ਦੀ ਸਲਾਹ ਦਿੰਦੇ ਹਾਂ। GET ਮੈਥਡ ਫਾਰਮ ਪਾਰਾਮੀਟਰਾਂ ਨੂੰ ਸਰਵਰ ਐਪਲੀਕੇਸ਼ਨ ਦੇ ਯੂਰਲ ਵਿੱਚ ਸਿੱਧੇ ਰੂਪ ਵਿੱਚ ਰੱਖਦਾ ਹੈ ਜਿਸ ਨਾਲ ਨੈੱਟਵਰਕ ਸਕੀਨਰਜ਼ ਨੂੰ ਇਨ੍ਹਾਂ ਨੂੰ ਆਸਾਨੀ ਨਾਲ ਕੈਪਚਰ ਕਰਨ ਵਿੱਚ ਮਦਦ ਮਿਲਦੀ ਹੈ ਅਤੇ ਸਰਵਰ ਦੇ ਲਾਗ ਫਾਈਲਾਂ ਵਿੱਚ ਇਨ੍ਹਾਂ ਨੂੰ ਸਿੱਧੇ ਰੂਪ ਵਿੱਚ ਉਠਾਇਆ ਜਾ ਸਕਦਾ ਹੈ। ਜੇਕਰ ਪਾਰਾਮੀਟਰਾਂ ਵਿੱਚ ਕਾਰਡਨਾਕ ਅਕਾਊਂਟ ਜਿਹੀ ਸੰਵੇਦਨਸ਼ੀਲ ਸੂਚਨਾ ਹੈ ਤਾਂ ਇਹ ਗੁਮਨਾਮੇ ਵਿੱਚ ਉਸਦੀ ਸੁਰੱਖਿਆ ਨੂੰ ਖਤਰੇ ਵਿੱਚ ਪਾ ਦਿੰਦਾ ਹੈ। ਜਦੋਂ ਤੱਕ ਪੋਸਟ ਐਪਲੀਕੇਸ਼ਨ ਵਿੱਚ ਕੋਈ ਸੁਰੱਖਿਆ ਦੀ ਕਮੀ ਨਹੀਂ ਹੈ ਤਾਂ ਪਾਰਾਮੀਟਰਾਂ ਨੂੰ ਸਰਵਰ ਨੂੰ ਵੱਖਰੇ ਲੈਣ ਵਾਲੇ ਅਜਿਹੇ ਟ੍ਰਾਂਜੈਕਸ਼ਨ ਵਜੋਂ ਟ੍ਰਾਂਸਮਿਟ ਕਰਨ ਦੇ ਦੌਰਾਨ ਹੁਣ ਹੁਣ ਕੈਪਚਰ ਕਰਨ ਦੀ ਪ੍ਰਕਿਰਿਆ ਵਿੱਚ ਕੈਪਚਰ ਕਰਨ ਦੀ ਸਲਾਹ ਦਿੰਦੇ ਹਾਂ।
- ਜੇਕਰ ਤੁਸੀਂ ਫਾਰਮ ਤੋਂ ਬਾਹਰ ਸਰਵਰ ਪਾਰਟੀ ਐਪਲੀਕੇਸ਼ਨ ਨੂੰ ਬੁਲਾਉਣਾ ਚਾਹੁੰਦੇ ਹੋ ਅਤੇ ਉਸ ਨੂੰ ਪਾਰਾਮੀਟਰ ਪਾਸ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ ਤਾਂ GET ਮੈਥਡ ਦੀ ਵਰਤੋਂ ਕਰਨੀ ਚਾਹੀਦੀ ਹੈ ਕਿਉਂਕਿ ਇਹ ਮੈਥਡ ਫਾਰਮ ਵਰਗੇ ਪਾਰਾਮੀਟਰਾਂ ਨੂੰ ਯੂਰਲ ਦੇ ਇੱਕ ਹਿੱਸੇ ਵਜੋਂ ਸ਼ਾਮਿਲ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ। ਉਸ ਦੇ ਵਾਅਦੇ ਵਿੱਚ ਹੀ POST ਮੈਥਡ ਵਾਲੇ ਐਪਲੀਕੇਸ਼ਨ ਯੂਰਲ ਦੇ ਬਾਅਦ ਕੁਝ ਹੋਰ ਬਰਾਜਰ ਪ੍ਰੋਸੈਸ ਦੀ ਆਗਿਆ ਦਿੰਦੇ ਹਨ ਜਿਸ ਵਿੱਚ ਸਮਾਚਾਰ ਦੇ ਸਮਾਚਾਰ ਨੂੰ ਸਮਾਚਾਰ ਦੇ ਰੂਪ ਵਿੱਚ ਨਹੀਂ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ।
ਪਾਰਾਮੀਟਰਾਂ ਨੂੰ ਸਪਸ਼ਟ ਰੂਪ ਵਿੱਚ ਪਾਸ ਕਰਨਾ
ਇਸ ਤਰ੍ਹਾਂ ਦੇ ਕੁਝ ਸੁਝਾਅ ਇਸ ਤਰ੍ਹਾਂ ਦੇ ਮਾਰਗ ਦੇ ਚੋਣ ਲਈ ਇੱਕ ਕੁਝ ਵਿਆਖਿਆ ਵਜੋਂ ਵੀ ਹੋ ਸਕਦੇ ਹਨ। ਇਹ ਸਿਰਫ ਕੁਝ ਹੀ ਪਾਰਾਮੀਟਰ ਵਾਲਾ ਇੱਕ ਸਰਲ ਫਾਰਮ ਹੈ ਜਿਸ ਵਿੱਚ ਸਿਰਫ x ਅਤੇ y ਦੋ ਪਾਰਾਮੀਟਰ ਹਨ। ਇਨ੍ਹਾਂ ਪੈਰਾਮੀਟਰਾਂ ਦੇ ਮੁੱਲਾਂ ਨੂੰ ਕੋਡਿੰਗ ਕਰਦੇ ਸਮੇਂ ਉਹ ਇਸ ਤਰ੍ਹਾਂ ਹੁੰਦੇ ਹਨ:
x=28&y=66
ਜੇਕਰ ਫਾਰਮ ਨੇ method=GET ਅਪਣਾਇਆ ਹੈ ਤਾਂ ਸਰਵਰ ਪਾਰਟੀ ਐਪਲੀਕੇਸ਼ਨ ਦੇ ਯੂਰਲ ਇਸ ਤਰ੍ਹਾਂ ਹੋਵੇਗਾ:
http://www.example.com/example/program?x=28&y=66
ਕੋਈ ਵੀ ਸਮੇਂ ਅਸੀਂ ਇੱਕ ਰਵਾਇਤੀ <a> ਟੈਗ ਬਣਾ ਸਕਦੇ ਹਾਂ ਅਤੇ ਉਸ ਨੂੰ ਇੱਕ ਫਾਰਮ ਦੇ ਮੈਟਰੀਅਲ ਨੂੰ ਪਾਰਾਮੀਟਰ ਦੇ ਰੂਪ ਵਿੱਚ ਕਾਮ ਆਉਣ ਵਾਲੇ ਫਾਰਮ ਨੂੰ ਪਾਉਣ ਲਈ ਇਸ ਤਰ੍ਹਾਂ ਵਿੱਚ ਕਾਮ ਆਉਣ ਵਾਲਾ ਹੈ:
<a href="http://www.example.com/example/program?x=28&y=66">
ਇੱਕੁਲੀ ਸਮੱਸਿਆ ਇਹ ਹੈ ਕਿ ਪੈਰਾਮੀਟਰ ਵੱਖ-ਵੱਖ ਕਰਨ ਵਾਲੇ & ਚਿੰਨ੍ਹ ਵੀ ਚਾਰਜ ਚਿੰਨ੍ਹ ਵਿੱਚ ਸ਼ਾਮਿਲ ਹਨ।ਜੇਕਰ <a> ਟੈਗ ਦੇ href ਅਤੇਰੇ ਚਿੰਨ੍ਹ ਵਿੱਚ & ਚਿੰਨ੍ਹ ਰੱਖਿਆ ਜਾਵੇ, ਤਾਂ ਬਰਾਉਜ਼ਰ ਉਸ ਚਿੰਨ੍ਹ ਦੇ ਬਾਅਦ ਦੇ ਚਿੰਨ੍ਹ ਨੂੰ ਉਸ ਦੇ ਸਮਾਨਤਾ ਚਿੰਨ੍ਹ ਵਿੱਚ ਬਦਲ ਦੇਵੇਗਾ。
ਇਸ ਹਾਲਾਤ ਨੂੰ ਰੋਕਣ ਲਈ, ਅਸੀਂ & ਚਿੰਨ੍ਹ ਦੇ ਸਮਾਨਤਾ ਚਿੰਨ੍ਹ ਨਾਲ ਬਦਲਣਾ ਪਵੇਗਾ, ਯਾਨੀ "&" ਜਾਂ "&" ਨਾਲ ਬਦਲਣਾ ਪਵੇਗਾ।ਬਦਲਣ ਦੇ ਬਾਅਦ, ਉੱਪਰੋਕਤ ਲਿੰਕ ਸਟੈਂਡਰਡ ਸਰਵਰ ਐਪਲੀਕੇਸ਼ਨ ਦੇ ਫਾਰਮ ਨਹੀਂ ਦਿਖਾਏ ਜਾਣ ਵਾਲਾ ਉਦਾਹਰਣ ਇਸ ਤਰ੍ਹਾਂ ਦਿਖਾਇਆ ਜਾਵੇਗਾ:
<a href="http://www.example.com/example/program?x=28&y=66">
ਇਸ ਤਰ੍ਹਾਂ ਵੀ & ਚਿੰਨ੍ਹ ਨੂੰ URL ਵਿੱਚ ਵਰਤਣ ਵਿੱਚ ਮੁਸ਼ਕਿਲਤਾ ਹੁੰਦੀ ਹੈ ਅਤੇ ਭਵਿੱਖ ਵਿੱਚ ਗਲਤੀ ਆ ਸਕਦੀ ਹੈ, ਇਸ ਲਈ ਸਰਵਰ ਨੂੰ ਸਿਫਾਰਸ਼ ਕੀਤੀ ਜਾਂਦੀ ਹੈ ਕਿ ਸਰਵਰ ਆਖਰਕਾਰ ਵੀ ; ਚਿੰਨ੍ਹ ਨੂੰ ਪ੍ਰਵਾਨ ਕਰੇ।ਤੁਸੀਂ ਆਪਣੇ ਸਰਵਰ ਦੇ ਦਸਤਾਵੇਜ਼ ਨੂੰ ਵੀ ਦੇਖ ਸਕਦੇ ਹੋ ਕਿ ਸਰਵਰ ਇਹ ਸਮਰਥਨ ਕਰਦਾ ਹੈ ਜਾਂ ਨਹੀਂ。
ਬਰਾਉਜ਼ਰ ਸਮਰਥਨ
ਚਰਮੀ | ਐਂਜਲ | ਫਾਇਰਫਾਕਸ | ਸੈਫਾਰੀ | ਓਪਰਾ |
---|---|---|---|---|
ਚਰਮੀ | ਐਂਜਲ | ਫਾਇਰਫਾਕਸ | ਸੈਫਾਰੀ | ਓਪਰਾ |
ਸਮਰਥਨ | ਸਮਰਥਨ | ਸਮਰਥਨ | ਸਮਰਥਨ | ਸਮਰਥਨ |