09/10/2018, 18:14

Hỏi về kiểm tra nhập form trong PHP

tôi đang học PHP và HTML, tôi có 1 form sau:

PHP Code:
<form method="POST" action="check.php"
Name:
<
input type="text" name="name" size="14"
<
br
<
BR><input type="submit" 
value="Submit">
</
form
viết 1 file php, có cách nào làm xuất hiện 1 thông báo là thông tin chưa nhập vào form không, theo VD trên là text name

xin được giúp đỡ !
nguyenthanhhuy19 viết 20:16 ngày 09/10/2018
<script language='javascript'>
if (document.form.name.value=='') //form :ten form // name : tên của textbox
{
alert("Bạn phải nhập user");
document.form.name.focus();
}
if (document.form.pass.value=='')
{
alert("Bạn phải nhập password");
document.form.pass.focus();
}
</script>
CS1314 viết 20:20 ngày 09/10/2018
không phải viết bằng javascript mà viết bằng PHP cơ
jiSh@n viết 20:30 ngày 09/10/2018
Viết bằng PHP huh?
PHP Code:
//...
if (isset($HTTP_POST_VARS***91;"name"***93;) $name=$HTTP_POST_VARS***91;"name"***93;;
else 
$name="";

if (
$name=="") echo "<script>alert(\"Bạn phải nhập vào tên.\");</script>";
//... 
hanavncom viết 20:18 ngày 09/10/2018
Ban đầu bạn có 1 form nhập dữ liệu:

PHP Code:
<form method="POST" action="check.php"
Name
<
input type="text" name="name" size="14"
<
br
<
BR><input type="submit" 
value="Submit"
</
form
Đơn giản bạn làm thế này để check:

PHP Code:
<?php
if($name == ""){
?>
Ban chua nhap ten vao.<br/>
<?php
}
?>
__ Còn tùy biến else là làm gì thì tùy bạn !
cathangtu viết 20:24 ngày 09/10/2018
PHP Code:
<?php
if($name == ""){
?>
Ban chua nhap ten vao.<br/>
<?php
}
?>
Viết thế này một số trình duyện sẽ thông báo lỗi chưa khai báo biến $name
Phải là:
PHP Code:
<?php
$name
= isset($_POST***91;'name'***93;)? $_POST***91;'name'***93;:"";
//Nếu chưa có biến $name thì $name="", nếu không thì nó bằng $_POST***91;'name'***93;
if($name == ""){
?>
Ban chua nhap ten vao.<br/>
<?php
}
?>
gate2vn viết 20:29 ngày 09/10/2018
Quote Được gửi bởi cathangtu
Viết thế này một số trình duyện sẽ thông báo lỗi chưa khai báo biến $name
cái này là PHP (server-side) chứ có phải HTML (client-side) đâu mà bị lỗi ở trình duyệt, bạn báo lỗi như vậy là do config ở server chứ
jiSh@n viết 20:20 ngày 09/10/2018
Quote Được gửi bởi gate2vn
cái này là PHP (server-side) chứ có phải HTML (client-side) đâu mà bị lỗi ở trình duyệt, bạn báo lỗi như vậy là do config ở server chứ
Chắc tại cathangtu nhìn thấy câu thông báo ở trình duyệt đó mà

Để tránh bị báo lỗi như vậy thì đặt register_global=on trong php.ini là xong. Tuy nhiên nên dùng mảng $HTTP_POST_VARS ($HTTP_GET_VARS) hoặc $_POST cho chắc ăn.
NumPad0 viết 20:22 ngày 09/10/2018
Quote Được gửi bởi CS1314
không phải viết bằng javascript mà viết bằng PHP cơ
PHP Code:
//check.php
//..........
if ((!isset($_POST***91;'name'***93;) || ($_POST***91;'name'***93;=='')) {
    echo 
"You've posted nothing\n";
    echo 
"Click <a href=javascript:history.back()>here</a> to go back";    
}
//.......... 
Bài liên quan
0