У меня есть страница входа. Она должна отображаться, когда люди вошли в систему, но люди могут получить к ней доступ без входа. - PullRequest
0 голосов
/ 13 ноября 2018

У меня есть страница входа. Она должна отображаться при входе в систему. Но пользователи могут получить доступ к ней без входа. Я пробовал много способов, но ни один из них не работает.

Но та же программа работает на моем локальном сервере, когда я загружаю на свой Cpanel, она не работает.

вот мои проверенные коды Страница входа login.php

      <form action="validation.php" method="post" id="form-box" class="p-2">
      <div class="form-group input-group">
        <div class="input-group-prepend">
          <span class="input-group-text"><i class="fas fa-user"></i></span>
        </div>
        <input type="text" name="username" class="form-control" 
     placeholder="Enter your name" required>
      </div>
      <div class="form-group input-group">
        <div class="input-group-prepend">
          <span class="input-group-text"><i class="fas fa-envelope"></i> 
     </span>
        </div>
     <input  type="password" name="password" class="form-control" 
      placeholder="Enter your Password" required>
     </div>

     <div class="form-group">
    <input type="submit" name="submit" id="submit" class="btn btn- 
   primary btn-block" value="Send">
    </div>
    </form>

код страницы validation.php здесь

<?php ob_start (); ?>
<?php

session_start();

include("inc/db.php");
$username = $_POST['username'];
$password = $_POST['password'];
$q = " select * from user where username = '$username' && password = 
'$password' ";
 $result = mysqli_query($con, $q);

$num = mysqli_num_rows($result);

if($num == 1){

$_SESSION['username'] = $username;
$redirect_page ='insertarticle.php';
$redirect = True ;
if ($redirect==true)
{
header('location: '.$redirect_page);
}

}else{

$redirect_page ='login.php';
$redirect = True ;
if ($redirect==true)
{
header('location: '.$redirect_page);
}
}

ob_end_clean();

?>

код страницы logout.php

<?php

session_start();
session_unset();

header('location:login.php');


?>

код страницы insertarticle.php

  <?php ob_start (); ?>
  <?php
   session_start();
   include("inc/db.php");

   if(!isset($_SESSION['username'])){
      header('location:login.php');
   }
   ob_end_clean();
 ?>

Я также пытался с

<?php

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

 ?>

или

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

?>

> или

<?php ob_start (); ?>
<?php
include("inc/db.php");
session_start();
$username='username';
if( isset($_SESSION['username']) ) {

echo "welcome" ;
}
else
{
header ('location: login.php');
exit();
}
ob_end_clean();

?>

Пожалуйста, помогите мне, никто не работает на веб-сервере, но работает на локальном сервере Wamp или Xamp!

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