10/10/2018, 11:40

em hỏi về lệnh mysql_fetch_array

DataProvider_dethianhvan.php
<?php
class DataProvider
{
public static function ExecuteQuery($sql)
{
$connection = mysql_connect("localhost","root","smartchoice") or
die ("couldn't connect to localhost");

// ebookDB : Tên CSDL
mysql_select_db("dethianhvan",$connection);

mysql_query("set names 'utf8'");

$result = mysql_query($sql,$connection);

mysql_close($connection);

return $result;
}
}
?>

va doan code kiem tra ket qua dang nhap:
<?php
if(isset($_POST['user']) && isset($_POST['pass']) && isset($_POST['submit']))
{
//$chuongtrinh=$_POST['chuongtrinh'];
include_once("DataProvider_dethianhvan.php");

$sql="SELECT * FROM user where `user`='".$_POST['user']."' and `pass`='".$_POST['pass']."'";
$dsNguoiDung = DataProvider::ExecuteQuery($sql);

if($dsNguoiDung != false)
{
$num_rows = mysql_num_rows($dsNguoiDung);
//(1)
if($num_rows==1)
while($row = mysql_fetch_array($dsNguoiDung,MYSQL_ASSOC))
{
session_destroy(); //nhó xem lai
session_start();
$_SESSION['user'] = $_POST['user'];
$_SESSION['permission'] = $row['permission'];
return header("Location: index.php?in=welcomeuser");
}
//(2)
else
{
?>
<script language=javascript>
alert('Sai username hoặc password ');
window.history.go(-1);
</script>
<?php
}
}

}
else return header("Location: admin.php");

?>

EM HỎI NHU THE NÀY:
ĐOẠN CODE TRÊN EM CHAY TRONG EASYPHP THI RẤT LÀ OK,
HÔM NAY EM CÀI iis VA MYSQL PHP5
CẤU HÌNH KẾT NỐI CSDL THI OK
NHƯNG KHI EM DANG NHẬP THI KG ĐƯỢC.
ĐÚNG USER MÀ SAI PASS THÌ CHẠY TỐT( ALERT RA MÀN HÌNH)
NHƯNG NHẬP ĐÚNG PASS THÌ NÓ ĐƠ NHƯ CÂY CƠ, MÀN HÌNH TRẮNG NHÁCH CHẲNG CÓ GÌ CẢ!
THEO EM NGHĨ ĐOẠN CODE TREN CHẠY ĐƯƠC TỚI VI TRI(1) VÀ THI VÀO VÒNG WHILE THI CHẾT Ở ĐÓ LUÔN. CHÁC LÀ LÊNH mysql_fetch_array($dsNguoiDung,MYSQL_ASSOC)
NÀY CÓ VẤN ĐỀ.
TABLE USER (USER,PASS,PERMMISION)
NHƯNG EM KHẲNG ĐỊNH LÀ TRONG EASYPHP CHAY RẤT TÔT!
EM CẤU HINH SAI Ở CHỔ NÀO THẾ, MONG MẤY ANH GIÚP DUZM EM! THANK !

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

em test lại thi thấy lổi ở lệnh
return header("Location: index.php?in=welcomeuser");
nếu đẻ return thì nó trắng màn hình, con bỏ return chỉ để header("Location: index.php?in=welcomeuser"); và echo "test"; thì in ra chử test mà không chuyen đến trang index.php?in=welcomeuser. mấy anh có lênh nào thay thế nó kg?
Scripted viết 13:47 ngày 10/10/2018
ok ... ca^u hỏi khó hieu wá ... hiện tại lỗi là tại da\tabase hay la` header vậy ? Nếu được có thể format code tí được kô post code kiểu này chắc đọc lòi con mắt wá
thuyduongcd viết 13:44 ngày 10/10/2018
Câu hỏi vi phạm điều lệ diễn đàn
1. Viết toàn bộ bằng chữ in hoa
2. Cố tình viết sai Tiếng Việt (dùm # dzùm)
smth.vt viết 13:43 ngày 10/10/2018
Toi nghi la sai o day:

session_destroy(); //nhó xem lai
session_start();

ban them @ vao truoc:

@session_destroy();
@session_start();

Nếu chạy được, nghĩa là PHP của bạn có vấn đề trên IIS, đồng nghĩa với việc sẽ không khởi tạo được session. Mà sao ko dùng Apache, chạy IIS làm j ko biết.
guiloiyeuthuong8 viết 13:46 ngày 10/10/2018
Làm gì có kiểu nào như này sai rồi

$sql="SELECT * FROM user where `user`='".$_POST['user']."' and `pass`='".$_POST['pass']."'";
mà phải là
$sql="SELECT * FROM user where user='".$_POST['user']."' and pass='".$_POST['pass']."'";
Sai dấu ' . Khi làm sql thận trọng với các ký tự đặc biệt nhá =))
sonnb viết 13:42 ngày 10/10/2018
Không hiểu do bạn format hay do ddth nó thế mà đọc chán ko muốn đọc luôn.
Bài liên quan
0