2017-11-15 11 views
1

ログインページを作成した後、別のページ(インデックス)にリダイレクトしてから別のページを<a href=''></a>コードに接続しました。私がページをログアウトすると、ユーザーが再度ログインするまでインデックスページと関連ページが破棄されます。ここログイン後、別のページにリダイレクトしてセッションを終了し、ログアウトした後にセッションを破棄します。

は私のログイン

<?php 
if(isset($_POST['submit'])) 
{ 
    $user=$_POST['user']; 
    $password=$_POST['password']; 
    $query="select * from users"; 
    $con=mysqli_connect('localhost','root','','fileprogramsysteeem'); 
    $run=mysqli_query($con,$query); 
    if(mysqli_num_rows($run)>0) 
    { 
     if($row=mysqli_fetch_array($run)) 
     { 
      $u_name=$row['user']; 
      $u_password=$row['password']; 
      if($user==$u_name && $password==$u_password) 
      { 
       if(isset($_POST['remember'])) 
       { 
        setcookie('user',$user,time()+60*60*7); 
        setcookie('password',$password,time()+60*60*7); 
       } 
       session_start(); 
       $_SESSION['user']=$user; 
       echo "<script> window.location.assign('../index.php'); </script>"; 
       exit();   
      } 
      else 
      { 
       echo"<script>alert('incorrect user name or password')</script>"; 
       echo "<script> window.location.assign('login.php'); </script>"; 
      } 
     }  
    } 
    else 
    { 
     echo"<script>alert('incorrect user name or password')</script>"; 
    } 

} 
?> 

のコードであり、これは私のログアウトページのコードで、それはそれを書くためにどのように、インデックスとインデックス部とすべての関連ページを破壊する必要があり、ログアウト、私はときに、ユーザーのクリックを望んでいましたコード

<?php 
session_start(); 
if(isset($_COOKIE['user']) and isset($_COOKIE['password'])) 
{ 
    $user=$_COOKIE['user']; 
    $password=$_COOKIE['password']; 
    setcookie('user',$user,time()-1); 
    setcookie('password',$password,time()-1); 
} 
header("location:./login.php"); 
exit(); 
?> 

お願いします。

私はsession_destroy()をどのように使用するのですか。ログアウトをクリックすると、再度ログインするまでインデックスページが破棄されます。ここ

は、あなたが簡単にsession_destroy()機能を使用することができ、セッションを破棄するにインデックスコード

<?php require_once('inc/top.php');?> 
    <body> 
     <div id="wrapper"> 
      <?php require_once('inc/header.php'); 
      $total_num_page=2; 
      if (isset($_GET['page'])){$page_id = $_GET['page'];} 
      else{$page_id = 1;} 
      $search = '' ; 
      if(isset($_POST['search'])){$search = urldecode($_POST['search']);} 
      else if(isset($_GET['search'])){$search = urldecode($_GET['search']);} 
      if ($search){ 
       $all_post_query = "SELECT COUNT(*) 
       FROM files 
       WHERE recieved_by LIKE '%".$search."%' 
       OR processed_by LIKE '%".$search."%' 
       OR purpose LIKE '%".$search."%' 
       OR file_name LIKE '%".$search."%' 
       ORDER BY date DESC"; 
       $all_stmt=$db->prepare($all_post_query); 
       $all_stmt->execute(); 
       $all_post=$all_stmt->fetch(); 
       $total_page = ceil($all_post/$total_num_page); 
       $page_start_from = ($page_id - 1) * $total_num_page; 
      } 
      else { 
       $all_post_query = "SELECT COUNT(*) FROM files ORDER BY date DESC"; 
       $all_stmt=$db->prepare($all_post_query); 
       $all_stmt->execute(); 
       $all_post=$all_stmt->fetch(); 
       $total_page = ceil($all_post/$total_num_page); 
       $page_start_from = ($page_id - 1) * $total_num_page; 
      } 
      ?> 
      <div class="container-fluid body-section " style="margin-top:90px;margin-bottom:300px;"> 
       <div class="row"> 
        <div class="col-xs-12 col-sm-12 col-md-12"> 
         <h1><i class="fa fa-hand-o-down" aria-hidden="true"> File List </i></h1> 
         <a href="letterfile.php"> 
          <button type="button" style=" margin-left:190px; margin-top:-70px;" class="btn btn-primary"> 
           <i class="fa fa-envelope-o" aria-hidden="true">Case for Letter</i> 
          </button> 
         </a> 
         <a href="callfile.php"> 
          <button type="button" class="btn btn-default" style=" margin-left:210px; margin-top:-70px; background:#880E4F;"> 
           <i class="fa fa-phone-square"aria-hidden="true" style="color:white;"> 
            <font color="white">Case for Call</font> 
           </i> 
          </button> 
         </a> 
         <a href="dustbinfile.php"> 
          <button type="button" class="btn btn-danger" style=" margin-left:150px; margin-top:-70px;"> 
           <i class="fa fa-book" aria-hidden="true">Filed Case</i> 
          </button> 
         </a> 
         <div class="col-md-4 col-md-offset-7 search-box"> 
          <form action="index.php" class="search-form" method="post"> 
           <div class="form-group has-feedbacck"> 
            <label for="search" class="sr-only">Search:</label> 
            <input type="text" class="form-control" name="search" id="search" placeholder="Search Here" /> 
            <input type="submit" class="Goform" name="submitSearch" value="Go!"/> 
            <span class="glyphicon glyphicon-search form-control-feedback"></span> 
           </div> 
          </form> 
         </div><hr /> 
         <table class="table table-hover table-striped"> 
          <thead> 
           <tr> 
            <th>Id</th> 
            <th>File-name</th> 
            <th>Purpose</th> 
            <th>Recieved-By </th> 
            <th>Processed-By</th> 
            <th>Adress</th> 
            <th>Contact-No</th> 
            <th>Date</th> 
            <th>Update</th> 
           </tr> 
          </thead> 
          <tbody><?php if($search){ 
           $stmt=$con->prepare("SELECT * FROM files WHERE recieved_by LIKE '%$search%' OR processed_by LIKE '%$search%' OR purpose LIKE '%$search%' OR file_name LIKE '%$search%' ORDER BY date DESC LIMIT $page_start_from, $total_num_page"); 
           } 
           else{$stmt=$con->prepare("select * from files order by date desc limit $page_start_from, $total_num_page");} 
           if($stmt->execute()){ 
            while($row=$stmt->fetch()){ 
             $c_id=$row['id']; 
             $file=$row['file_name']; 
             $purpose=$row['purpose']; 
             $recieve=$row['recieved_by']; 
             $processed=$row['processed_by']; 
             $address=$row['address']; 
             $contact=$row['contact_no']; 
             $date=$row['date']; 
            ?> 
           <tr> 
            <td><a href="post.php?post_id=<?php echo $c_id?>"><?php echo $c_id;?></a></td> 
            <td><a href="post.php?post_id=<?php echo $c_id?>"><?php echo $file;?></a></td> 
            <td><a href="post.php?post_id=<?php echo $c_id?>"><?php echo $purpose;?></a></td> 
            <td><a href="post.php?post_id=<?php echo $c_id?>"><?php echo $recieve;?></a></td> 
            <td><a href="post.php?post_id=<?php echo $c_id?>"><?php echo $processed;?></a></td> 
            <td><a href="post.php?post_id=<?php echo $c_id?>"><?php echo $address;?></a></td> 
            <td><a href="post.php?post_id=<?php echo $c_id?>"><?php echo $contact;?></a></td> 
            <td><a href="post.php?post_id=<?php echo $c_id?>"><?php echo $date;?></a></td> 
           </tr> 
           <?php 
            } 
           } 
           else{ 
            echo "No Related File Found Here "; 
           } 
           ?> 
          </tbody> 
         </table> 
        <nav id="pagination"> 
         <ul class="pagination"> 
         <?php 
          $search_str = ''; 
          if($search){ 
           $search_str = "&search=" . urlencode($search); 
          } 
          for ($i=1;$i<=$total_page;$i++)echo " 
          <li class='".($page_id == $i ? 'active' : '')."'><a href='index.php?page=" . $i . $search_str . "'>$i</a></li>"; 
         ?> 
         </ul> 
        </nav> 
       </div> 
      </div> 
     </div> 
     <?php require_once('inc/footer.php');?> 
+0

Mean 'session_destroy'? – Akintunde007

+0

@Akintundeはい、あなたは正しいです質問を編集しました – Raj

+0

index.htmlのコードをここに投稿 – GYaN

答えて

2

です。次に、他のすべてのページが他のページに制限されるようにする必要があります(アクセス可能なログインユーザーのみ)。これを行うには、各ページの上部にこれらの種類のPHPコードを使用することができます。

<?php 
session_start(); 
//This will check that user is logged in or not 
if(!isset($_SESSION['user']) 
{ 
    //this will redirect user to log in page if he is not logged user 
    header("location:./login.php"); 
} 
?> 

いくつかのいずれかがログインせずにページにアクセスしようとする場合は、$ _SESSION [「ユーザー」]には何もありません。したがって、ページにログインするようにリダイレクトされます。

(毎回データベースとセッション変数を確認する場合)

+0

これはうまくいくと思います – GYaN

+0

セッション変数をチェックしてみてくださいログイン時に毎回データベースを作成します(ユーザー名で十分です)。私はそれがより安全だと思う。 –

関連する問題