Javascript 如何在php中的所有页面中检查登录页面重定向

Javascript 如何在php中的所有页面中检查登录页面重定向,javascript,php,html,mysql,Javascript,Php,Html,Mysql,我的索引页工作得很好。但同时直接呼叫主页意味着它的开放 我想如果任何页面调用检查登录。已经登录意味着进入该页面。或者转到登录页面 任何主体都给出登录会话的编码 这是我的登录码 <?php session_start(); include 'connect.php'; if(isset($_POST['validate'])) { $username = mysqli_real_escape_string($mysqli,$_POST['username']); $pass

我的索引页工作得很好。但同时直接呼叫主页意味着它的开放

我想如果任何页面调用检查登录。已经登录意味着进入该页面。或者转到登录页面

任何主体都给出登录会话的编码

这是我的登录码

<?php
session_start();
include 'connect.php';
if(isset($_POST['validate']))
{
    $username = mysqli_real_escape_string($mysqli,$_POST['username']);
    $pass = mysqli_real_escape_string($mysqli,$_POST['password']);
    $sel_user = " select * from user where username='$username' AND password='$pass'";
    $run_user = mysqli_query($mysqli, $sel_user);
    $check_user = mysqli_num_rows($run_user);
    if($check_user>0)
    {
        $_SESSION['user_name']=$username;
        echo "<script>window.open('home.php','_self')</script>";
    }
    else
    {
        echo "<script>alert('Email or password is not correct, try again!')   </script>";
        echo "<script>window.open('index.php','_self')</script>";
    }
}

您在启动会话时未检查用户名和密码。密码也应该被散列。注意sql注入。使用事先准备好的陈述

<?php
include 'connect.php';
if(isset($_POST['validate']))
{
    $username = mysqli_real_escape_string($mysqli,$_POST['username']);
    $pass = mysqli_real_escape_string($mysqli,$_POST['password']);
    $sel_user = " select * from user where username='$username' AND password='$pass'";
    $run_user = mysqli_query($mysqli, $sel_user);
    $check_user = mysqli_num_rows($run_user);
    if($check_user>0)
    {       
            session_start();
            $_SESSION['logged_in'] = true;
            session_regenerate_id(true);
            header("Location:home.php");

    }
    else
    {
        echo "<script>alert('Email or password is not correct, try again!')   </script>";
        echo "<script>window.open('index.php','_self')</script>";
    }
}

我已尝试使用此代码,但无法正常工作我希望主页也使用登录或不登录进行检查您可以添加此代码以检查用户是否登录。示例:if(!$\u SESSION['logged\u in']){SESSION_destroy();header(“Location:inputnow.php”);但上面给出的代码用户名显示在1上。在用户名正确显示之前。并直接呼叫主页。如果用户未登录,则呼叫主页意味着转到登录页。您可以添加此项以显示用户名:$\u会话['user\u name]=$username;最后查看我的更新答案。这应该可以解决您的问题。
session_start();
if(!$_SESSION['logged_in']){
 session_destroy();
 header("Location: login.php");