10/10/2018, 11:19
Giúp mình sửa trang Login với
Mình tạo trang đăng ký là http://bachviet.22web.net/register.php và trang http://bachviet.22web.net/login.php khi test trên localhost thì nó báo là đã đăng nhập thành công với tên .../ nhưng khi chạy trên host thì lại cứ bị báo lỗi là không tồn tại tên truy cập, mặc dù mình đã nhập đúng USERNAME và PASS
- Đây là code trang login:
<?php
session_start();
header('Content-Type: text/html; charset=UTF-8');
echo '<title>Đổ mực máy in</title>';
// Tải file mysql.php lên
require_once('connections/admin.php');
if ( $_GET['act'] == "do" )
{
// Dùng hàm addslashes() để tránh SQL injection, dùng hàm md5() để mã hóa password
$username = addslashes( $_POST['username'] );
$password = md5( addslashes( $_POST['password'] ) );
// Lấy thông tin của username đã nhập trong table members
$sql_query = @mysql_query("SELECT id, username, password FROM members WHERE username='{$username}'");
$member = @mysql_fetch_array( $sql_query );
// Nếu username này không tồn tại thì....
if ( @mysql_num_rows( $sql_query ) <= 0 )
{
print "Tên truy nhập không tồn tại. <a href='javascript:history.go(-1)'>Nhấp vào đây để quay trở lại</a>";
exit;
}
// Nếu username này tồn tại thì tiếp tục kiểm tra mật khẩu
if ( $password != $member['password'] )
{
print "Nhập sai mật khẩu. <a href='javascript:history.go(-1)'>Nhấp vào đây để quay trở lại</a>";
exit;
}
// Khởi động phiên làm việc (session)
$_SESSION['user_id'] = $member['id'];
$_SESSION['user_admin'] = $member['admin'];
// Thông báo đăng nhập thành công
print "Bạn đã đăng nhập với tài khoản {$member['username']} thành công. <a href='index.php'>Nhấp vào đây để vào trang chủ</a>";
}
else
{
// Form đăng nhập
print <<<EOF
<form action="login.php?act=do" method="post">
Tên truy nhập: <input type="text" name="username" value="">
Mật khẩu: <input type="password" name="password" value="">
<input type="submit" name="submit" value="Đăng nhập">
</form>
EOF;
}
?>
- Đây là code trang login:
<?php
session_start();
header('Content-Type: text/html; charset=UTF-8');
echo '<title>Đổ mực máy in</title>';
// Tải file mysql.php lên
require_once('connections/admin.php');
if ( $_GET['act'] == "do" )
{
// Dùng hàm addslashes() để tránh SQL injection, dùng hàm md5() để mã hóa password
$username = addslashes( $_POST['username'] );
$password = md5( addslashes( $_POST['password'] ) );
// Lấy thông tin của username đã nhập trong table members
$sql_query = @mysql_query("SELECT id, username, password FROM members WHERE username='{$username}'");
$member = @mysql_fetch_array( $sql_query );
// Nếu username này không tồn tại thì....
if ( @mysql_num_rows( $sql_query ) <= 0 )
{
print "Tên truy nhập không tồn tại. <a href='javascript:history.go(-1)'>Nhấp vào đây để quay trở lại</a>";
exit;
}
// Nếu username này tồn tại thì tiếp tục kiểm tra mật khẩu
if ( $password != $member['password'] )
{
print "Nhập sai mật khẩu. <a href='javascript:history.go(-1)'>Nhấp vào đây để quay trở lại</a>";
exit;
}
// Khởi động phiên làm việc (session)
$_SESSION['user_id'] = $member['id'];
$_SESSION['user_admin'] = $member['admin'];
// Thông báo đăng nhập thành công
print "Bạn đã đăng nhập với tài khoản {$member['username']} thành công. <a href='index.php'>Nhấp vào đây để vào trang chủ</a>";
}
else
{
// Form đăng nhập
print <<<EOF
<form action="login.php?act=do" method="post">
Tên truy nhập: <input type="text" name="username" value="">
Mật khẩu: <input type="password" name="password" value="">
<input type="submit" name="submit" value="Đăng nhập">
</form>
EOF;
}
?>
Bài liên quan





thế này nhé, ở cái dòng query check user và pass bạn echo ra cái câu sql đấy, rồi paste vào phpmyadmin để test sql lỗi hay php lỗi rồi tính tiếp
<?php session_start(); header('Content-Type: text/html; charset=UTF-8'); echo '<title>Đổ mực máy in</title>'; // Tải file mysql.php lên require_once('connections/admin.php'); if ( $_GET['act'] == "do" ) { // Dùng hàm addslashes() để tránh SQL injection, dùng hàm md5() để mã hóa password $username = addslashes( $_POST['username'] ); $password = md5( addslashes( $_POST['password'] ) ); // Lấy thông tin của username đã nhập trong table members $sql_query = @mysql_query("SELECT id, username, password FROM members WHERE username='{$username}'"); $member = @mysql_fetch_array( $sql_query ); // Nếu username này không tồn tại thì.... if ( @mysql_num_rows( $sql_query ) <= 0 ) { print "Tên truy nhập không tồn tại. <a href='javascript:history.go(-1)'>Nhấp vào đây để quay trở lại</a>"; exit; } // Nếu username này tồn tại thì tiếp tục kiểm tra mật khẩu if ( $password != $member['password'] ) { print "Nhập sai mật khẩu. <a href='javascript:history.go(-1)'>Nhấp vào đây để quay trở lại</a>"; exit; } // Khởi động phiên làm việc (session) $_SESSION['user_id'] = $member['id']; $_SESSION['user_admin'] = $member['admin']; // Thông báo đăng nhập thành công print "Bạn đã đăng nhập với tài khoản {$member['username']} thành công. <a href='index.php'>Nhấp vào đây để vào trang chủ</a>"; } else { // Form đăng nhập print <<<EOF <form method="post" action="login.php?act=do" name="submit" enctype="multipart/form-data"> Tên truy nhập: <input type="text" name="username" value=""> Mật khẩu: <input type="password" name="password" value=""> <input type="submit" name="submit" value="Đăng nhập"> </form> EOF; } ?>[=========> Bổ sung bài viết <=========]
co ai ko guip minh voi
Nhưng bạn biết phpmyadmin không? Nếu có thì xem hộ mình database của bạn đã có thông tin chưa? Mình đoán là do bạn chưa nhập thông tin hoặc là connection parameter bị sai.
P/S: Nếu bạn không kiểm tra những cái này thì mình bó tay với trường hợp này rồi.
// Lấy thông tin của username đã nhập trong table members $sql_query = @mysql_query("SELECT id, username, password FROM members WHERE username='{$username}'");$sql = "SELECT id, username, password FROM members WHERE username='{$username}'"; echo $sql;bỏ cái { và } đi xem nào