Редирект L oop после расположения заголовка - PullRequest
0 голосов
/ 20 февраля 2020

Доброе утро, я имею дело с существующим кодом, и мне нужно решить проблему: когда вы пишете URL-адрес без входа в Интернет, вы можете увидеть соответствующую страницу (кроме макета), что мне нужно, чтобы перенаправить на логин, чтобы избежать этого. Таким образом, вы можете видеть страницу без входа в систему

Проверка кода, который я видел, выглядит следующим образом:

layout. php

<body>
<?php if(isset($_SESSION["user_id"])):?>
    HTML code (Logo, menu...)
<?php else:?>
  <?php 
  View::load("login");
    ?>
<?php endif;?>
</body>

Если я изменю «View :: load (« login »);» to "header (" Location: index. php "); exit ();", это вызывает Infinite l oop и ничего не загружает. Я много исследовал в Stackoverflow и на других сайтах, но не нашел решения. Есть идеи?

ОБНОВЛЕНИЕ:

просмотр индекса. php

<div class="container">
<div class="row">
<div class="col-md-12">
<h1>LegoBox</h1>
</div>
</div>
</div>

просмотр входа в систему. php

<?php
if(Session::getUID()!=""){
        print "<script>window.location='index.php?view=home';</script>";
}

?>
<div class="container">
<div class="row">
        <div class="col-md-4 col-md-offset-4">
        <?php if(isset($_COOKIE['password_updated'])):?>
            <div class="alert alert-success">
            <p><i class='glyphicon glyphicon-off'></i> Se ha cambiado la contraseña exitosamente.</p>
            <p>Pruebe iniciar sesion con su nueva contraseña.</p>

            </div>
        <?php setcookie("password_updated","",time()-18600);
         endif; ?>

<div class="card">
  <div class="card-header" data-background-color="lemon">
      <h4 class="title">Acceder</h4>
  </div>
  <div class="card-content table-responsive">
                    <form accept-charset="UTF-8" role="form" method="post" action="index.php?view=processlogin">
                    <fieldset>
                        <div class="form-group">
                            <input class="form-control" placeholder="Usuario" name="mail" type="text">
                        </div>
                        <div class="form-group">
                            <input class="form-control" placeholder="Contraseña" name="password" type="password" value="">
                        </div>
                        <input class="btn btn-primary btn-block" type="submit" value="Iniciar Sesion" style="background-color:#339c24">
                    </fieldset>
                    </form>
                    </div>
                    </div>
        </div>
    </div>
</div>

processlogin -вид. php

<?php
if(Session::getUID()=="") {
$user = $_POST['mail'];
$pass = sha1(md5($_POST['password']));

$base = new Database();
$con = $base->connect();
 $sql = "select * from user where (email= \"".$user."\" or username= \"".$user."\") and password= \"".$pass."\" and is_active=1";
//print $sql;
$query = $con->query($sql);
$found = false;
$userid = null;
while($r = $query->fetch_array()){
    $found = true ;
    $userid = $r['id'];
}

if($found==true) {
//  print $userid;
    ini_set('session.cookie_lifetime', 60 * 60 * 24 * 7);
    $_SESSION['user_id']=$userid;
//  setcookie('userid',$userid);
//  print $_SESSION['userid'];
    print "Cargando ... $user";
    print "<script>window.location='index.php?view=home';</script>";
}else {
    print "<script>window.location='index.php?view=login';</script>";
}

}else{
    print "<script>window.location='index.php?view=home';</script>";

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