PHP, MYSQL показывать сайт только после входа - PullRequest
0 голосов
/ 16 мая 2018

Я пытаюсь создать сайт, на котором вам нужно войти, чтобы получить доступ к странице.Все работает нормально, но я хочу предотвратить прямой доступ.

loginserver.php:

<?php
$error=''; //Variable to Store error message;
if(isset($_POST['submit'])){
    if(empty($_POST['user']) || empty($_POST['pass'])){
        $error = "Username or Password is Invalid";
    }
    else
    {
        //Define $user and $pass
        $user=$_POST['user'];
        $pass=$_POST['pass'];
        //Establishing Connection with server by passing server_name, user_id and pass as a patameter
        $conn = mysqli_connect("localhost", "root", "");
        //Selecting Database
        $db = mysqli_select_db($conn, "test");
        //sql query to fetch information of registerd user and finds user match.
        $query = mysqli_query($conn, "SELECT * FROM userpass WHERE pass='$pass' AND user='$user'");

        $rows = mysqli_num_rows($query);
        if($rows == 1){
            header("Location: welcome.php"); // Redirecting to other page
        }
        else
        {
            $error = "Username of Password is Invalid";
        }
        mysqli_close($conn); // Closing connection
    }
}

?>

Welcome.php

<!doctype html>
<html>
<head>
<meta charset="UTF-8">
</head>
<body>
<h1>Welcome</h1>
</body>
</html>

1 Ответ

0 голосов
/ 16 мая 2018
In loginserver.php page you have to start session at top of page.

<?php
session_start();
include('conn.php');

//  rest of code...

    $row = mysql_fetch_array($query);
if($rows == 1){
    $_SESSION['uname'] = $row['user'];

            header("Location: welcome.php"); // Redirecting to other page
        }
?>  

after that check it in welcome.php page check session variable coming from user login page is active or not.    

<?php
session_start();
include('conn.php');

if(!isset($_SESSION['uname'])){
 header("Location:loginserver.php");    
}
?>

Надеюсь, это работает для вас.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...