PHP Form Handling

5 min read

The PHP superglobals $_GET and $_POST are used to collect form-data.

PHP superglobals $ _GET ба $ _POST нь маягтын мэдээллийг цуглуулахад ашиглагддаг.


PHP – A Simple HTML Form #

The example below displays a simple HTML form with two input fields and a submit button:

Доорх жишээнд хоёр оролтын талбар, оруулах товч бүхий энгийн HTML хэлбэрийг харуулав.

Example #

Жишээ #

<html> <body> <form action="welcome.php" method="post"> Name: <input type="text" name="name"><br> E-mail: <input type="text" name="email"><br> <input type="submit"> </form> </body> </html>

When the user fills out the form above and clicks the submit button, the form data is sent for processing to a PHP file named “welcome.php”. The form data is sent with the HTTP POST method.

Хэрэглэгч дээрх маягтыг бөглөж, оруулах товчийг дарахад маягтын өгөгдлийг “welcome.php” нэртэй PHP файлд боловсруулахад илгээнэ. Маягтын өгөгдлийг HTTP POST аргаар илгээдэг.

To display the submitted data you could simply echo all the variables. The “welcome.php” looks like this:

Оруулсан өгөгдлийг харуулахын тулд та бүх хувьсагчийг давтах боломжтой. “Welcome.php” нь дараах байдалтай байна.

Welcome
Тавтай морилно уу

Your email address is:

Таны имэйл хаяг:

 

 

The output could be something like this:

Гаралт нь иймэрхүү байж болно:

 
Welcome John
Your email address is john.doe@example.com
 
тавтай морилно уу Жон
Таны имэйл хаяг: john.doe@example.com

The same result could also be achieved using the HTTP GET method:

Үүнтэй ижил үр дүнд HTTP GET аргыг ашиглан хүрч болно:

Example #

Жишээ #

<html> <body> <form action="welcome_get.php" method="get"> Name: <input type="text" name="name"><br> E-mail: <input type="text" name="email"><br> <input type="submit"> </form> </body> </html>

and “welcome_get.php” looks like this:

Бас “welcome_get.php” дараах байдалтай байна.

Welcome 

Тавтай морилно уу

Your email address is:

Таны имэйл хаяг:

The code above is quite simple. However, the most important thing is missing. You need to validate form data to protect your script from malicious code.

Дээрх код нь маш энгийн. Гэсэн хэдий ч хамгийн чухал зүйл алга байна. Скриптийг хортой кодоос хамгаалахын тулд та маягтын өгөгдлийг баталгаажуулах шаардлагатай.


 

GET vs. POST #

Both GET and POST create an array (e.g. array( key1 => value1, key2 => value2, key3 => value3, …)). This array holds key/value pairs, where keys are the names of the form controls and values are the input data from the user.

GET ба POST хоёулаа багц үүсгэдэг (жишээлбэл багц (key1 => value1, key2 => value2, key3 => value3, …)). Энэ багц нь түлхүүр / утгын хосыг агуулдаг бөгөөд товчлуурууд нь хэлбэрийн удирдлагын нэр, утга нь хэрэглэгчийн оруулсан өгөгдөл юм.

Both GET and POST are treated as $_GET and $_POST. These are superglobals, which means that they are always accessible, regardless of scope – and you can access them from any function, class or file without having to do anything special.

GET ба POST хоёулаа $ _GET ба $ _POST гэж тооцогддог. Эдгээр нь супер глобалууд бөгөөд энэ нь хамрах хүрээнээс үл хамааран үргэлж хандах боломжтой гэсэн үг бөгөөд та ямар нэгэн онцгой зүйл хийхгүйгээр ямар ч функц, анги, файлаас хандаж болно.

$_GET is an array of variables passed to the current script via the URL parameters.

$ _GET бол URL параметрүүдээр дамжуулан одоогийн скриптэд дамжуулагдах хувьсагчдын массив юм.

$_POST is an array of variables passed to the current script via the HTTP POST method.

$ _POST нь одоогийн скриптэд HTTP POST аргаар дамжуулсан хувьсагчдын массив юм.


When to use GET? #

Information sent from a form with the GET method is visible to everyone (all variable names and values are displayed in the URL). GET also has limits on the amount of information to send. The limitation is about 2000 characters. However, because the variables are displayed in the URL, it is possible to bookmark the page. This can be useful in some cases.

GET аргыг ашиглан маягтаас илгээсэн мэдээлэл хүн бүрт харагдана (бүх хувьсагчийн нэр ба утгыг URL дээр харуулна). GET нь илгээх мэдээллийн хэмжээ хязгаартай байдаг. Хязгаарлалт нь 2000 орчим тэмдэгт байна. Гэхдээ хувьсагчдыг URL дээр харуулдаг тул хуудсыг хавчуургад оруулах боломжтой байдаг. Энэ нь зарим тохиолдолд ашигтай байж болно.

GET may be used for sending non-sensitive data.

GET нь эмзэг бус өгөгдөл илгээхэд ашиглагдаж магадгүй юм.

Note: GET should NEVER be used for sending passwords or other sensitive information!

Тэмдэглэл: GET-ийг нууц үг болон бусад нууц мэдээллийг илгээхэд ХЭЗЭЭ ч ашиглаж болохгүй!


When to use POST? #

Information sent from a form with the POST method is invisible to others (all names/values are embedded within the body of the HTTP request) and has no limits on the amount of information to send.

POST аргыг ашиглан маягтаас илгээсэн мэдээлэл нь бусдад харагдахгүй (бүх нэр / утга HTTP хүсэлтийн үндсэн хэсэгт багтсан болно) бөгөөд илгээх мэдээллийн хэмжээ хязгааргүй болно.

Moreover POST supports advanced functionality such as support for multi-part binary input while uploading files to server.

POST нь сервер рүү файл байршуулах явцад олон хэсгээс бүрдэх хоёртын оролтыг дэмжих зэрэг дэвшилтэт ажиллагааг дэмждэг.

However, because the variables are not displayed in the URL, it is not possible to bookmark the page.

Гэхдээ хувьсагчууд URL дээр харагдахгүй тул хуудсыг хавчуургад оруулах боломжгүй юм.

Developers prefer POST for sending form data.

Хөгжүүлэгчид маягтын өгөгдлийг илгээхдээ POST-г илүүд үздэг.

Powered by BetterDocs

Leave a Reply