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?
<?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?
Bài liên quan
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)
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.
$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á =))