检查登录html页面

时间:2016-02-21 14:31:49

标签: php html session

所以我有一个login.php启动会话并设置'login',然后将用户重定向到html页面(pTable.html),如下所示:

<?ph
//starting session
session_start();
//connecting to database and such
echo $_SESSION['login'];
define('DB_NAME', '');
define('DB_USER', '');
define('DB_PASSWORD', '');
define('DB_HOST', '');

$link = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD);

if (!$link) {
 die('Could not connect: ' .mysqli_error());
}

$db_selected = mysqli_select_db( $link, DB_NAME);

if (!$db_selected) {
 die('Could not connect: ' .mysqli_connect_error());
}

$username = $_POST['username'];
$password = $_POST['password'];
$username = mysqli_real_escape_string($link,$username);
$password = mysqli_real_escape_string($link,$password);
$sql = "SELECT * FROM mainLogin WHERE username = '$username'";

$result = mysqli_query($link, $sql);

$count=mysqli_num_rows($result);
  if($count==1){
    $row = mysqli_fetch_assoc($result);
    if ($password == $row['password']){ 
//IMPORTANT PART
//IMPORTANT PART
//IMPORTANT PART
//IMPORTANT PART
      $_SESSION["login"] = $username;
      echo "<script> window.location.assign('http://madsanker.dk.linux101.unoeuro-server.com/ptable/pTable.html'); </script>";
        return true;
    }
    else {
        echo "<script> window.location.assign('http://madsanker.dk.linux101.unoeuro-server.com'); </script>";
        return false;
    }
}
else{
    echo "<script> window.location.assign('http://madsanker.dk.linux101.unoeuro-server.com'); </script>";
    return false;
}
mysqli_close($link);
?>

我正在检查我的html文件中的会话变量,如下所示:

<!DOCTYPE html>
<?php
session_start();
if (!isset($_SESSION['login'])) {
  header('HTTP/1.1 403 Forbidden');
  exit();
}
?>
<html>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link id="pagestyle" rel="stylesheet" type="text/css" href="pTableStylesheet.css">
<title>Periodic Table</title>
<head>
<script src="script.js" type=text/javascript></script>
<p id=welcome>Welcome to our Periodic Table Of Elements.<br>
  ...
  ...
  ...
  ...

当我从未登录的浏览器转到ptable.html页面时,我应该被重定向到错误页面吗?

这不起作用。谁能明白为什么?

感谢。

1 个答案:

答案 0 :(得分:0)

将文件名从ptable.html更改为ptable.php以运行php代码。

并使用以下代码重定向到login.php如果没有登录,并尝试访问ptable页面。

<?php
session_start();
if (!isset($_SESSION['login'])) {
  header("Location: login.php");
exit();
}

同时更改您使用ptable.html到ptable.php的链接或操作