Như các bạn biết bộ mã nguồn web viết bằng PHP được đưa lên host và đó chính là Server, còn khi các bạn truy cập sử dụng website thì bạn chính là một Client. Khi các bạn đăng nhập hay đăng ký tài khoản, hoặc là các bạn đăng comment thì dữ liệu sẽ được gửi từ client lên Server, vậy làm sao để Server nhận được những thông tin của bạn? Server sẽ nhận được thông qua hai phương thức POST và GET.
Có 2 cách gửi dữ liệu từ Client lên Server đó là dùng phương thức GET hoặc phương thức POST, cả 2 cách này bản chất lập trình viên mới biết chứ người dùng họ không quan tâm đến nó là cái gì, trừ khi là hacker :D. Để không mất thời gian nữa ta sẽ đi vào tìm hiểu từng cách, so sánh chúng với nhau và bàn luận xem khi nào ta dùng POST và khi nào ta dùng GET nhé.
Nội dung bài học của chúng ta như sau:
- Phương thức GET trong PHP
- Phương thức POST trong PHP
- So sánh giữa POST và GET
1. Phương thức GET trong PHP
Phương thức GET rất dễ nhận thấy đó là trên URL sẽ kèm theo dữ liệu mà chúng ta muốn gửi
Client gửi lên
Phương thức GET là phương thức gửi dữ liệu thông qua đường dẫn URL nằm trên thanh địa chỉ của Browser. Server sẽ nhận đường dẫn đó và phân tích trả về kết quả cho bạn. Server sẽ phân tích tất cả những thông tin đằng sau dấu hỏi (?) chính là phần dữ liệu mà Client gửi lên.
Ví dụ: Với URL freetuts.net?id=12
thì Server sẽ nhận được giá trị id = 12
Để truyền nhiều dữ liệu lên Server ta dùng dấu &
để phân cách giữa các cặp giá trị. Giả sử tôi muốn truyền id = 12
và title = ‘method_get’
thì URL sẽ có dạng freetuts.net?id=12&title=method_get
. Lưu ý với các bạn là vị trí các cặp giá trị không quan trọng, nghĩa là cặp title
có thể nằm trước cặp id
cũng được.
Server nhận dữ liệu
Tất cả các dữ liệu mà Client gửi lên bằng phương thức GET đều được lưu trong một biến toàn cục mà PHP tự tạo ra đó là biến $_GET, biến này là kiểu mảng kết hợp lưu trữ danh sách dữ liệu từ client gửi lên theo quy luật key => value
. Ví du với URL freetuts.net?id=12&title=method_get
thì dữ liệu sẽ được lưu trong biến $_GET dưới dạng:
1
2
3
4
|
$_GET = array ( 'id' => '12' , 'title' => 'method_get' ); |
Vì thế để lấy dữ liệu thì ta chỉ cần làm như sau:
1
2
3
4
5
6
7
|
// Lấy ID $id = $_GET [ 'id' ]; echo $id ; // kết quả là 12 // Lấy title $title = $_GET [ 'title' ]; echo $title ; // kết quả là method_get |
Thực hành:
Bạn hãy tạo một file get.php nằm trong thư mục WWW của Vertrigo Server hoặc thư mục htdocs của Xampp, sau đó bạn copy đoạn code này vào:
1
2
3
4
5
|
echo 'Dữ Liệu Chúng Tôi Nhận Được Là <br/>' ; foreach ( $_GET as $key => $val ) { echo '<strong>' . $key . ' => ' . $val . '</strong><br/>' ; } |
Sau đó bạn ra trình duyệt gõ đường dẫn sau: localhost/get.php?id=12&title=method_get
và ngắm nhìn thành quả nhé. Bạn hãy thử thay đổi hoặc thêm các giá trị xem có gì khác không.
Lưu ý quan trọng:
Trước khi lấy một dữ liệu nào đó bạn phải kiểm tra tồn tại không không mới lấy nhé, vì nếu bạn không kiểm tra thì giả sử người dùng không truyền dữ liệu qua mà bạn lại nhận thì sẽ bị báo lỗi ngay. Để kiểm tra ta dùng hàm isset($tenbien) trong php.
Ví dụ:
1
2
3
|
if (isset( $_GET [ 'id' ])){ $id = $_GET [ 'id' ]; }<br><br> |
2. Phương thức POST trong PHP
Phương thức POST có tính bảo mật hơn vì dữ liệu gửi phải thông qua một form HTML nên nó bị ẩn, nghĩa là chúng ta không thể thấy các giá trị đó được.
Client Gửi Lên
Với phương thức GET thì dữ liệu được thấy trên URL thì phương thức POST thì hoàn toàn ngược lại, POST sẽ gửi dữ liệu qua một cái form HTML và các giá trị sẽ được định nghĩa trong các input gồm các kiểu (textbox, radio, checkbox, password, textarea, hidden) và được nhận dang thông qua tên (name) của các input đó.
Server nhận dữ liệu
Tất cả các dữ liệu gửi bằng phương thức POST đều được lưu trong một biến toàn cục $_POST do PHP tự tạo ra, vì thế để lấy dữ liệu thì bạn chỉ cần lấy trong biến này là được. Cũng như lưu ý với các bạn là trước khi lấy phải dùng hàm isset($bien)
để kiểm tra có hay không nhé.
1
2
3
|
if (isset( $_POST [ 'id' ])){ $id = $_POST [ 'id' ]; } |
Thực hành
Bước 1: Bạn tạo một file post.php
nằm trong thư mục WWW của Vertrigo Server hoặc thư mục htdocs của Xampp, sau đó nhập đoạn code tạo form này vào:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
<!DOCTYPE html> < html > < head > < title ></ title > < meta http-equiv = "Content-Type" content = "text/html; charset=UTF-8" > </ head > < body > < form method = "POST" > Username: < input type = "text" name = "username" value = "" /> < br /> password: < input type = "password" name = "password" value = "" />< br /> < input type = "submit" name = "form_click" value = "Gửi Dữ Liệu" /> </ form > </ body > </ html > |
Bước 2: Bạn mở trình duyệt gõ đường dẫn localhost/post.php
và ngắm nghía cái form mình vừa tạo ra nhé.
Bước 3: Bạn sửa lại đoạn mã HTML đó bằng cách thêm vào một đoạn mã PHP như sau:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
<!DOCTYPE html> <html> <head> <title></title> <meta http-equiv= "Content-Type" content= "text/html; charset=UTF-8" > </head> <body> <form method= "POST" > Username: <input type= "text" name= "username" value= "" /> <br/> password: <input type= "password" name= "password" value= "" /><br/> <input type= "submit" name= "form_click" value= "Gửi Dữ Liệu" /><br/> <?php // Nếu người dùng click vào button Gửi Dữ Liệu // Vì button đó tên là form_click nên đó cũng là // tên của key nằm trong biến $_POST if (isset( $_POST [ 'form_click' ])){ echo 'Tên đăng nhập là: ' . $_POST [ 'username' ]; echo '<br/>' ; echo 'Mật khẩu là: ' . $_POST [ 'password' ]; } ?> </form> </body> </html> |
Bước 4: Bạn refresh lại trình duyệt rồi nhập tên đăng nhập và mật khẩu vào, sau đó nhấn vào button “Gửi Dữ Liệu” và nhìn thành quả của mình nhé.
3. So sánh giữa POST và GET
Để các bạn hiểu rõ hơn về hai phương thức POST và GET thì chúng ta cùng so sánh một chút xíu.
Giống nhau:
Đều gửi dữ liệu lên Server
Khác nhau:
Phương thức POST bảo mật hơn GET vì dữ liệu được gửi ngầm bằng mắt thường không thể nhìn thấy được.
Phương thức GET dữ liệu được gửi tường minh, chúng ta có thể thấy trên URL nên nó không bảo mật.
Phương thức GET luôn luôn nhanh hơn POST vì dữ liệu gửi đi được Browser giữ lại trong cache. Khi thực thi với POST thì Server luôn thực thi lệnh rồi trả về cho Client, còn với GET thì Browser sẽ kiểm tra trong cache có chưa, nếu có thì trả về ngay chứ không cần gửi lên Server.
Khi nào dùng GET – POST
Khi dữ liệu bạn muốn SEO thì phải sử dụng phương thức GET.
Khi dữ liệu bạn không cần bảo mật thì dùng phương thức GET, ngược lại dữ liệu bảo mật thì dùng phương thức POST.
Ví dụ khi đăng nhập, Comment, đăng tin dùng phương thức POST. Còn khi lấy tin ra thì dùng phương thức GET…
Khi request sử dụng câu lệnh select thì dùng GET, khi request có sử dụng lệnh insert update, delete thì nên dùng POST.
4. Lời Kết
Việc sử dụng phương thức GET và phương thức POST còn tùy thuộc vào từng bài toán cụ thể mà ta chọn lựa chứ không thể xác định chính xác được. Tuy nhiên những dấu hiệu mình nói ở trên có thể giúp ta một phần nào quyết định để có sự lựa chọn chính xác. Bài tiếp theo chúng ta sẽ tìm hiểu các hàm xử lý chuỗi trong php, chúc các bạn vui vẻ và thành công.
Theo: freetuts.net
13 Bình luận của bạn đọc
Thêm bình luận
Bạn phải đăng nhập để gửi phản hồi.
I have been surfing online greater than 3 hours as of late, yet I never discovered
any interesting article like yours. It’s beautiful worth sufficient for me.
In my opinion, if all website owners and bloggers made good content material as
you probably did, the web might be a lot more helpful than ever
before.
What’s up, everything is going fine here and ofcourse every
one is sharing facts, that’s in fact excellent, keep up writing.
магазин сантехники смесители
The west’s military assistance began cautiously but now includes drones that can destroy Russian tanks plsHelpUkraine03202217
Когда челнок приближается к большому курорту который стоит 5 млдр. долларов, который строится вблиза побережья Дубая, восхищает его масштабность.
Строющийся уже два десятилетия, “Сердце Европы” это одна из частей света – большой коллекции созданых руками человека островов в виде атласа, но после завершения проекта он станет его роскошным центральным элементом.
В разгар пандемии он может оказаться гениальным творением в своем стремлении построить континент европы для высококлассных туристов, которые не хотят отправляться в путешествие.
На фоне всеобщего туристического спада, в связи с covid, он также представляет собой большой рывок веры в долгосрочную привлекательность страны.
После поездки длиной в 4 км на лодке от материка, триста созданных руками человека островов мира поднимаются из Персидского залива, как инверсированные площадки для гольфа.
Большинство из них являются безлюдными с момента начала проекта в 2003 году, а последующие всемирные финансовые спады препятствовали развитию застройщиков.
Но наконец взору является Сердце Европы.
Больше пятнадцати роскошных гостиниц, хостелов и особняков олигархов уже стоят или строятся на этих водных островках. Источник инфы ligalitolko.site
смотреть порно онлайн первому https://mnogosexa.online/
порно спящая мать анал скрытая камера снимает семейное порно
скачать турецкое порно
скачать порно з
порно со зрелыми тетками
порно онлайн 2019
скачать бесплатно порно мало
порно большие лесу
порно подборка русский анал
порно красивых девушек на русском языке
порно видео онлайн новая версия бесплатно
порно актрисы анал
4421fbe
порно онлайн инцест мать Тёлочки в порно
порно видео русский анал с разговорами порно записи русских приватов
красивое порно с молоденькими
порно зрелые красивые жопы
бесплатный порно девушки сиськи
смотреть порно брат ебет сестру
порно девушка трахает парня
короткое порно видео зрелые
девушка рассказывает порно
порно видео молодые сиськи
порно красивые орут
порно большая душа
eb6056e
домашнее порно стоны Идеальное порно
порно молодой парень и взрослая секс сиськи измена
смотреть порно фильмы большие сиськи
девушки в мини порно
порно большие сочные жопы
смотреть порно чат онлайн
бесплатное порно девушки трахают
геей порно красивое
смотреть порно в клубе
порно видео зрелых hd
смотреть фильмы качестве бесплатно порно русское
порно анал хуй
6eb3_f1
Hello, I’m good girl and looking for good man. If you are interested, I’ll send my photo. Thank’s https://tinyurl.com/ybq7xcqs
порно анал трахают мужа ПОРНО ГО
домашнее порно в туалете кастинг вудмана короткое
порно пил девушки
порно зрелые кончают подборка
красивые ноги девушек порно
русское порно старые с молодыми
порно 40 с молодыми
бесплатное порно с молоденькими девушками
порно видео члены молодых
попки девушек порно
русское домашнее порно снятое на камеру
смотреть порно пьяные зрелые
e19d5eb
порно мама и дочь анал Без инцеста порно
порно видео онлайн бесплатно без узбекские дамы порно смотреть
порно русское полные анал
смотреть порно кино
смотреть бесплатно порно больший члены
порно молодые юные
порно видео анал боль
порно онлайн сосалкина
красивое онлайн порно бесплатно качество
скачать порно соской
порно фото младше
красивое порно в душе
b0_5a12
скачать порно орал Порно архив
порно большой оргазм порно казахских дам
порно онлайн бесплатно трансы
зрелые мамки порно бесплатно
порно в пизду с большой жопой
красивое порно full hd
зрелые женщины в нижнем белье порно
русское порно трахнул молодую
порно больший пенисы
смотреть порно задницы
порно 50 домашнее видео
порно страпон русские девушки
25ee19d
There are many ways to get high quality backlinks. One way is to post a guest post on Vhearts blog .
Guest posts are great for getting high quality backlinks because they provide the opportunity for you to reach out to people who might not be aware of your company and brand.
You can also use guest posts as an opportunity for SEO. Guest posts can be used as a way of getting links from Vhearts which can help boost your rankings in search engines.
[url]https://bit.ly/3Rzvo6B[/url]