2016-07-17 19 views
0

새로 고침시 세션 정보를 삭제하려고합니다. 여기서 문제는 새로 고침 할 때마다 데이터가 테이블에 계속 표시된다는 것입니다. 새로 고침시 테이블 데이터를 null로 설정하는 방법은 무엇입니까? 당신은 당신이 한 번을 검색 한 다음 모든 세션 변수를 삭제하려면새로 고침시 세션 삭제

<?php 
     $value = $_SESSION["data"]; 
     $query = "SELECT * FROM datas WHERE CONCAT(`code`,`name`, `ID`, `cost`) LIKE '%".$value."%'"; 
     $search = filterTable($query); 
    if (isset($_SESSION["data"])) { 
     if (basename($_SERVER['PHP_SELF']) != $_SESSION["data"]) { 
      session_destroy(); 
     } 
    } 
    function filterTable($query) 
    { 
     $connect = mysqli_connect("localhost", "root", "", "databasename"); 
     $filter = mysqli_query($connect, $query); 
     return $filter; 
    } 

?> 
+0

여기에서 자바 스크립트를 사용할 수 있습니다. 'Document.ready'기능에서 테이블을 지울 수 있습니다. 따라서 새로 고칠 때마다 테이블이 비게됩니다. –

+0

어쩌면 문제는이 조건입니다. if (basename ($ _ SERVER [ 'PHP_SELF'])! = $ _SESSION [ "data"]). 이것을 다시 확인하십시오. –

답변

0

, 당신은 PHPs session_unset() 기능을 사용할 수 있습니다. 코드에서

그것은 것 : 페이지, $value가 null해야한다 새로 고침 그렇게 할 때

$value = $_SESSION["data"]; 
    $query = "SELECT * FROM datas WHERE CONCAT(`code`,`name`, `ID`, `cost`) LIKE '%".$value."%'"; 
    $search = filterTable($query); 
if (isset($_SESSION["data"])) { 
    if (basename($_SERVER['PHP_SELF']) != $_SESSION["data"]) { 
     session_unset(); 
    } 
} 

이 모든 세션 데이터를 삭제해야합니다.

또한 unset()을 사용하여 값을 제거 할 수 있습니다. 예 :

unset($_SESSION['data']); 
+0

안녕하세요, 안타깝게도 세션이 파괴되지 않았습니다. ( – xodebox95

0

하나의 다른 방법은 빈 배열로 세션을 설정하는 것입니다, 그것은 당신에게 도움이 될 :

는 하늘의 배열을 설정 한 후 파괴하고 먼저 시도 않았다

$_SESSION = array(); 

편집 like :

session_destroy(); 
$_SESSION = array(); 

어쩌면이 게시물이 도움이 될 수 있습니다. 너 : why session_destroy() not working

+0

이 작업이 진행되지 않거나 잘못된 순서로 배치 되었습니까? – xodebox95

관련 문제