PHP - authorize only one area of the website to the user

0

I have a search bar that only registered people can access. until that's fine my code is working, the problem with each search in the search bar credentials are requested, ie my code requires every time you log in. but I just want to ask you to log in when the person has logged out.

My code:

<?php

include("config.php");

    if(!isset($_SESSION['user'])){
        echo "you are not logged in,please click here to <a href='memberarea.html'>Login</a>";
    } else{

 $query = $_GET['query']; 


    $min_length = 3;


    if(strlen($query) >= $min_length){ 

        $query = htmlspecialchars($query); 


        $query = mysqli_real_escape_string($conn,$query);

      $row_results = mysqli_query($conn,"SELECT * FROM books WHERE 'Title' LIKE '%".$query."%' OR 'category' LIKE '%".$query."%'") or die(mysqli_error($conn));


        if(mysqli_num_rows($row_results) > 0){ 

            while($results = mysqli_fetch_array($row_results)){

                echo "<p><h3>".$results['Title']."</h3>".$results['category']."</p>";

            }

        }
        else{ 
            echo "No results";
        }

    }
    else{ 
        echo "Minimum length is ".$min_length;
    }
    }
?>
    
asked by anonymous 07.05.2017 / 11:41

2 answers

1

When I used this in php I did so on all pages

if (!isset($_SESSION["logado"])) {
   $_SESSION["logado"] = false;
   session_start();
}
    
07.05.2017 / 16:33
0

To start a session, we use the session_start () function. For good operation, it can not be after any data OUTPUT (echo, print, HTML codes, etc.). It is recommended that you be in the first line of the code.

If in your include ("config.php"); session_start() is not called

 <?php
 session_start();

 include("config.php");
    
07.05.2017 / 18:27