2017-10-09 30 views
-1
<?php 
session_start(); 
include_once 'db.login.php'; 

if (isset($_SESSION['users']) != "") { 
    header("Location: profile.php"); 
} 

if (isset($_POST['btn-login'])) { 
    $username = mysqli_real_escape_string($con, $_POST['username']); 
    $upass = mysqli_real_escape_string($con, $_POST['password']); 
    $res = mysqli_query($con, "SELECT * FROM users WHERE username='$username'"); 
    $row = mysqli_fetch_array($res); 

    if ($row['password'] == md5($upass)) { 
     $_SESSION['users'] = $row['id']; 
     header("Location: profile.php"); 
    } else { 
     $err = "<p style='color: red'>Wrong Username or Password</p>"; 
     ?> 
     <?php 
    } 
} 
?> 

方法,我想,但它似乎並沒有顯示任何呼應現有會話的用戶名PHP

<?= $_SESSION['username'] ?>"> 

我基本上看呼應登錄會話的用戶名

+0

你是否確實存在?試試'var_dump($ _ SESSION ['username'])''。 – poletaew

+0

你打算在哪裏打印? –

+1

'if(isset($ _ SESSION ['users'])!=「」)'是一種誤報方法。 –

回答

-1
<?php 
session_start(); 
include_once 'db.login.php'; 

if(isset($_SESSION['users']) && $_SESSION['users'] != "") 
{ 
    header("Location: profile.php"); 
    exit(); 

} 

if(isset($_POST['btn-login'])) 
{ 
    $username = mysqli_real_escape_string($con, $_POST['username']); 
    $upass = mysqli_real_escape_string($con, $_POST['password']); 
    $res=mysqli_query($con, "SELECT * FROM users WHERE username='$username'"); 
    $row=mysqli_fetch_array($res); 

    if($row['password'] == md5($upass)) 
    { 
     $_SESSION['users'] = $row['id']; 
     $_SESSION['username'] = $row['username']; 


     header("Location: profile.php"); 
    } 
    else 
    { 
      $err = "<p style='color: red'>Wrong Username or Password</p>"; 
     ?> 

     <?php 
    } 
} 
?> 

你沒有定義$_SESSION['username']任何地方。

+0

你需要更好地解釋答案,它也是不安全的。 –

1

您填寫會議

$_SESSION['users'] 

但呼應

$_SESSION['username']