10/10/2018, 00:14

Đoạn Code này sai ở chỗ nào vây???

Mình mới học PHP nên cũng chỉ đọc qua sách vở. Mình mới tập cách Insert dữ liệu lên Database. Đây là Code của mình:
HTML Code:
PHP Code:
<html>
<
body>
<
table>
<
form name="frmreg" method="Post" action="doreg.php">
<
tr><td>Code:</td>
<
td><input type="text" name="txtcode" size="20"></td></tr>
<
tr><td>Language:</td>
<
td><input type="text" name="txtlang" size="20"></td></tr>
<
tr><td><input type="submit" name="Submit" value="Update"></td>
<
td><input type="reset" name="Reset" value="Reset"></td></tr>
</
form>
</
table>
</
body>
</
html
Em đã sửa lại đoạn Code này:
PHP Code:
<?php
require("dbcon.inc");
$sql="SELECT * FROM account";
$sql .=" where user='";
$sql .=$HTTP_POST_VARS{"txtacc"}."'";
$result=mysql_query($sql,$conn);
$kq=mysql_num_rows($result);
if(
$kq!=0)
    {
    echo 
"Tai khoan da ton tai trong CSDL.";
    }
else
    {
    
$sql="INSERT INTO account(";
    
$sql .="user,password) VALUES ('";
    
$sql .=$HTTP_POST_VARS{"txtacc"}."','";
    
$sql .=$HTTP_POST_VARS{"txtpwd"}."')";
        echo 
"Insert success.";
    }
$result=mysql_query($sql,$conn);
mysql_close($conn);
?>
Khi chạy thì nó chỉ hiện ra thông báo Tài khoản đã tồn tại.
Các pác giúp em cái. Kê toa cho nó hộ em.

[=========> Bổ sung bài viết <=========]

Cuối cùng cũng tìm ra lỗi rồi. thay đổi biến $HTTP_POST_VARS bằng $_POST. Mod có thể xóa bài này được rồi.
sacroyant viết 02:20 ngày 10/10/2018
Bạn echo biến $sql xem câu lệnh nó ra thế nào

Chắc là sẽ như vầy :

PHP Code:
 SELECT FROM account where user='' 
TheHeTre viết 02:19 ngày 10/10/2018
Trong HTML chỉ có 2 textbox để truyền giá trị sang file PHP với tên: txtcode và txtlang.

<html>
<body>
<table>
<form name="frmreg" method="Post" action="doreg.php">
<tr><td>Code:</td>
<td><input type="text" name="txtcode" size="20"></td></tr>
<tr><td>Language:</td>
<td><input type="text" name="txtlang" size="20"></td></tr>
<tr><td><input type="submit" name="Submit" value="Update"></td>
<td><input type="reset" name="Reset" value="Reset"></td></tr>
</form>
</table>
</body>
</html>
Do đó trong file PHP:

$HTTP_POST_VARS{"txtacc"}
$HTTP_POST_VARS{"txtpwd"}


Có giá trị trống.

---> Sửa HTML thành:

<html>
<body>
<table>
<form name="frmreg" method="Post" action="doreg.php">
<tr><td>Username:</td>
<td><input type="text" name="txtacc" size="20"></td></tr>
<tr><td>Password:</td>
<td><input type="text" name="txtpwd" size="20"></td></tr>
<tr><td><input type="submit" name="Submit" value="Update"></td>
<td><input type="reset" name="Reset" value="Reset"></td></tr>
</form>
</table>
</body>
</html>
Nói chung là còn nhiều vấn đề lắm . Theo tôi bạn nên nghiên cứu cách truyền biền từ Form như thế nào trước.
kylobytes viết 02:28 ngày 10/10/2018
Được gửi bởi TheHeTre
Trong HTML chỉ có 2 textbox để truyền giá trị sang file PHP với tên: txtcode và txtlang.



Do đó trong file PHP:

$HTTP_POST_VARS{"txtacc"}
$HTTP_POST_VARS{"txtpwd"}


Có giá trị trống.

---> Sửa HTML thành:



Nói chung là còn nhiều vấn đề lắm . Theo tôi bạn nên nghiên cứu cách truyền biền từ Form như thế nào trước.
À không phải. Trước đoạn PHP Code của tui là
$HTTP_POST_VARS{"txtcode"}
$HTTP_POST_VARS{"txtlang"}

Do tui del cái Table kia rùi. Chuyển sang Table Account. Nhưng bây giờ thì được rồi.
TheHeTre viết 02:22 ngày 10/10/2018
Ừh, được rồi thì tốt
Bài liên quan
0