Đào Tạo PHP & Mysql

Học PHP Online - PHP Framework - Tự Học PHP

Lập Trình PHP Căn Bản

Bài 4: Xử lý giá trị form trong PHP

Một trong những ứng dụng quan trọng của PHP đó là giúp tương tác xử lý dữ liệu trên form của người sử dụng. Nhằm mục đích giúp cập nhật thông tin một cách linh động và dễ dàng quản lý chung hơn bởi sự kết hợp tuyệt vời của cơ sở dữ liệu. Tuy nhiên để làm được điều ấy PHP yêu cầu form phải đáp ứng 1 số quy định chung đặt ra.
Chúng ta cùng phân tích thẻ form trong HTML sau:
 
PHP Example
 
Chúng ta thấy rằng 1 form phải bao gồm:
 
Tên form để dễ dàng tách biệt với giá trị của chúng.
 
Action: hành động chuyển tiếp đến link xử lý.
 
Method: Là phương thức truyền bao gồm POST và GET.
 
Ví dụ:
 

PHP Example

 
Như vậy ta thấy rằng. Đoạn code trên làm những việc sau.
 
Đầu tiên khi khách nhập liệu username vào thì chúng sẽ chuyển tới trang check.php để tiến hành xử lý thông tin. Trên phương thức POST, với tên form là reg. Giá trị mà chúng ta gởi là username vừa nhập liệu.
 
Vậy làm cách nào để chúng ta lấy được giá trị vừa nhập liệu nào ?.
 
PHP cho phép ta lấy giá trị dựa vào 2 phương thức POST và GET.
 
Đới với POST ta có : $_POST[‘Giá trị’]
 
Đối với GET ta có : $_GET[‘Giá trị’]
 
Vậy với đoạn code trên có thể lấy được biến xử lý là : $_POST[‘username’];
 
Username là tên của field mà người sử dụng nhập liệu vào.
 
1 Phương thức GET:
 
Phương thức này cũng được dùng để lấy dữ liệu từ form nhập liệu. Tuy nhiên nhiệm vụ chính của nó vẫn là lấy nội dung trang dữ liệu từ web server.
 
Ví dụ:
 

Với url sau: shownews.php?id=50

Vậy với trang shownews ta dùng hàm $_GET[‘id’] sẽ được giá trị là 50.
 
2- Phương thức POST:
 
Phương thức này được sử dụng để lấy dữ liệu từ form nhập liệu. Và chuyển chúng lên trình chủ webserver.
 
Ví dụ:
 
Xây dựng 1 trang HTML với nội dung gồm form nhập liệu họ và tên. Sau đó dùng 1 file php để xuất ra thông tin họ và tên mà người sử dụng vừa nhập liệu.
 
Đáp Án:
 
Tạo file userform.htm với nội dung sau:
 

PHP Example

 
Tạo file processform.php để xuất ra dữ liệu
 

PHP Example

 
Tổng Kết:
 

Kết thúc bài này các bạn đã nắm được kỹ thuật kiểm tra thông tin dựa trên PHP. Một trong những vấn đề không thể thiếu đối với bất kỳ một website động nào. Chúng cho ta kiểm tra tính hợp lệ của người sử dụng 1 cách dễ dàng bởi sự tùy biến trong các biểu thức của PHP.

Bài tập áp dụng :
 
Tạo 1 trang web với hộp thoại nhập liệu username và password. Nếu người sử dụng nhập thông tin username/password là admin/12345 thì xuất ra thông báo "welcome, admin" với kiểu chữ Tahoma, màu đỏ. Ngược lại nếu nhập sai thì xuất thông báo "Username hoặc password sai. Vui lòng nhập lại".
 
Đáp án:
 
Tạo trang login.html với nội dung sau:
 

PHP Example

 
Tiếp tục tạo trang checklogin.php với nội dung sau:
 

PHP Example


(Bùi Quốc Huy)
77679
Bạn vẫn chưa hiểu rõ vấn đề ?. Bạn vẫn còn nhiều điều thắc mắc ?. Bạn gặp lỗi khi thực hành mã lệnh trên ?. Hãy tham gia diễn đàn QHOnline.Info để nhận được sự giúp đỡ từ phía cộng đồng nhanh nhất. Đồng thời tải những tài liệu giá trị tại diễn đàn. Việc đăng ký là hoàn toàn miễn phí, hãy đăng ký ngay để chúng tôi giúp đỡ bạn nhé.

Ghi rõ nguồn từ website QHOnline.Info - Khi bạn phát hành lại thông tin từ website này

Phản hồi của bạn Tiếng Anh Telex VNI VIQR





phan long minh (11:10 28/02/2010)

cái này có áp dụng cho làm web kiểm tra nick yahoo không

Reply

Nguyễn Phi Hùng (15:36 24/03/2010)

Xin admin chỉ giúp em về phần xử lý Form trong PHP. Admin chỉ em cách làm sao mà mình nhập vào một giá trị nào đó mình chưa nhấn nút Submit thì form tự động kiểm tra và thông báo cho người dùng biết là đã nhập đúng hay chưa. Ví dụ trong Form đăng ký thành viên chẳng hạn khi mình nhập vào một username tuỳ ý khi vừa nhập xong form tự động kiểm tra và đưa ra thông báo cho người dùng đã nhập đúng hay không, username đó đã có người dùng khác dùng chưa?
Admin có thể chỉ giúp em với em cảm ơn admin nhiều.

Reply

manxuantien (14:56 09/12/2011)

ban hung ah!minh khong phai la admin minh la user nhung co the tra loi cho cau hoi cua ban! ta se su ly su kien tren cai textfield ma ta dang nhap lieu do.bang cach dung umkien Mouse hoac la sau moi tu ma ban go vao thi ta se kiem tra luon!

doan thanh quyet (16:17 29/03/2010)

Xin admin chỉ giúp em về phần xử lý Form trong PHP. Admin chỉ em cách làm sao mà mình nhập vào một giá trị nào đó mình chưa nhấn nút Submit thì form tự động kiểm tra và thông báo cho người dùng biết là đã nhập đúng hay chưa. Ví dụ trong Form đăng ký thành viên chẳng hạn khi mình nhập vào một username tuỳ ý khi vừa nhập xong form tự động kiểm tra và đưa ra thông báo cho người dùng đã nhập đúng hay không, username đó đã có người dùng khác dùng chưa?
em dang bi mac vao van den nay ma khong co cach giai quyet.Mong moi nguoi chi giao cho em voi

Reply

hero it (21:23 25/11/2011)

cái này bạn dùng ajax nhé. có rất nhiếu tài liệu vể cách làm ajax kiểu này. thân.

trần văn khánh (10:17 05/04/2010)

cám ơn admin nha.mình nghĩ admin nên có nhiều bài tập hơn. Dù sao như này cũng tốt rồi. cám ơn

Reply

luu thi phuong (15:43 05/04/2010)

Xin admin chỉ giúp em về phần xử lý Form trong PHP. Admin chỉ em cách làm sao mà mình nhập vào một giá trị nào đó mình chưa nhấn nút Submit thì form tự động kiểm tra và thông báo cho người dùng biết là đã nhập đúng hay chưa. Ví dụ trong Form đăng ký thành viên chẳng hạn khi mình nhập vào một username tuỳ ý khi vừa nhập xong form tự động kiểm tra và đưa ra thông báo cho người dùng đã nhập đúng hay không, username đó đã có người dùng khác dùng chưa?
em xin cảm ơn ạ!

Reply

Hehe (23:33 17/04/2010)

hehe the thi ban hoc sql da thi moi su dung kiem tra du lieu xem co trung voi database chua? Hoc them ca Javascript AJax nua nhe(su kien onChange)

Reply

Kiều Thị Xuyên (22:11 11/05/2010)

Sao em bài tập áp dụng em viết code hệt thầy vậy mà kết quả khi em nhập đúng username là admin và pass là 12345 thì chỉ ra kết quả "Welcome to, 1". Vậy là sao ạ? thầy coi giúp em với!

Reply

Hoàng Văn Nam (11:27 30/05/2010)

Thầy ơi đoạn code
Tiếp tục tạo trang checklogin.php với nội dung sau nó bị sai ở phần password rồi thấy ơi . Các bạn chỉnh lại giống tôi này :

<?
$username=$_POST['user'];
$password=$_POST['pass'];
if ($username == "admin"

Reply

Long Vn (11:22 03/06/2010)

@Nguyễn Phi Hung
Vấn có thể sử dụng ajax để giải quyết vấn đề của bạn

Reply

kien (10:23 23/06/2010)

anh cho em hoi sao em xai dream 2004 sao lap trinh php sao ko dc the

Reply

ngocthachez (20:00 09/07/2010)

@kien

Để viết code PHP , bạn nên sử dụng Notepad , Adobe Dreamweaver 8 hoặc Zend Studio nhé .

Reply

Nguyen Cong Tan (16:16 17/07/2010)

co ai danh giong nhu z ma ra kq k z?cua t ra j dau k ha` k co dong username ma chi co dong password thui

Reply

KeoMut (19:42 21/07/2010)

Thầy ơi trang checklogin ko được rùi
có ai sửa giùm ko ạ ?

Reply

Đinh Hoàng Kha (14:47 31/07/2010)

Ở trang checklogin.php các bạn thay dòng 4 lại thế này:
if($username=="admin"

Reply

Manh Vu (22:23 08/08/2010)



<?php
$username=$_POST['user'];
$password=$POST['pass'];
if($username == "admin"

Reply

Pham Minh Ngoc (00:08 22/08/2010)

thieu 1 dau = o cho kiem tra password ban sua lai thanh ($username =="admin"

Reply

lý văn hùng (13:08 23/08/2010)

bài này chắc không ứng dụng cho trang web kiểm tra nick được hà

Reply

nguyen the thanh (01:37 02/09/2010)

Admin ah. chi gium cho em cach dung chuong trinh osan thao PHP nao la hay nhat? cam on cac anh nhieu!

Reply

nguyễn tấn duy (20:23 16/09/2010)

admin ơi trang checklogin đó có đuôi là .html hay .php, em có thắc mắt là khi em dùng đuôi php thì nó chuyển thành file txt vậy, vấn đề thứ 2 là đoạn code <?php dòng lệnh ?> có được đặt trong cặp tag <html></html> không vậy. em thực hiện giống như anh nhưng khi click submit thì xuất hiện trang "The page cannot be displayed", em không hiểu, nếu dc xin admin show code lại! em cảm ơn

Reply

nguyễn tấn duy (12:07 17/09/2010)

em có thắc mắt là sau khi em thực hiện các code giống như thầy, nhưng khi mở file login.html, nhấn bút submit thì trang checklogin.php chỉ hiện ra đoạn code y hệt như thầy viết ở trên mà không biên dịch ra. thứ 2 cho em hỏi là cái code <?php "mã lệnh" ?> có dc đặt trong tag <html></html> hay không, và nếu vậy thì tệp checklogin có đuôi .php hay.html?. thứ 3 là thầy cho em hỏi về các chương trình soạn thảo php, em hiện chỉ biết notepad, cuối cùng em có ý kiến là, sau mỗi bài tập như vậy, có hướng dẫn như vậy xin thầy thêm kết quả về trình biên dịch hiện lên, ví dụ như ở đây khi ta nhấn submit sẽ hiện kết quả như thế nào. em xin cảm ơn!

Reply

hao linh (07:54 23/09/2010)

Cam? on php online..........^^

Reply

Tan Vu (05:33 27/09/2010)

Các bác cho em hỏi đoạn if.
Tại sao em đặt = thì không được mà == thì lại được, trong khi đó, $pwd="12345" thì lại được?

Reply

Huỳnh Võ Anh Khoa (08:01 29/09/2010)

có thể chỉ cho em cách đưa dữ liệu khi nhập từ form vào 1 file .txt được không.
vd 1 form nhập vào first name, last name, address, citi... . Khi nhấn nút submit thì dữ liệu sẽ được ghi vào trong file dulieu.txt. Có dạng first name, last name, address, city,state, zip, phone (Linh, Phan Thị Mỹ, Thủ Đức, HCM, VN, 084, 0957465544).
chân thành cảm ơn, anh vui lòng gửi qua mail dùm em nhé.

Reply

Lê Hải Phuơng (23:10 06/10/2010)

Mình làm như đáp án sao nó cứ in ra:

Welcome to "; } else { echo " Username hoac password khong chinh xac , vui long dang nhap lai "; } ?>

Nhập đúng hay sai đều in ra vậy hết!

Admin coi dùm mình nha!

Thân!

Reply

nguyễn tấn duy (21:11 13/10/2010)

theo em được biết có 1 chương trình hỗ trợ viết code php, đó là xampp, các bạn vào google search từ khóa "xampp" là được, hay muốn hiểu chi tiết thì vào đây
http://tailieu.vn/xem-tai-lieu/lap-trinh-web-voi-php-p1.252239.html
đọc kĩ bài viết sẽ hướng dẫn kì hơn,

Reply

Mailuong (19:20 16/10/2010)

anh key và các bạn giúp em cái phần này với ạ.em tạo 1 trang người dùng index.php,có phần đăng nhập vào trang quản trị (admin.php)nếu user và pass đúng thì sẽ chuyển tới admin.php .nếu sai thì vẫn ở trang người dùng và thông báo đăng nhập sai???em làm thử rùi mờ hok đc...mọi ng giúp em naz!!thanks

Reply

tran tuan cuong (23:52 17/10/2010)

e muon gui gia tri qua nhieu trang thi lam sao vay thay.nhu la tu trang mot gui gia tri qua trang 2 roi trang 2 lai tiep tuc gui gia tri vua nhan qua trang thu 3 duoc khong?

Reply

LONGNHAT (08:42 08/11/2010)

thanks...!

Reply

Thanh Thanh (08:19 06/12/2010)

Bài này e ko hiểu các bác chỉ dùm e với. E ko hiểu 2 đoạn code lắm. Lưu ở 2 file ah?? e làm hoài ko ra khi nhập vào thì nó ko chạy

Reply

phạm ngọc dạt (15:31 20/02/2011)

thầy ơi
hình như bài tập trên nhầm rồi . em làm thử rồi , đánh mất khẩu và user toàn ra welcome to thôi ,kể cả đánh sai . thầy xem thế nào .

Reply

HuuHoang Nguyen (06:43 23/02/2011)

Các bạn có thể sửa lại chương trinh checklogin.php như bên dưới. Mình đã tiến hành kiểm tra và run OK trên window7, IE8.

//checklogin.php cách 1: Thay "

Reply

HuuHoang Nguyen (08:31 24/02/2011)

<?php
$username=$_POST['user'];
$password=$_POST['pass'];

if(($username == "admin") and ($password =="12345"))
{
echo "<font color=red> Welcom to, ".$username."</font>";
}
else
{
echo "<font color=red> Username or password is wrong. Please press again </font>";
}
?>


Hoăc cach 2:
{?php
username=$_POST['user'];
$password=$_POST['pass'];

if(($username == "admin")

Reply

anh Dũng (07:23 07/03/2011)

<html>
<head>
<title> dat mat khau loagin vao may </title>
</head>
<body>
<form action="vidu6.php" method="POST">
<input type="text" name="ten" value="admin" size=25> <br>
<input type="password" name="mk" size=25 >
<input type ="submit" name="nut" value="chapnhan">
</form>
</body>
</html>
luu vào file vidu5.html
<?php
echo "nguoi vua nhap co ten la".$_post["ten"];

if($_post["mk"]= "12345" and $_post["ten"]=="dung")
{
echo"ban da nhap thanh cong mk";
}
else
{
echo"ban nhap lai mat khau";
}
?>
lưu vào file vidu6.php
có ai cho mình hỏi tại sao mình viết như thế mà khi chạy file vidu6.php lại không có kết quả gì?
Xin chân thành cảm ơn các anh/chị trước.

Reply

anh 7 (15:00 08/03/2011)

Mình đã copy và chạy thử mình thấy như thế này.
php phân biệt chữ hoa và thường đó bạn.
những hàm như $_post phải viết hoa

Reply

HuuHoang Nguyen (09:47 09/03/2011)

Chào Dũng
Bạn nên viết lại chương trình vidu6.php như sau: Mình đã test thử thấy OK.
<?php
// Phai thực hiện 2 hàng code bên dưới mới //chạy ok
$ten = $_POST['ten'];
$pass = $_POST['mk'];

echo "nguoi vua nhap co ten la: ".$ten;
if(($pass== "12345") and ($ten=="dung"))
{
echo" <br>ban da nhap thanh cong mk ";
}
else
{
echo" <br>ban nhap lai mat khau";
}
?>

Reply

anh dung (16:50 09/03/2011)

các bạn giúp mình với .mình cần nộp bài tập gấp.Cám ơn các bạn trước đã

Reply

son pham (00:01 07/04/2011)

sửa như Huu Hoang Dung là được đó
anh duy a.
tôi test thử chạy ngon lành

Reply

Nguyễn Huy (07:31 11/04/2011)

Ai giúp mình với code PHP cộng hai số nguyên

Reply

khach (15:38 16/04/2011)

Có bạn nào biết sử dụng xampp (phpadmin) ko? Chỉ mình cách dùng phpadmin để tạo database để lưu trữ username và password rồi hướng dẫn tạo code cho trang kết nối data luoon

Reply

hoang viet tu (19:00 24/04/2011)

ham POST thi em hieu nhung ham GET hung nhu thi nao em chua hieu @@. xin moi nguoi chi giup

Reply

Jimmi Thoa (15:41 07/05/2011)

Bài này áp dụng cho phần đăng nhập của website. Nhưng cái dòng thông báo quay lại trang đăng nhập thì làm sao để link trong code php được ạ??

Reply

DTL (00:19 26/10/2011)

ban co the lam vidu nhu duoi se co dong quay lai trang dang nhap:
<html>
<?php

$user=$_POST['user'];
$pass=$_POST['pass'];
if($user=="dinhtranlinh"&& $pass=="password")
{
echo "chao Dinh Tran Linh! voi nick name:" . $user.".";
}
else
{
echo " may la thang nao? te de";
}
?>
<a href="EX1.html"> quay lai trang dang nhap </a>
</html>

Trần Thanh Bình (09:21 12/05/2011)

Gửi các bạn!
Mình là học trò Thầy Huy, đã hoàn thành cả 3 khóa học mà thầy đã dạy. Mình thiết nghĩ nếu các bạn thực sự đam mê lập trình và muốn tự mình làm ra được 1 website thì các bạn nên theo thầy học và cố gắng lĩnh hội những gì thầy truyền đạt.
Những thắc mắc của các bạn sẽ được giải đáp ở các lớp trên!

Reply

duc tien (23:25 15/05/2011)

file login.php

<html>
<head>
<title> dang nhap</title>
</head>
<body>
<form action="checklogin.php" method="post" name="login">
username <input name="user" type="text" size="15">
<br>
password <input name="pass" type="password">
<br>
<input type="submit" name="submit" value="login">
</form>
</body>
</html>

file checklogin.php

<?php
$user=$_POST["user"];
$pass=$_POST["pass"];
if($user=="admin"

Reply

lehang (20:50 25/05/2011)

bai giang cua thay rat hay va de hieu,nhung co the nhieu kien thuc trong 1 bai dc ko a?

Reply

Trần Duy Tích (23:39 29/05/2011)

Dễ Hiểu

Reply

binhbb (14:56 19/07/2011)

mình chạy trên phpdesigner v7. kèm theo gói Apserv của thầy Huy,thì bị lỗi không hiểu giá trị username trong method Post ở ví dụ 1.Các bạn chỉ giúp mình với.Thanks

Reply

duybk (09:09 12/08/2011)

hihi cài vertrigo lên tạo một new foder trong mục www rùi tống 2 cái file .php và .html vào cái new foder đó
vào firefox đánh trên thanh địa chỉ : http://localhost/new foder( tên foder bạn tạo )
là chạy ầm ầm k lỗi gì cả

Reply

nguyendiep (09:18 18/08/2011)

sao minh chay vi du tren lai ko dc, no ko hien ra cau wellcome.. Mong admin chi giup.

Reply

phạm thị đào (12:56 24/08/2011)

Tôi đã tạo một tệp đuôi php và một tệp htm trong một thư mục riêng. Bây giờ tại trình duyệt tôi gõ gì để máy chạy ví dụ trên.

Reply

nguyenvanhanh (22:22 05/09/2011)

mình viết cả hai ví dụ trên notepad , nhưng sao minh lưu với đôi php thi khi bấm vào submit nó ra một văn bản có nội dung là đoạn code của checklogin. bạn nào chỉ cách minh giải quyết vắn đề trên với.
cảm ơn

Reply

linhsilver (12:52 12/09/2011)

bạn phải cài localhost trên máy tính mới chạy được!

Reply

nguyễn văn nghĩa (21:49 27/09/2011)

cảm ơn bài viết của bạn trang web rất hữu ích.Hy vọng ngày càng có nhiều bài phân tích hay hơn nữa
thân chào!

Reply

ManMinhHo (12:05 02/10/2011)

Cám ơn Admin nhiều nhe !

Reply

trương công thương (20:50 08/10/2011)

chào bạn !
bạn có thể gửi cho mình code hoàn chỉnh để tạo ra trang check.php không ? mình đang tự học ngôn ngữ web php mà không có tài tiệu. ban gửi rồi mình nghiên cứu dần nha . cảm ơn nha

Reply

Kenny (14:24 09/10/2011)

Chào bạn,

Ý bạn là cần có đầy đủ trang check.php ?.

<?php
echo "Welcome, ". $_POST['username'];
?>

nguyễn quốc nguyên (15:47 22/12/2011)

thầy ơi chỉ giúp em về việc sử lý phần đăng nhập viết bằng javascrip để kiểm tra điều kiện khi đăng nhập.

Reply

Nguyễn Thị Bích Tiền (15:26 30/12/2011)

Xin cảm ơn admin đã hướng dẫn xử lý form trong php.
Bài viết rất là dể hiểu.

Reply

Thanh Tung (09:59 08/01/2012)

cho mình hỏi. Mình là tương tự như code vd ở trên nhưng khi ấn submit thì ko thấy hiện ra chữ j hết. trong firefox thì ko hiện ra. còn trong chomre thì hiện ra luôn code php... có ai biết lỗi j ko chỉ mình với

Reply

PHP MYSQL Online - Hoc PHP - Dao Tao PHP - Học PHP - CakePHP Framework - Lap Trinh PHP Can Ban - Lap Trinh PHP Nang Cao - PHP Framework - Tài liệu,Thư viện
Copyright 2007-2010 © QHOnline.Info | Powered By QHOnline Version 2.0 - XHTML Valid