Bài 5: Làm việc với biến form trong PHP

03/03/2016 Trần Thị Thùy Linh

Các form nhập liệu trong html rất quan trọng nó giúp server giao tiếp với người dùng một cách hiệu quả như kiểm tra đăng nhập, hay gửi thông tin liên hệ email ...

Biến form trong PHP được biết đến như một loại biến, thay vì khai báo thì biến đó chính là tên của thẻ nhập liệu trong trang submit hay tham số trên querystring.

5.1. Biến form từ form được submit với phương thức POST 

Trong form html các bạn khai báo thuộc tính name của thẻ form là name="hoten" thì biến truy cập trong php là $_POST["hoten"]

Ví dụ

<html>
<head>
</head>
<body>
	<h4>Bien form</h4> 
	<table> 
	<tr><td>Name</td> 
	<td> 
	 	:<?=$_POST['hoten']?> 
	</td></tr> 
	<tr><td>Gender</td> 
	<td> 
	 	:<?=$_POST['gioitinh']?> 
	</td></tr> 
	</table> 

	<form action="" method=post> 
		<tr> 
		 	<td>Name</td><td>:<input type=text name=hoten></td> 
		</tr> 
		<tr><td>Gender</td> 
		 	<td>:<input type=radio value=M name=gioitinh> Nam 
		 	<input type=radio value=F name=gender> Nu</td> 
		</tr> 
		<tr><td>&nbsp</td> 
		 	<td><input type=submit value=Submit></td> 
		</tr>
	</form> 

</body>
</html>

ở ví dụ trên mình tích hợp gọi biến của form luôn là

$_POST["hoten"]
$_POST["gioitinh"]

 khi để thuộc tính action="" còn nếu muốn form submit về một file php nào đó các bạn thay vào là action="laygiatri.php" và bên trong file laygiatri.php là code xử lý dữ liệu

ví dụ trên khi chạy sẽ có thông báo undefine ... hoten, gioitinh vì lý do khi chay php chưa nhận submit của form lên 2 biên là rỗng (empty)

nhưng khi các bạn nhập hoten và chọn gioitinh thì kết quả sẽ hiển thị lên màn hình

5.2. Biến form từ form được submit với phương thức GET

Nếu bạn sử dụng phương thức GET trong thẻ form, bạn có thể lấy giá trị của các tham số trên chuỗi QueryString bằng biến form như đối với ví dụ trên theo phương thức get

<html>
<head>
</head>
<body>
	<h4>Bien form</h4> 
	<table> 
	<tr><td>Name</td> 
	<td> 
	 	:<?=$_GET['hoten']?> 
	</td></tr> 
	<tr><td>Gender</td> 
	<td> 
	 	:<?=$_GET['gioitinh']?> 
	</td></tr> 
	</table> 

	<form action="" method=get> 
		<tr> 
		 	<td>Name</td><td>:<input type=text name=hoten></td> 
		</tr> 
		<tr><td>Gender</td> 
		 	<td>:<input type=radio value=M name=gioitinh> Nam 
		 	<input type=radio value=F name=gender> Nu</td> 
		</tr> 
		<tr><td>&nbsp</td> 
		 	<td><input type=submit value=Submit></td> 
		</tr>
	</form> 

</body>
</html>

Như các bạn thấy thuộc tính method của form là get và để lấy giá trí của form ta dùng $_GET["ten bien"]

- Phương thức get này có một nhược điểm là khi truyền biến thì nó sẽ hiển thị trên thanh địa chỉ của trình duyệt như thế này

Các bạn cũng có thể truyền biến bằng phương thức get mà không cần dùng form đó là truyền trực thiếp trên thanh địa chỉ như hình trên

5.3. Kiểm tra sumit form trong PHP

như ví dụ đầu tiên post trong bài thì khi không submit form php sẽ xuất thông báo lỗi với các biến form vậy để tránh những lỗi này ta cần kiểm tra xem form đã được submit chưa bằng cách sử dụng hàm isset (hàm kiểm tra tồn tại) kiểm tra xem biến form có tồn tại ko

ví dụ

<html>
<head>
</head>
<body>
	<h4>Bien form</h4> 
	<table> 
	<tr><td>Ho ten</td> 
	<td> 
	 	:<? if (isset($_POST['hoten'])) echo $_POST['hoten']; ?> 
	</td></tr> 
	<tr><td>Gioi tinh</td> 
	<td> 
	 	:<? if (isset($_POST['gioitinh'])) echo $_POST['gioitinh']; ?> 
	</td></tr> 
	</table> 

	<form action="" method=post> 
		<tr> 
		 	<td>Ho ten</td><td>:<input type=text name=hoten></td> 
		</tr> 
		<tr><td>Gioi tinh</td> 
		 	<td>:<input type=radio value=Nam name=gioitinh> Nam 
		 	<input type=radio value=Nu name=gioitinh> Nu</td> 
		</tr> 
		<tr><td>&nbsp</td> 
		 	<td><input type=submit value=Submit></td> 
		</tr>
	</form> 

</body>
</html>

khi này chay chương trình mà không submit thì sẽ không xuất hiện thông báo lỗi

Thường thì dùng isset để kiểm tra xem button submit có tồn tại không, nếu tồn tại tức người dùng đã nhấp submit tiếp đó là lấy dữ liệu các thẻ khác luôn mà không cần kiểm tra

Tag: biến form trong phpform htmlform phpPOSTGET

Đang phát triển ...

Bài viết liên quan

Hàm SLEEP trong PHP

Có những lúc trong công việc lập trình ta cần mã tạm dừng theo một thời gian định trước thì trong php có hỗ trợ hàm sleep để các bạn làm điều này.

Hàm Rand trong PHP

Đôi lúc chúng ta lập trình cần đến những con số sinh ngẫu nhiên vào những công việc khách nhau hôm này mình xin giới thiệu với mọi người hàm sinh số ngẫu nhiên trong PHP

Bài 9: Giới thiệu lập trình hướng đối tượng trong PHP (OOP)

Các bạn tự học PHP nên biết về lập trình hướng đối tượng trong PHP, kỹ thuật lập trình hỗ trợ công nghệ đối tượng

Bài 8: Hàm có sẵn thông dụng trong PHP

Hàm thông dụng trong php cần biết, các bạn mới bắt đầu lên nắm rõ ý nghĩa cấu trúc cách dùng những hàm này để bổ trợ kiến thức sau này

Bài 7: Hàm trong PHP

Hàm do người sử dụng định nghĩa cho phép bạn xử lý những tác vụ thường lặp đi lặp lại trong ứng dụng. cách khai báo, cú pháp của hàm trong php

Bài 6: Session và Cookies trong PHP

Để chuyền biến từ trang web này sang trang web khác như bài trước ta có thể dung biến form, nhưng như vây hơi phức tạp để áp dụng đối với một số trường hợp bài này chúng ta sẽ tìm hiểu session và cookie để có lựa chọn tốt hơn

Bài 4: Phép toán và biểu thức có điều kiện trong PHP

Trong bài học này các bạn sẽ tìm hiểu các phép gán, các toán tử, đồng thời giúp cho các bạn hiểu thêm vào các phát biểu có điều kiện như while, for, switch, …. 

Bài 3: Hằng trong PHP

Trong bài này, chúng ta tìm hiểu cách khai báo hằng, biến và sử dụng hằng biến. Ngoài ra, bạn cũng tìm hiểu cách chuyển đổi kiểu dữ liệu

Bài 2: Kiểu dữ liệu trong PHP

Tìm hiểu cơ bản về các kiểu dữ liệu trong ngôn ngữ lập trình PHP

Bài 1: Cú pháp cơ bản trong ngôn ngữ PHP

Về cơ bản ngôn ngữ lập trình php là ngôn ngữ dễ sử dụng, thông dụng hiện này, mạnh mẽ, vì là mã nguồn mở được sử dụng rộng dãi lên khá nhiều support cho các bạn

Tìm hiểu, giới thiệu ngôn ngữ PHP

PHP là một ngôn ngữ kịch bản phía máy chủ được nhúng trong HTML. Nó được sử dụng để quản lý nội dung động, cơ sở dữ liệu, theo dõi phiên, thậm chí xây dựng toàn bộ các trang web thương mại điện tử.

Giới thiệu, cài đặt và cấu hình APACHE

Nếu bạn là người mới bắt đầu với PHP thì hãy tìm hiểu ngày APACHE là một webserver

Tấn công ransomware cực lớn trên toàn cầu, tải về bản vá lỗi ngay

Tấn công ransomware cực lớn trên toàn cầu, tải về bản vá lỗi ngay

Cuộc tấn công vào NHS đã sử dụng một dạng ransomware có tên Wanacryptor và nhắm mục tiêu vào hàng nghìn tổ chức ở 74 quốc gia. Ransomware là một dạng tấn công mạng có liên quan đến việc các hacker nắm quyền kiểm soát máy tính hoặc thiết bị di động và yêu cầu đòi tiền chuộc. Bằng nhiều cách, những kẻ tấn công tải phần mềm độc hại vào thiết bị và mã hóa thông tin của nạn nhân.

Kỹ thuật tìm kiếm và thay thế từ cơ bản đến nâng cao trong MS Office (Word)

Kỹ thuật tìm kiếm và thay thế từ cơ bản đến nâng cao trong MS Office (Word)

Trong Word nói riêng, Office nói chung, có lẽ ai cũng biết chức năng tìm kiếm và thay thế nội dung văn bản, nhưng ngoài ra, còn nhiểu chức năng khác trong hộp thoại tìm kiếm và thay thế mà không phải ai cũng biết để sử dụng. Trong đó có tìm kiếm và thay thế định dạng, sử dụng các ký hiệu đại diện, các ký tự đặc biệt… 

Bài 6: Thủ thuật outlook 2010

Bài 6: Thủ thuật outlook 2010

Bài viết giới thiệu đến các bạn một số thủ thuật được dùng trong outlook 2010, để giúp công việc của các bạn được dễ dàng hơn.

Bài 5: Quản lý các thông tin trong  outlook 2010

Bài 5: Quản lý các thông tin trong outlook 2010

Bài viết giới thiệu về phương pháp quản lý thông tinn trong outlook 2010. Chúng ta hãy cùng tìm hiểu xem có điểm gì khác và nổi bật so với outlook 2007

Bài 4: Sử dụng lịch làm việc một cách hiệu quả outlook 2010

Bài 4: Sử dụng lịch làm việc một cách hiệu quả outlook 2010

Để công việc của đạt hiệu quả cao hơn, chúng ta hãy cùng nhau tìm hiểu cách sử dụng lịch làm việc một cách hiệu quả hơn trong outlook 2010

Bài 3: Quản lý hộp thư của bạn về dung lượng và lưu trữ outlook 2010

Bài 3: Quản lý hộp thư của bạn về dung lượng và lưu trữ outlook 2010

Bài viết sau đây sẽ giới thiệu về mục quản lý hộp thư của bạn về dung lượng và lưu trữ trong microsoft outlook 2010.