10/10/2018, 10:48

Giúp mình tạo đăng nhập phần admin

mình đang làm một đồ án về web, mình đang làm phần quản trị, mình đã tạo được 2 file index và login, nhưng mình cứ login thì nó lại quay lại login, mà mình nhập đúng tai khoản, bạn nào giúp mình với.
đây la file index
PHP Code:
<?php 
if($_SESSION***91;"login"***93;== NULL or $_SESSION***91;"login"***93; <> "ok" )
{
//chua dang nhap
         
echo '<script language="JavaScript" type="text/javascript">
             document.location="http://localhost/administrator/login.php";
            </script>
                '
;
}
?>

<?php

ob_start
();
session_start();

if(!isset(
$_SESSION***91;'admin'***93;)) {
     
header('location:login.php');
}
?> 
<?php 
session_start
();

if(isset(
$_POST***91;"logout"***93;) and $_POST***91;"logout"***93; =="ok" )
{
    
//xoa session dang nhap
    
$_SESSION***91;"login"***93; = NULL ;
    unset(
$_SESSION***91;"login"***93;);
    
$_SESSION***91;"username"***93; = NULL ;
    unset(
$_SESSION***91;"username"***93;);
    
$_SESSION***91;"iduser"***93; = NULL ;
    unset(
$_SESSION***91;"iduser"***93;);

    
//thoat
     
echo '<script language="JavaScript" type="text/javascript">
             document.location="http://localhost/administrator/login.php";
            </script>
    '
;
}

?>
<link href="css/FileCss.css" rel="stylesheet" type="text/css" />
<table width="100%" border="1">
  <tr>
    <td colspan="2" align="right"><form id="logout" name="logout" method="post" action="?">
    <input name="logout" type="hidden" value="ok" />
      <input type="submit" name="Submit" value="Logout" />
    </form>
    </td>
  </tr>
  <tr>
    <td width="18%" valign="top"><table width="100%" border="1">
      <tr>
        <td align="center"><a href="?mod=user">Tai khoan </a></td>
      </tr>
      <tr>
        <td align="center"><a href="?mod=module">Module</a></td>
      </tr>
      <tr>
        <td align="center"><a href="?mod=assignRight">Phan Quyen </a></td>
      </tr>
      <tr>
        <td align="center"><a href="?mod=intro">Gioi thieu </a></td>
      </tr>
      <tr>
        <td align="center"><a href="?mod=news">Tin tuc </a></td>
      </tr>
      <tr>
        <td align="center"><a href="?mod=product">San pham </a></td>
      </tr>
      <tr>
        <td align="center"><a href="?mod=contact">Lien he </a></td>
      </tr>
    </table></td>
    <td align="left" valign="top">
    <?php 
    $module 
"";
    if(isset(
$_GET***91;"mod"***93;)) $module $_GET***91;"mod"***93;;
    switch(
$module)
    {
    
    case 
"assignRight":
              include(
'module/assignRight/index.php');
              break;    
    
    case 
"module":
              include(
'module/Right/index.php');
              break;
                  
    case 
"user":
              include(
'module/User/index.php');
              break;
    case 
"product":
              include(
'module/Product/index.php');
              break;
    case 
"contact":
              include(
'module/Contact/index.php');
              break;
    case 
"intro":
              include(
'module/Introduce/index.php');
              break;
      case 
"news":
              include(
'module/News/index.php');
              break;
      default : 
           
    }
    
    
?>    </td>
  </tr>
  <tr>
    <td colspan="2">&nbsp;</td>
  </tr>
</table>
đây là file login

PHP Code:
<?php 
$db_selected 
mysql_select_db('inet'$link);
if (!
$db_selected) {
    die (
'Can't use inet : ' mysql_error());
}

?>


<?php 
$username 
$_POST***91;"username"***93;;
$password $_POST***91;"password"***93;;
$sql="SELECT * FROM tblUser WHERE UCASE(username) = '".strtoupper($username)."' AND pass = '".$password."'";
$result mysql_query($sql);
$rowid "";
while(
$row mysql_fetch_array($result))
  {
   
$rowid $row***91;0***93; ;
  }
 
    
//kiem tra co user day khong
    
if($rowid <> ""
    {
         
$_SESSION***91;"login"***93; = "ok";
         
$_SESSION***91;"username"***93; = strtoupper($username);
         
$_SESSION***91;"iduser"***93; = $rowid;
         echo 
'<script language="JavaScript" type="text/javascript">
             document.location="http://localhost/administrator/";
            </script>
                '
;

    }
    else
    {
            echo 
"Nhap sai tai khoan ";
    }  
    
}
?>

<center>
 DANG NHAP
 <br />
<br />
<br />
   <form id="form1" name="form1" method="post" action="login.php">
   <input name="login" type="hidden" value="ok" />
   <table width="60%" border="1">
  <tr>
    <td width="20%" align="center">Username</td>
    <td width="80%"><input name="username" type="text" id="username" value="" /></td>
  </tr>
  <tr>
    <td align="center">Password</td>
    <td><input name="password" type="password" id="password" value="" /></td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td><input type="submit" name="Submit" value="Dang nhap " /></td>
  </tr>
</table>
   </form>
 </center>
lovestormknx viết 13:00 ngày 10/10/2018
Cái đoạn này luôn luôn chạy:

PHP Code:
header('location:login.php'); 
Vì chẳng thấy chỗ nào bạn thiết lập giá trị cho $_SESSION['admin'] cho dù có login thành công hay không
bachhop72 viết 12:55 ngày 10/10/2018
Bạn hướng dẫn mình cách sửa đi, mình biết là tại mình gọi cái header('location:login.php'); nên nó luôn chạy nhưng mình không biết làm sao để mất nó khi mình đăng nhập thành công, bạn giúp mình với
nhok_bmt2 viết 13:04 ngày 10/10/2018
ôi pro không zay ta... mấy cái lập trình này sao học mãi không được
Trịnh Ngọc Lan viết 13:01 ngày 10/10/2018
Được gửi bởi nhok_bmt2
ôi pro không zay ta... mấy cái lập trình này sao học mãi không được
Chịu khó nghiên cứu là học được thôi mà
langtusitinh225 viết 12:53 ngày 10/10/2018
Ủa sao file index nhiều cặp thẻ <?php ?> thế nhỉ

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

Thử cái code đơn giản này xem, sr em chưa test

PHP Code:
<?php
//index.php
session_start();
if (!isset(
$_SESION***91;"admin"***93;))
{
      
header("location: login.php");
}
echo 
"Dang nhap thanh cong";
?>
PHP Code:
<?php
//login.php
session_start();
if (isset(
$_POST***91;"login"***93;))
{
     
$username trim($_POST***91;"username"***93;);
     
$password $_POST***91;"password"***93;;
     if (
$username == "1" && $password == "1")
     {
          
$_SESSION***91;"admin"***93; = true;
          
header("location: index.php");
     } 
}
?>
<form method="post">
  Username: <input type="text" name="username" /><br />
  Pasword: <input type="password" name="password" /><br />
  <input type="submit" name="login" /> 
</form>
1024KB viết 13:00 ngày 10/10/2018
Sửa lại file index:
PHP Code:
//..
if(!isset($_SESSION***91;'admin'***93;)) {
     
header('location:login.php');
}
//..
//-->
if( ! isset($_SESSION***91;'login'***93;)) {
     
header('location:login.php');
}
//.. 
bachhop72 viết 12:53 ngày 10/10/2018
Không đựoc bạn ạ, ai giúp mình với, mình cứ đăng nhập đúng thì nó lại hiện đăng nhập, đăng nhập sai thì nó mới hiện chữ đăng nhập sai, vậy là sao nhỉ,
langtusitinh225 viết 12:54 ngày 10/10/2018
"đăng nhập đúng thì nó lại hiện đăng nhập"
Câu này ý là sao nhỉ? :-?
thuyduongcd viết 12:56 ngày 10/10/2018
<?php
if($_SESSION["login"]== NULL or $_SESSION["login"] <> "ok" )
{
//chua dang nhap
echo '<script language="JavaScript" type="text/javascript">
document.location="http://localhost/administrator/login.php";
</script>
';
}
?>
Chưa khởi tạo SESSION mà đã sử dụng thì đằng nào chẳng false. Thế nên bỉ direct tới trang đăng nhập là đúng rồi. Không ai đem session ra sử dụng rồi mới session_satrt bao giờ cả
Bài liên quan
0